Dell DX6004S DX Object Storage Application Guide - Page 33

Named Object WRITE Details, 3. Unnamed Object WRITE Details, 4. Normal Responses to WRITE

Page 33 highlights

DX Storage makes no assumptions about User-Agent (except that it is an HTTP/1.1 client). The Host header is mandatory and must conform to the requirements of Section 14.23 of the HTTP/1.1 spec. 6.1.1. About the Expect: 100-continue Header and WRITE The Expect: 100-continue header tells the server that the client will wait after sending just the header lines and before sending the content stream in the body of the message. The DX Storage server can respond with a redirect, an error response, or if it is capable and ready to store the contents, it returns a 100 Continue response, telling the client to proceed with its transmission of the entity body. The client should wait for a 100 Continue response from the server before proceeding to send data. Otherwise, the server might send a 413 (Request entity too large error response) and close the connection. DX Storage allows the client to omit the Expect: 100-continue header, sending all the content data at once, in which case the server reads and discards all data if it must respond with a redirect or error. For WRITEs of more than 65536 bytes, DX Storage logs the following warning if the Expect header is not utilized: Please use Expect: 100-continue for large amounts of data. Additionally, if no node in the cluster has enough space to write the stream, a 507 Insufficient Storage error response is returned. 6.1.2. About Replicate On Write To force a first replication by DX Storage on receipt of the file, set the query argument: replicate=immediate. The value is case-sensitive, and all other values for replicate other than immediate are ignored. If either the replication or the initial write fail, both will fail, and the application returns a 412 error. This feature guarantees that two copies of the stream will be saved on different nodes before returning a 201 Created. 6.2. Named Object WRITE Details In contrast to an unnamed object, if you WRITE a named object that already exists, the existing object is overwritten with a new version. 6.3. Unnamed Object WRITE Details If you WRITE an unversioned stream, a new stream is created and a new UUID is returned. If you WRITE an anchor stream, a new stream is created and a new alias UUID is returned. To create unnamed anchor stream objects, alias=yes is required, as shown in the following example. POST /?alias=yes HTTP/1.1 Host: cluster.example.com User-Agent: DX Storage Client/0.1 6.4. Normal Responses to WRITE For a list of response headers, see Section 4.6, "Normal Response Headers". The following responses can be returned by the DX Storage cluster in the case where the new content stream can be created as requested. The content might be created and written to the cluster by the node to which the request was sent, or it might be redirected to another node in the cluster. HTTP/1.1 201 Created Date: Wed, 1 Sept 2010 15:59:02 GMT Copyright © 2010 Caringo, Inc. All rights reserved 28 Version 5.0 December 2010

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
  • 62
  • 63
  • 64
  • 65
  • 66
  • 67
  • 68
  • 69
  • 70
  • 71
  • 72
  • 73
  • 74
  • 75
  • 76
  • 77
  • 78
  • 79
  • 80
  • 81

Copyright © 2010 Caringo, Inc.
All rights reserved
28
Version 5.0
December 2010
DX Storage makes no assumptions about User-Agent (except that it is an HTTP/1.1 client). The
Host header is mandatory and must conform to the requirements of
Section 14.23
of the HTTP/1.1
spec.
6.1.1. About the Expect: 100-continue Header and WRITE
The
Expect: 100-continue header
tells the server that the client will wait after sending just the
header lines and before sending the content stream in the body of the message. The DX Storage
server can respond with a redirect, an error response, or if it is capable and ready to store the
contents, it returns a 100 Continue response, telling the client to proceed with its transmission of the
entity body. The client should wait for a 100 Continue response from the server before proceeding
to send data. Otherwise, the server might send a 413 (
Request entity too large
error
response) and close the connection.
DX Storage allows the client to omit the Expect: 100-continue header, sending all the content data
at once, in which case the server reads and discards all data if it must respond with a redirect
or error. For WRITEs of more than 65536 bytes, DX Storage logs the following warning if the
Expect header is not utilized:
Please use Expect: 100-continue for large amounts
of data
. Additionally, if no node in the cluster has enough space to write the stream, a
507 -
Insufficient Storage
error response is returned.
6.1.2. About Replicate On Write
To force a first replication by DX Storage on receipt of the file, set the query argument:
replicate=immediate
. The value is case-sensitive, and all other values for replicate other
than
immediate
are ignored. If either the replication or the initial write fail, both will fail, and the
application returns a 412 error. This feature guarantees that two copies of the stream will be saved
on different nodes before returning a 201 Created.
6.2. Named Object WRITE Details
In contrast to an unnamed object, if you WRITE a named object that already exists, the existing
object is overwritten with a new version.
6.3. Unnamed Object WRITE Details
If you WRITE an unversioned stream, a new stream is created and a new UUID is returned. If you
WRITE an anchor stream, a new stream is created and a new alias UUID is returned.
To create unnamed anchor stream objects,
alias=yes
is required, as shown in the following
example.
POST /?alias=yes HTTP/1.1
Host: cluster.example.com
User-Agent: DX Storage Client/0.1
6.4. Normal Responses to WRITE
For a list of response headers, see
Section 4.6, “Normal Response Headers”
.
The following responses can be returned by the DX Storage cluster in the case where the new
content stream can be created as requested. The content might be created and written to the cluster
by the node to which the request was sent, or it might be redirected to another node in the cluster.
HTTP/1.1 201
Created Date: Wed, 1 Sept 2010 15:59:02 GMT