1
0
Fork 0
arangodb/tests/js/server/recovery
Andrey Abramov be88d8d499 bug-fix/internal-issue-#609 (#9464) (#9520)
* allow to access last operation tick of the transaction

* modify IResearchLink to rely on last commtted tick

* get rid of writing arangosearch markers to WAL

* further implementation

* local changes in iresearch

* add recovery states

* properly handle link creation during recovery

* adjust test cases

* properly handle nested transactions

* ungreylist recovery tests

* add more recovery tests

* do not use transaction to pass recovery tick

* do not store recoveryTick in MMFilesRecoveryState

* adjust tests

* fix mmfiles

* cleanup

* add context validity check

* fix tests

* fix more tests

* ensure subscription is not being released during commit

* address review comment

* final cleanup

* fix crash

* fix tests

* address test failures

* address review comments

* address review comments

* properly set recovery tick even if no recovery happened

# Conflicts:
#	arangod/IResearch/IResearchLink.cpp
2019-07-19 14:01:33 +03:00
..
applier-restart.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
attributes.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
big-transaction-durability.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
collection-drop-recreate.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
collection-duplicate-name.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
collection-duplicate.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
collection-keygen-rocksdb.js Make recovery more reliable (#7297) 2018-11-19 13:59:18 +01:00
collection-keygen-traditional.js Fix tick overflow (#8840) 2019-04-26 11:07:04 +02:00
collection-keygen.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
collection-properties.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
collection-recreate.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
collection-rename-recreate-flush.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
collection-rename-recreate.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
collection-rename-with-data.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
collection-rename.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
collection-unload.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
collections-different-attributes.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
collections-reuse.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
collector-oom.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
corrupt-wal-marker-multiple.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
corrupt-wal-marker-single-mmfiles.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
corrupted-crc-datafile-mmfiles.js port some changes from 3.4 (#8011) 2019-01-29 09:26:57 +01:00
corrupted-crc-mmfiles.js port some changes from 3.4 (#8011) 2019-01-29 09:26:57 +01:00
countermanager-delay-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
countermanager-sync-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
create-and-drop-databases.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
create-collection-fail.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
create-collection-tmpfile-mmfiles.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
create-collections.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
create-database-existing.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
create-database-fail-mmfiles.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
create-database-recovery.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
create-databases.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
create-indexes.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
create-with-temp-mmfiles.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
create-with-temp-old-mmfiles.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
die-during-collector-mmfiles.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
disk-full-datafile.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
disk-full-logfile-data-mmfiles.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
disk-full-logfile-mmfiles.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
disk-full-no-collection-journal.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
documents.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
drop-collections.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
drop-database-and-fail.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
drop-database-flush-and-fail.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
drop-database-only-tmp-mmfiles.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
drop-databases.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
drop-index-shutdown.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
drop-index.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
drop-indexes.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
drop-single-collection.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
edges.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
empty-datafiles-mmfiles.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
empty-logfiles-mmfiles.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
encryption-keyfile don't make RocksDB startup fail with 0-byte log files (#9208) 2019-06-07 15:13:56 +02:00
flush-drop-database-and-fail.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
foxx-directories.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
indexes-after-flush.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
indexes-geo-potslot.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
indexes-geo.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
indexes-hash.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
indexes-inbackground-rocksdb.js test for broken indexes (#8103) 2019-02-05 09:38:31 +01:00
indexes-persistent-nosync.js Simplify recovery code (#8699) 2019-04-09 21:48:04 +02:00
indexes-persistent-restore.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
indexes-persistent.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
indexes-skiplist.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
indexes-sparse-hash.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
indexes-sparse-skiplist.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
indexes.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
insert-update-remove-distance.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
insert-update-remove.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
insert-update-replace.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
intermediate-commit-abort-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
intermediate-commit-aql-insert-abort-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
intermediate-commit-aql-insert-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
intermediate-commit-aql-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
intermediate-commit-aql-update-abort-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
intermediate-commit-big-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
intermediate-commit-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
intermediate-commit-truncate-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
intermediate-commits-babies-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
leftover-collection-directory-mmfiles.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
leftover-database-directory-mmfiles.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
many-documents.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
many-inserts.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
many-logs.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
many-updates.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
multi-database-durability.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
multiple-journals-2-mmfiles.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
multiple-journals-3-mmfiles.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
multiple-journals-mmfiles.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
multiple-logs.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
no-journal.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
no-shutdown-info-multiple-logs.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
no-shutdown-info-no-flush.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
no-shutdown-info-with-flush.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
nosync-collection-keygen-rocksdb.js Make recovery more reliable (#7297) 2018-11-19 13:59:18 +01:00
nosync-indexes-hash-rocksdb.js Make recovery more reliable (#7297) 2018-11-19 13:59:18 +01:00
nosync-rangedelete-collection-drop-indexes-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
nosync-rangedelete-collection-drop-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
nosync-rangedelete-truncate-indexes-rocksdb.js Simplify recovery code (#8699) 2019-04-09 21:48:04 +02:00
nosync-rangedelete-truncate-indexes2-rocksdb.js Simplify recovery code (#8699) 2019-04-09 21:48:04 +02:00
nosync-rangedelete-truncate-indexes3-rocksdb.js Make recovery more reliable (#7297) 2018-11-19 13:59:18 +01:00
nosync-rangedelete-truncate-multi-rocksdb.js Make recovery more reliable (#7297) 2018-11-19 13:59:18 +01:00
nosync-rangedelete-truncate-multi2-rocksdb.js Make recovery more reliable (#7297) 2018-11-19 13:59:18 +01:00
nosync-rangedelete-truncate-multi3-rocksdb.js Make recovery more reliable (#7297) 2018-11-19 13:59:18 +01:00
nosync-rangedelete-truncate-multi4-rocksdb.js Make recovery more reliable (#7297) 2018-11-19 13:59:18 +01:00
nosync-rangedelete-truncate-multi5-rocksdb.js Make recovery more reliable (#7297) 2018-11-19 13:59:18 +01:00
nosync-rangedelete-truncate-multi6-rocksdb.js Make recovery more reliable (#7297) 2018-11-19 13:59:18 +01:00
nosync-rangedelete-truncate-refill-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
rangedelete-collection-drop-indexes-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
rangedelete-collection-drop-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
rangedelete-truncate-indexes-rocksdb.js Simplify recovery code (#8699) 2019-04-09 21:48:04 +02:00
rangedelete-truncate-multi-rocksdb.js Make recovery more reliable (#7297) 2018-11-19 13:59:18 +01:00
rangedelete-truncate-refill-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
recreate-collection.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
recreate-databases.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
resume-recovery-all.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
resume-recovery-multi-flush.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
resume-recovery-other.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
resume-recovery-simple.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
resume-recovery.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
transaction-durability-multiple.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
transaction-durability.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
transaction-just-committed.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
transaction-no-abort.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
transaction-no-commit.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
truncate-collection-failures-after-commits-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
truncate-collection-failures-before-commit-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
truncate-collection-failures-between-commits-rocksdb.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
view-arangosearch-create.js bug-fix/fix-arangosearch-recovery-mmfiles (#9448) 2019-07-11 11:42:08 +03:00
view-arangosearch-drop.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
view-arangosearch-link-create-no-flushthread.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
view-arangosearch-link-create-nonempty.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-create.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
view-arangosearch-link-drop-collection-no-flushthread.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
view-arangosearch-link-drop-collection.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
view-arangosearch-link-drop-no-flushthread.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
view-arangosearch-link-drop.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
view-arangosearch-link-populate-crash-after-release.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-populate-drop-collection-no-flushthread.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-populate-drop-link-no-flushthread.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-populate-drop-view-no-flushthread.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
view-arangosearch-link-populate-fail.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-populate-no-callbacks.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-populate-no-flushthread.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-populate-no-release.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-populate-no-sync.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-populate-persistentids-mmfiles.js issue 555.1.1: issue 555.1.1: try loading previous data store snapshots if checkpoint file unavailable, ehnace error message, address some warnings (#8975) 2019-05-13 18:33:44 +03:00
view-arangosearch-link-populate-remove-no-flushthread.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-populate-remove.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-populate-transaction-abort-no-flushthread.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-populate-transaction-abort.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-populate-transaction-multiple-batches-no-flushthread.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-populate-transaction-no-flushthread.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-populate-transaction-single-batch-no-flushthread.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-populate-transaction.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-populate.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-link-rename-collection-no-flushthread.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
view-arangosearch-link-rename-collection.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
view-arangosearch-modify-properties.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-properties.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
view-arangosearch-recreate.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
view-arangosearch-rename-no-flushthread.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-rename-query.js bug-fix/internal-issue-#609 (#9464) (#9520) 2019-07-19 14:01:33 +03:00
view-arangosearch-rename-recreate-flush.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
view-arangosearch-rename-recreate.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
view-arangosearch-rename.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
view-arangosearch-view-create-drop-no-flushthread.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
view-arangosearch-view-create-drop.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
wait-for-sync.js Better result handling for recovery tests (#6826) 2018-10-15 13:17:45 +02:00
write-throttling-mmfiles.js next attempt for fixing unreliable test 2019-05-20 11:45:25 +02:00