You are viewing a plain text version of this content. The canonical link for it is here.
Posted to notifications@asterixdb.apache.org by "ASF subversion and git services (JIRA)" <ji...@apache.org> on 2018/03/04 18:00:00 UTC

[jira] [Commented] (ASTERIXDB-2309) ComponentId failed during redo

    [ 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 <mh...@apache.org>
Sonar-Qube: Jenkins <je...@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <je...@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <je...@fulliautomatix.ics.uci.edu>
Integration-Tests: Jenkins <je...@fulliautomatix.ics.uci.edu>


> 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)