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)