1
0
Fork 0
arangodb/arangod/Utils
jsteemann 5f65a9ed4f allow more control over handling of pre-3.1 _rev values
this changes the server startup option `--database.check-30-revisions` from a boolean (true/false)
parameter to a string parameter with the following possible values:

- "fail":
  will validate _rev values of 3.0 collections on collection loading and throw an exception when invalid _rev values are found.
  in this case collections with invalid _rev values are marked as corrupted and cannot be used in the ArangoDB 3.1 instance.
  the fix procedure for such collections is to export the collections from 3.0 database with arangodump and restore them in 3.1 with arangorestore.
  collections that do not contain invalid _rev values are marked as ok and will not be re-checked on following loads.
  collections that contain invalid _rev values will be re-checked on following loads.

- "true":
  will validate _rev values of 3.0 collections on collection loading and print a warning when invalid _rev values are found.
  in this case collections with invalid _rev values can be used in the ArangoDB 3.1 instance.
  however, subsequent operations on documents with invalid _rev values may silently fail or fail with explicit errors.
  the fix procedure for such collections is to export the collections from 3.0 database with arangodump and restore them in 3.1 with arangorestore.
  collections that do not contain invalid _rev values are marked as ok and will not be re-checked on following loads.
  collections that contain invalid _rev values will be re-checked on following loads.

- "false":
  will not validate _rev values on collection loading and not print warnings.
  no hint is given when invalid _rev values are found.
  subsequent operations on documents with invalid _rev values may silently fail or fail with explicit errors.
  this setting does not affect whether collections are re-checked later.
  collections will be re-checked on following loads if `--database.check-30-revisions` is later set to either `true` or `fail`.

The change also suppresses warnings that were printed when collections were restored using arangorestore, and the restore
data contained invalid _rev values. Now these warnings are suppressed, and new HLC _rev values are generated for these documents
as before.
2016-11-04 23:17:01 +01:00
..
AqlTransaction.cpp Moved index creation to use LogicalCollection instead of TRI_collection_t. Involved changes of the constructor, all can now be created using iid and Slice. Removed specialized functions to create/find indixes in v8-voc index. Also the iteration is modified. This commit compiles but tests will fail. Merge commit. 2016-08-25 09:57:36 +02:00
AqlTransaction.h Merge branch 'MIT' of github.com:arangodb/arangodb into generic-col-types 2016-09-06 09:33:23 +02:00
CollectionExport.cpp Squashed commit of the following: 2016-10-24 10:18:30 +02:00
CollectionExport.h Squashed commit of the following: 2016-10-24 10:18:30 +02:00
CollectionGuard.h Removed all references on TRI_vocbase_col_t and replaced them by LogicalCollection class. Not everything is properly moved and implemetned yet. This commit causes crashes. 2016-08-17 11:10:39 +02:00
CollectionKeys.cpp Squashed commit of the following: 2016-10-24 10:18:30 +02:00
CollectionKeys.h Squashed commit of the following: 2016-10-24 10:18:30 +02:00
CollectionKeysRepository.cpp removed server.h 2016-07-25 16:49:52 +02:00
CollectionKeysRepository.h
CollectionNameResolver.cpp Fix error handling for ClusterInfo::getCollection. 2016-09-30 14:11:46 +02:00
CollectionNameResolver.h Removed all references on TRI_vocbase_col_t and replaced them by LogicalCollection class. Not everything is properly moved and implemetned yet. This commit causes crashes. 2016-08-17 11:10:39 +02:00
CollectionReadLocker.h Merge branch 'devel' of https://github.com/arangodb/arangodb into generic-col-types 2016-09-01 15:39:11 +02:00
CollectionWriteLocker.h Merge branch 'devel' of https://github.com/arangodb/arangodb into generic-col-types 2016-09-01 15:39:11 +02:00
Cursor.cpp Squashed commit of the following: 2016-10-24 10:18:30 +02:00
Cursor.h fix RestExportHandler 2016-08-29 21:27:05 +02:00
CursorRepository.cpp removed JsonParser 2016-08-19 12:39:26 +02:00
CursorRepository.h
DatabaseGuard.h some vocbase refactoring 2016-07-28 11:06:21 +02:00
Events.cpp fixed formatting 2016-10-06 14:56:32 +02:00
Events.h added more events 2016-10-06 14:14:38 +02:00
ExplicitTransaction.h removed server.h 2016-07-25 16:49:52 +02:00
OperationCursor.cpp Squashed commit of the following: 2016-10-24 10:18:30 +02:00
OperationCursor.h Squashed commit of the following: 2016-10-24 10:18:30 +02:00
OperationOptions.h
OperationResult.h
ReplicationTransaction.h some vocbase refactoring 2016-07-28 11:06:21 +02:00
SingleCollectionTransaction.cpp removed TRI_collection_t 2016-09-02 14:54:13 +02:00
SingleCollectionTransaction.h Moved index creation to use LogicalCollection instead of TRI_collection_t. Involved changes of the constructor, all can now be created using iid and Slice. Removed specialized functions to create/find indixes in v8-voc index. Also the iteration is modified. This commit compiles but tests will fail. Merge commit. 2016-08-25 09:57:36 +02:00
StandaloneTransactionContext.cpp escape Unicode characters in JSON dumps 2016-06-29 12:53:08 +02:00
StandaloneTransactionContext.h
Transaction.cpp allow more control over handling of pre-3.1 _rev values 2016-11-04 23:17:01 +01:00
Transaction.h Squashed commit of the following: 2016-10-24 10:18:30 +02:00
TransactionContext.cpp Squashed commit of the following: 2016-10-24 10:18:30 +02:00
TransactionContext.h Squashed commit of the following: 2016-10-24 10:18:30 +02:00
V8TransactionContext.cpp added a panic interrupt of memory gets low 2016-07-31 12:58:27 +02:00
V8TransactionContext.h
WorkMonitorArangod.cpp try to fix compile warning 2016-11-03 10:17:39 +01:00