You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@accumulo.apache.org by "Adam Fuchs (Created) (JIRA)" <ji...@apache.org> on 2012/04/13 21:08:18 UTC

[jira] [Created] (ACCUMULO-533) make system iterators thread-safer

make system iterators thread-safer
----------------------------------

                 Key: ACCUMULO-533
                 URL: https://issues.apache.org/jira/browse/ACCUMULO-533
             Project: Accumulo
          Issue Type: Bug
            Reporter: Adam Fuchs
            Assignee: Adam Fuchs


It is possible that at some point in the future users will want to write multi-threaded iterators. This could possibly introduce thread safety problems in the system iterators, especially in the case where multiple threads might be calling "next", "getTopKey", etc. at the same time. In order to maintain some semblance of sanity, we need to synchronize these methods at the top of the system iterator tree. Eventually, we might also want to change the iterator API to make it useful to call multiple of these methods concurrently, but that will be in another ticket.

The immediate solution calls for a simple iterator that is similar to the WrappingIterator called the SynchronizedIterator, all of whose public methods are synchronized on the object's monitor. In single-node performance testing we found the read performance cost of this solution to be below the noise threshold, approximately less than a 1% cost.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (ACCUMULO-533) make system iterators thread-safer

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

Adam Fuchs resolved ACCUMULO-533.
---------------------------------

    Resolution: Fixed
    
> make system iterators thread-safer
> ----------------------------------
>
>                 Key: ACCUMULO-533
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-533
>             Project: Accumulo
>          Issue Type: Bug
>    Affects Versions: 1.4.0
>            Reporter: Adam Fuchs
>            Assignee: Adam Fuchs
>             Fix For: 1.5.0, 1.4.1
>
>
> It is possible that at some point in the future users will want to write multi-threaded iterators. This could possibly introduce thread safety problems in the system iterators, especially in the case where multiple threads might be calling "next", "getTopKey", etc. at the same time. In order to maintain some semblance of sanity, we need to synchronize these methods at the top of the system iterator tree. Eventually, we might also want to change the iterator API to make it useful to call multiple of these methods concurrently, but that will be in another ticket.
> The immediate solution calls for a simple iterator that is similar to the WrappingIterator called the SynchronizedIterator, all of whose public methods are synchronized on the object's monitor. In single-node performance testing we found the read performance cost of this solution to be below the noise threshold, approximately less than a 1% cost.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (ACCUMULO-533) make system iterators thread-safer

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

Adam Fuchs updated ACCUMULO-533:
--------------------------------

    Affects Version/s: 1.4.0
        Fix Version/s: 1.4.1
    
> make system iterators thread-safer
> ----------------------------------
>
>                 Key: ACCUMULO-533
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-533
>             Project: Accumulo
>          Issue Type: Bug
>    Affects Versions: 1.4.0
>            Reporter: Adam Fuchs
>            Assignee: Adam Fuchs
>             Fix For: 1.4.1
>
>
> It is possible that at some point in the future users will want to write multi-threaded iterators. This could possibly introduce thread safety problems in the system iterators, especially in the case where multiple threads might be calling "next", "getTopKey", etc. at the same time. In order to maintain some semblance of sanity, we need to synchronize these methods at the top of the system iterator tree. Eventually, we might also want to change the iterator API to make it useful to call multiple of these methods concurrently, but that will be in another ticket.
> The immediate solution calls for a simple iterator that is similar to the WrappingIterator called the SynchronizedIterator, all of whose public methods are synchronized on the object's monitor. In single-node performance testing we found the read performance cost of this solution to be below the noise threshold, approximately less than a 1% cost.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Reopened] (ACCUMULO-533) make system iterators thread-safer

Posted by "Billie Rinaldi (Reopened) (JIRA)" <ji...@apache.org>.
     [ https://issues.apache.org/jira/browse/ACCUMULO-533?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]

Billie Rinaldi reopened ACCUMULO-533:
-------------------------------------


Adam, you need to use our format and code template.  New files must contain an Apache header.  Eclipse configuration instructions are here:
http://accumulo.apache.org/source.html
                
> make system iterators thread-safer
> ----------------------------------
>
>                 Key: ACCUMULO-533
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-533
>             Project: Accumulo
>          Issue Type: Bug
>    Affects Versions: 1.4.0
>            Reporter: Adam Fuchs
>            Assignee: Adam Fuchs
>             Fix For: 1.5.0, 1.4.1
>
>
> It is possible that at some point in the future users will want to write multi-threaded iterators. This could possibly introduce thread safety problems in the system iterators, especially in the case where multiple threads might be calling "next", "getTopKey", etc. at the same time. In order to maintain some semblance of sanity, we need to synchronize these methods at the top of the system iterator tree. Eventually, we might also want to change the iterator API to make it useful to call multiple of these methods concurrently, but that will be in another ticket.
> The immediate solution calls for a simple iterator that is similar to the WrappingIterator called the SynchronizedIterator, all of whose public methods are synchronized on the object's monitor. In single-node performance testing we found the read performance cost of this solution to be below the noise threshold, approximately less than a 1% cost.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Updated] (ACCUMULO-533) make system iterators thread-safer

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

Adam Fuchs updated ACCUMULO-533:
--------------------------------

    Fix Version/s: 1.5.0
    
> make system iterators thread-safer
> ----------------------------------
>
>                 Key: ACCUMULO-533
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-533
>             Project: Accumulo
>          Issue Type: Bug
>    Affects Versions: 1.4.0
>            Reporter: Adam Fuchs
>            Assignee: Adam Fuchs
>             Fix For: 1.5.0, 1.4.1
>
>
> It is possible that at some point in the future users will want to write multi-threaded iterators. This could possibly introduce thread safety problems in the system iterators, especially in the case where multiple threads might be calling "next", "getTopKey", etc. at the same time. In order to maintain some semblance of sanity, we need to synchronize these methods at the top of the system iterator tree. Eventually, we might also want to change the iterator API to make it useful to call multiple of these methods concurrently, but that will be in another ticket.
> The immediate solution calls for a simple iterator that is similar to the WrappingIterator called the SynchronizedIterator, all of whose public methods are synchronized on the object's monitor. In single-node performance testing we found the read performance cost of this solution to be below the noise threshold, approximately less than a 1% cost.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira

        

[jira] [Resolved] (ACCUMULO-533) make system iterators thread-safer

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

Adam Fuchs resolved ACCUMULO-533.
---------------------------------

    Resolution: Fixed

Formatting fixed.
                
> make system iterators thread-safer
> ----------------------------------
>
>                 Key: ACCUMULO-533
>                 URL: https://issues.apache.org/jira/browse/ACCUMULO-533
>             Project: Accumulo
>          Issue Type: Bug
>    Affects Versions: 1.4.0
>            Reporter: Adam Fuchs
>            Assignee: Adam Fuchs
>             Fix For: 1.5.0, 1.4.1
>
>
> It is possible that at some point in the future users will want to write multi-threaded iterators. This could possibly introduce thread safety problems in the system iterators, especially in the case where multiple threads might be calling "next", "getTopKey", etc. at the same time. In order to maintain some semblance of sanity, we need to synchronize these methods at the top of the system iterator tree. Eventually, we might also want to change the iterator API to make it useful to call multiple of these methods concurrently, but that will be in another ticket.
> The immediate solution calls for a simple iterator that is similar to the WrappingIterator called the SynchronizedIterator, all of whose public methods are synchronized on the object's monitor. In single-node performance testing we found the read performance cost of this solution to be below the noise threshold, approximately less than a 1% cost.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira