You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@couchdb.apache.org by "Randall Leeds (JIRA)" <ji...@apache.org> on 2010/06/10 21:36:13 UTC

[jira] Created: (COUCHDB-794) skip costly selective receive for delayed_commit

skip costly selective receive for delayed_commit
------------------------------------------------

                 Key: COUCHDB-794
                 URL: https://issues.apache.org/jira/browse/COUCHDB-794
             Project: CouchDB
          Issue Type: Improvement
          Components: Database Core
    Affects Versions: 0.11
            Reporter: Randall Leeds
             Fix For: 1.1


There's no reason to consume outstanding delayed_commit messages when a commit does occur since they can be ignored later if the waiting_delayed_commit flag is nil. The selective receive could be costly if the writer queue is long.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (COUCHDB-794) skip costly selective receive for delayed_commit

Posted by "Adam Kocoloski (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/COUCHDB-794?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adam Kocoloski updated COUCHDB-794:
-----------------------------------

    Assignee: Adam Kocoloski
    Priority: Minor  (was: Major)

> skip costly selective receive for delayed_commit
> ------------------------------------------------
>
>                 Key: COUCHDB-794
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-794
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: Database Core
>    Affects Versions: 0.11
>            Reporter: Randall Leeds
>            Assignee: Adam Kocoloski
>            Priority: Minor
>             Fix For: 1.1
>
>         Attachments: delayed_commits_no_receive.patch
>
>
> There's no reason to consume outstanding delayed_commit messages when a commit does occur since they can be ignored later if the waiting_delayed_commit flag is nil. The selective receive could be costly if the writer queue is long.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Closed: (COUCHDB-794) skip costly selective receive for delayed_commit

Posted by "Adam Kocoloski (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/COUCHDB-794?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Adam Kocoloski closed COUCHDB-794.
----------------------------------

    Resolution: Fixed

Thanks Randall.  I committed a functionally equivalent patch.  The only real difference is that instead of

catch erlang:cancel_timer(Timer)

I did

if is_reference(Timer) -> erlang:cancel_timer(Timer); true -> ok end,

I presume checking the is_reference guard is cheaper than catching the badarg from trying to cancel a non-reference.



> skip costly selective receive for delayed_commit
> ------------------------------------------------
>
>                 Key: COUCHDB-794
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-794
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: Database Core
>    Affects Versions: 0.11
>            Reporter: Randall Leeds
>            Assignee: Adam Kocoloski
>            Priority: Minor
>             Fix For: 1.1
>
>         Attachments: delayed_commits_no_receive.patch
>
>
> There's no reason to consume outstanding delayed_commit messages when a commit does occur since they can be ignored later if the waiting_delayed_commit flag is nil. The selective receive could be costly if the writer queue is long.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.


[jira] Updated: (COUCHDB-794) skip costly selective receive for delayed_commit

Posted by "Randall Leeds (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/COUCHDB-794?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Randall Leeds updated COUCHDB-794:
----------------------------------

    Attachment: delayed_commits_no_receive.patch

patch

> skip costly selective receive for delayed_commit
> ------------------------------------------------
>
>                 Key: COUCHDB-794
>                 URL: https://issues.apache.org/jira/browse/COUCHDB-794
>             Project: CouchDB
>          Issue Type: Improvement
>          Components: Database Core
>    Affects Versions: 0.11
>            Reporter: Randall Leeds
>             Fix For: 1.1
>
>         Attachments: delayed_commits_no_receive.patch
>
>
> There's no reason to consume outstanding delayed_commit messages when a commit does occur since they can be ignored later if the waiting_delayed_commit flag is nil. The selective receive could be costly if the writer queue is long.

-- 
This message is automatically generated by JIRA.
-
You can reply to this email to add a comment to the issue online.