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 2017/11/21 05:33:00 UTC
[jira] [Commented] (ASTERIXDB-2169) Long running queries blocks
modifications
[ https://issues.apache.org/jira/browse/ASTERIXDB-2169?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16260274#comment-16260274 ]
ASF subversion and git services commented on ASTERIXDB-2169:
------------------------------------------------------------
Commit e5a65429d94c34b3079a3fe6bad206089c2c193c in asterixdb's branch refs/heads/master from [~alamoudi]
[ https://git-wip-us.apache.org/repos/asf?p=asterixdb.git;h=e5a6542 ]
[ASTERIXDB-2169][STO][TX] Unblock modifications during full scan
- user model changes: no
- storage format changes: no
- interface changes: yes
- added ILSMHarness.replaceMemoryComponentsWithDiskComponents
details:
- During a long running query aka full scan, two things block
incoming modifications:
1) Memory component gets full, is flushed but can't be recycled
because of the search operation inside the component.
2) Read latches on the memory component not being released and
the memory component search cursor is not advancing.
The two cases are addressed in this change for the LSMBTree but
not yet addressed for other indexes.
The proposed solution for case (1) is to poll memory components
states every n records during the search operation. If a memory
component was found to have been flushed, its cursor is moved
to the corresponding disk component allowing the memory
component to be recycled.
The proposed solution for case (2) is to check memory component
cursor every n records. If the cursor has not advanced and the
component has writers, then the latches over the leaf page are
released, and the cursor re-do the operation entering from the
tree root.
- Added a test case.
- Added performance traces for enter and exit components.
Change-Id: I37ba52f6324ed1c5a78465c3a8cbcd351f1ed5bc
Reviewed-on: https://asterix-gerrit.ics.uci.edu/2166
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>
Reviewed-by: Luo Chen <cl...@uci.edu>
> Long running queries blocks modifications
> -----------------------------------------
>
> Key: ASTERIXDB-2169
> URL: https://issues.apache.org/jira/browse/ASTERIXDB-2169
> Project: Apache AsterixDB
> Issue Type: Bug
> Components: STO - Storage, TX - Transactions
> Reporter: Abdullah Alamoudi
> Assignee: Abdullah Alamoudi
>
> When running a long query, for example, select count(*), the modification rate goes to 0 for the duration of the query.
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)