[ 
https://issues.apache.org/jira/browse/ASTERIXDB-2309?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16385263#comment-16385263
 ] 

ASF subversion and git services commented on ASTERIXDB-2309:
------------------------------------------------------------

Commit 6daa1b152b3efa1790ecef5c066b13230c3a7cee in asterixdb's branch 
refs/heads/master from [~luochen01]
[ https://git-wip-us.apache.org/repos/asf?p=asterixdb.git;h=6daa1b1 ]

[ASTERIXDB-2304] Ensure Flush is Finished in FlushRecoveryTest

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

Details:
- Previous in LSMFlushRecoveryTest, it's possible during recovery
we check component ids before the flush is finished (since flush is
asynchronous), and thus causes intermittent failures. This patch fixes
this problem by waiting for active IOs before checking component ids.
- Fix the problem the override config options in TestNodeController not
working.
- Also fix [ASTERIXDB-2309] to ensure only indexes of a given partition
are flushed upon seeing a FLUSH record.

Change-Id: I1704c6606c7c7bef226ae31961c347c6ebb76c2a
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2437
Reviewed-by: Murtadha Hubail <[email protected]>
Sonar-Qube: Jenkins <[email protected]>
Tested-by: Jenkins <[email protected]>
Contrib: Jenkins <[email protected]>
Integration-Tests: Jenkins <[email protected]>


> ComponentId failed during redo
> ------------------------------
>
>                 Key: ASTERIXDB-2309
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-2309
>             Project: Apache AsterixDB
>          Issue Type: Bug
>            Reporter: Wail Alkowaileet
>            Assignee: Chen Luo
>            Priority: Major
>
> Hi, 
> [~luochen01] I cannot share the data here, but I have a reproducer and I will 
> provide it to you tomorrow.
> {noformat}
> java.lang.IllegalStateException: Illegal state of component Id. Max disk 
> component Id [1519954964710,1519954964710] should be less than redo flush 
> component Id [1519954964082,1519954964082]
> at 
> org.apache.asterix.app.nc.RecoveryManager.redoFlush(RecoveryManager.java:802) 
> ~[classes/:?]
> at 
> org.apache.asterix.app.nc.RecoveryManager.startRecoveryRedoPhase(RecoveryManager.java:399)
>  ~[classes/:?]
> at 
> org.apache.asterix.app.nc.RecoveryManager.replayPartitionsLogs(RecoveryManager.java:178)
>  ~[classes/:?]
> at 
> org.apache.asterix.app.nc.RecoveryManager.startLocalRecovery(RecoveryManager.java:170)
>  ~[classes/:?]
> at 
> org.apache.asterix.app.nc.task.LocalRecoveryTask.perform(LocalRecoveryTask.java:45)
>  ~[classes/:?]
> at 
> org.apache.asterix.app.replication.message.RegistrationTasksResponseMessage.handle(RegistrationTasksResponseMessage.java:62)
>  [classes/:?]
> at 
> org.apache.asterix.messaging.NCMessageBroker.lambda$0(NCMessageBroker.java:100)
>  [classes/:?]
> at 
> org.apache.asterix.messaging.NCMessageBroker$$Lambda$112/1967943797.run(Unknown
>  Source) [classes/:?]
> at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) 
> [?:1.8.0_45]
> at java.util.concurrent.FutureTask.run(FutureTask.java:266) [?:1.8.0_45]
> at 
> java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142)
>  [?:1.8.0_45]
> at 
> java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617)
>  [?:1.8.0_45]
> at java.lang.Thread.run(Thread.java:745) [?:1.8.0_45]{noformat}



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

Reply via email to