asterixdb-notifications mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From "ASF subversion and git services (JIRA)" <>
Subject [jira] [Commented] (ASTERIXDB-1160) Possible deadlock between LogManager and LogFlusher
Date Mon, 09 Nov 2015 06:11:10 GMT


ASF subversion and git services commented on ASTERIXDB-1160:

Commit eacff78183c3f647205e5768d51488ef6a6dae8a in incubator-asterixdb's branch refs/heads/master
from [~mhubail]
[;h=eacff78 ]

ASTERIXDB-1160: Break deadlock between LogManager and LogFlusher

This change introduces a new thread in LogManager to log FLUSH logs.
This will prevent LogFlusher thread from waiting on itself until FLUSH logs are flushed to

Change-Id: I0b414f5ab92e1c68c8aafbaab859c644ba399dcb
Tested-by: Jenkins <>
Reviewed-by: abdullah alamoudi <>

> Possible deadlock between LogManager and LogFlusher
> ---------------------------------------------------
>                 Key: ASTERIXDB-1160
>                 URL:
>             Project: Apache AsterixDB
>          Issue Type: Bug
>          Components: Transactions
>            Reporter: Murtadha Hubail
>            Assignee: Murtadha Hubail
> Currently when LogFlusher thread flushes a full log tail buffer, it calls PrimaryIndexOpeartionTracker.completeOperation.
If the completeOperation call results in generating a FLUSH log type and the LogManager has
no empty log buffers available to log it, a deadlock happens.
> To reproduce the deadlock with high probabilty, set the number of log pages in the asterix
configuration to 1 and a small size, then load some data to the system.
> The proposed solution is to have a different thread responsible for logging FLUSH logs.
This way logging FLUSH logs will have to wait until an empty log buffer becomes available
to the LogManager on a different thread than the LogFlusher.

This message was sent by Atlassian JIRA

View raw message