[NO ISSUE][STO] Close datasets of flushed indexes after recovery
authorMurtadha Hubail <mhubail@apache.org>
Wed, 12 May 2021 13:41:02 +0000 (16:41 +0300)
committerMurtadha Hubail <mhubail@apache.org>
Wed, 12 May 2021 21:42:51 +0000 (21:42 +0000)
commit0e7e4bdb2c514fe7469a775c2ffc3d9e78e6a317
treed9b8fe39a66bad97d72755f105f1780676e14836
parentb69e30e1c0b55d6216647f28e3b68a16a66028e0
[NO ISSUE][STO] Close datasets of flushed indexes after recovery

- user model changes: no
- storage format changes: no
- interface changes: yes

Details:

- After performing redo of a flush log on any index, close its dataset
  to ensure any cached state that might have been changed during recovery
  is cleared (e.g. the component id generator).
- Fix LSMFlushRecoveryTest total number of records to be inserted.
- Update LSMFlushRecoveryTest to check for duplicate component ids.

Change-Id: I29072f475cc7b4d7d6efde415be0329fc568443e
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/11423
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: Murtadha Hubail <mhubail@apache.org>
Reviewed-by: Michael Blow <mblow@apache.org>
asterixdb/asterix-app/src/main/java/org/apache/asterix/app/nc/RecoveryManager.java
asterixdb/asterix-app/src/test/java/org/apache/asterix/test/dataflow/LSMFlushRecoveryTest.java
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/api/IDatasetLifecycleManager.java
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/context/DatasetLifecycleManager.java
asterixdb/asterix-common/src/main/java/org/apache/asterix/common/transactions/IRecoveryManager.java