[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>
Thu, 24 Jun 2021 20:35:17 +0000 (20:35 +0000)
commitacff469e4363dde3c0aafe3c388f62aad4aa87a7
tree27ce4aed207120b148fb9fb54af48695a3c2e97e
parent32fcc2ae6e30c601e6408fa60a59d1eb2ad38c93
[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>
(cherry picked from commit 0e7e4bdb2c514fe7469a775c2ffc3d9e78e6a317)
Reviewed-on: https://asterix-gerrit.ics.uci.edu/c/asterixdb/+/12024
Reviewed-by: Ali Alsuliman <ali.al.solaiman@gmail.com>
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