GitHub user jacques-n opened a pull request:

    https://github.com/apache/drill/pull/463

    DRILL-3714: Avoid cascading disconnection when a single connection is broken

    DRILL-3714: Avoid cascading disconnection when a single connection is broken
    
    - Move the coordination id management to be connection level instead of 
RpcBus level
    - Rename CoordinationQueue to a more appropriate name: RequestIdMap
    - Simplify locking and memory overhead of RequestIdMap. It used to be that 
this would accessed by a large number of threads concurrently. We modified the 
behavior so that it is only accessed by two threads at most. Rather than have 
memory overhead of ConcurrentHashMap, switch to simple locking approach since 
contention should be low.
    - Update all methods associated with coordination to improve names as well 
as add javadocs. Move these methods to the RemoteConnection.
    - Consolidate the two different close handlers into a single, ordered close 
handler managed inside the connection.
    - Add better javadoc around the close method of RemoteConnection
    - Add some preconditions checks.
    - Update the HPPC version in the base memory module since it conflicts with 
the one in the java-exec module.

You can merge this pull request into a Git repository by running:

    $ git pull https://github.com/jacques-n/drill DRILL-3714

Alternatively you can review and apply these changes as the patch at:

    https://github.com/apache/drill/pull/463.patch

To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:

    This closes #463
    
----
commit 1529d8a665a63b675236e541d1fce1c5957f50ce
Author: Jacques Nadeau <[email protected]>
Date:   2016-04-05T23:36:25Z

    DRILL-3714: Avoid cascading disconnection when a single connection is 
broken.
    
    - Move the coordination id management to be connection level instead of 
RpcBus level
    - Rename CoordinationQueue to a more appropriate name: RequestIdMap
    - Simplify locking and memory overhead of RequestIdMap. It used to be that 
this would accessed by a large number of threads concurrently. We modified the 
behavior so that it is only accessed by two threads at most. Rather than have 
memory overhead of ConcurrentHashMap, switch to simple locking approach since 
contention should be low.
    - Update all methods associated with coordination to improve names as well 
as add javadocs. Move these methods to the RemoteConnection.
    - Consolidate the two different close handlers into a single, ordered close 
handler managed inside the connection.
    - Add better javadoc around the close method of RemoteConnection
    - Add some preconditions checks.
    - Update the HPPC version in the base memory module since it conflicts with 
the one in the java-exec module.

----


---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---

Reply via email to