Dell DX6004S DX Object Storage Application Guide - Page 66

Lifepoint/Lifecycle Specification, 4. Constraint Types

Page 66 highlights

If the current date is between the first and second lifepoints, the Health Processor allows the number of replicas to decrease, perhaps leaving only a single replica. However, the fact that this lifepoint specifies the deletable constraint enables a client to delete the content by sending a DELETE SCSP message with the object's name or UUID. Even if that doesn't happen, the object will be automatically deleted at the next checkup after June 8, 2008, as soon as the last lifepoint becomes effective. Note the last lifepoint has no end date, meaning it is in effect for all time after June 8. 16.3. Lifepoint/Lifecycle Specification One or more lifepoints can be specified by attaching Lifepoint entity headers to an SCSP WRITE message. The syntax of this entity header is shown in Augmented Backus-Naur Form (BNF) syntax as follows: lifepoint = "lifepoint" ":" end-date 1#constraint end-date = "[" [HTTP-date] "]" constraint = replication-constraint | delete-constraint | deletable-constraint replication-constraint = "reps" "=" 1*DIGIT delete-constraint = "delete" ["=" ("yes" | "no")] deletable-constraint = "deletable" ["=" ("yes" | "no")] Note the following: • HTTP-date, if used, must adhere to the Full Date Section 3.3.1 of the HTTP/1.1 specification, meaning that time must be specified in Greenwich Mean Time (GMT), without exception. When interacting with DX Storage, GMT is exactly equal to UTC (Coordinated Universal Time). • Lifepoints do not build upon one another, but rather stand alone as a complete specification of the constraints that apply to the object in a given date range. The complete set of constraints for a given end date should be included in the lifepoint header, for instance: lifepoint: [] reps=1,deletable=no should be used rather than: lifepoint: [] reps=1 lifepoint: [] deletable=no to express the constraints effective at the [] lifepoint. • The delete constraint does not take a value and, if used, cannot include end-date. For additional details about the reps and delete constraints, see the next section. 16.4. Constraint Types Constraint names and values are parsed by DX Storage object classes called ConstraintSpecialists that are concerned with maintaining one or more related constraints. For example the reps constraint is parsed and maintained by the ReplicationConstraintSpecialist. In general, constraint names are case-sensitive, and constraint names not recognized by any of the ConstraintSpecialists are ignored. Thus, the set of allowable constraints is extensible and new constraint types might be added to the system in future releases. Constraint names and arguments recognized by the ConstraintSpecialists included in DX Storage are given below, along with descriptions of how the various ConstraintSpecialists work. Copyright © 2010 Caringo, Inc. All rights reserved 61 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
61
Version 5.0
December 2010
If the current date is between the first and second lifepoints, the Health Processor allows the
number of replicas to decrease, perhaps leaving only a single replica. However, the fact that this
lifepoint specifies the
deletable
constraint enables a client to delete the content by sending a
DELETE SCSP message with the object's name or UUID.
Even if that doesn't happen, the object will be automatically deleted at the next checkup after June
8, 2008, as soon as the last lifepoint becomes effective. Note the last lifepoint has no end date,
meaning it is in effect for all time after June 8.
16.3. Lifepoint/Lifecycle Specification
One or more lifepoints can be specified by attaching Lifepoint entity headers to an SCSP WRITE
message. The syntax of this entity header is shown in
Augmented Backus-Naur Form (BNF)
syntax
as follows:
lifepoint = "lifepoint" ":" end-date 1#constraint
end-date = "[" [HTTP-date] "]"
constraint = replication-constraint | delete-constraint | deletable-constraint
replication-constraint = "reps" "=" 1*DIGIT
delete-constraint = "delete" ["=" ("yes" | "no")]
deletable-constraint = "deletable" ["=" ("yes" | "no")]
Note the following:
HTTP-date
, if used, must adhere to the
Full Date Section 3.3.1
of the HTTP/1.1 specification,
meaning that time must be specified in Greenwich Mean Time (GMT), without exception. When
interacting with DX Storage, GMT is exactly equal to UTC (Coordinated Universal Time).
Lifepoints do not build upon one another, but rather stand alone as a complete specification of
the constraints that apply to the object in a given date range. The complete set of constraints for a
given end date should be included in the lifepoint header, for instance:
lifepoint: [] reps=1,deletable=no
should be used rather than:
lifepoint: [] reps=1 lifepoint: [] deletable=no
to express the constraints effective at the
[]
lifepoint.
• The
delete
constraint does not take a value and, if used, cannot include
end-date
.
For additional details about the
reps
and
delete
constraints, see the next section.
16.4. Constraint Types
Constraint names and values are parsed by DX Storage object classes called
ConstraintSpecialists
that are concerned with maintaining one or more related
constraints. For example the
reps
constraint is parsed and maintained by the
ReplicationConstraintSpecialist
. In general, constraint names are case-sensitive,
and constraint names not recognized by any of the
ConstraintSpecialists
are ignored.
Thus, the set of allowable constraints is extensible and new constraint types might be
added to the system in future releases. Constraint names and arguments recognized by the
ConstraintSpecialists
included in DX Storage are given below, along with descriptions of how
the various
ConstraintSpecialists
work.