asterixdb-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <j...@apache.org>
Subject [jira] [Commented] (ASTERIXDB-2161) java.lang.IllegalStateException when set LSM Memory Component Id
Date Thu, 23 Nov 2017 08:56:01 GMT

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

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

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

[ASTERIXDB-2161] Fix component id manage lifecycle

- user model changes: no
- storage format changes: no
- interface changes: yes. The interface of LMSIOOperationCallback
is changed

Details:
- The current way of management component ids is not correct,
in presence of that multiple partitions sharing the same primary op
tracker. It's possible when a partition is empty/being flushed,
the next flush is scheduled by another partition, which
will disturb the partition. This patch fixes this by
using the same logic of maintaining flushed LSNs to maintain
component id.
- Extend recycle memory component interface to indicate whether it
switches the new component or not.
- Also fixes [ASTERIXDB-2168] to ensure we do not miss latest flushed
LSNs by advancing io callback before finishing flush

Change-Id: Ifc35184c4d431db9af71cab302439e165ee55f54
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2153
Integration-Tests: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Tested-by: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Contrib: Jenkins <jenkins@fulliautomatix.ics.uci.edu>
Reviewed-by: abdullah alamoudi <bamousaa@gmail.com>


> java.lang.IllegalStateException when set LSM Memory Component Id
> ----------------------------------------------------------------
>
>                 Key: ASTERIXDB-2161
>                 URL: https://issues.apache.org/jira/browse/ASTERIXDB-2161
>             Project: Apache AsterixDB
>          Issue Type: Bug
>          Components: STO - Storage
>            Reporter: Chen Luo
>            Assignee: Chen Luo
>
> On one NC with multiple partitions, it may through IllegalStateException when we reset
the memory component Id. The memory component should receive a larger Id, but for some reason
it still receives the old one.
> {code}
> 16:25:40 SEVERE: SEARCH failed to enter components on {"class" : "LSMBTree", "dir" :
"/home/jenkins/jenkins/workspace/asterix-gerrit-verify-asterix-app/asterixdb/asterix-app/target/io/dir/asterix_nc1/iodevice1/storage/partition_1/test/LineID_idx_idx_LineID_suppkey",
"memory" : 2, "disk" : 1}
> 16:25:40 java.lang.IllegalStateException: LSM memory component receives illegal id. Old
id [1510360027993,1510360027993], new id [1510360027993,1510360027993]
> 16:25:40 	at org.apache.hyracks.storage.am.lsm.common.impls.AbstractLSMMemoryComponent.resetId(AbstractLSMMemoryComponent.java:276)
> 16:25:40 	at org.apache.asterix.common.ioopcallbacks.AbstractLSMIOOperationCallback.recycled(AbstractLSMIOOperationCallback.java:205)
> {code}



--
This message was sent by Atlassian JIRA
(v6.4.14#64029)

Mime
View raw message