HBase
  1. HBase
  2. HBASE-5197

[replication] Handle socket timeouts in ReplicationSource to prevent DDOS

    Details

    • Type: Improvement Improvement
    • Status: Closed
    • Priority: Major Major
    • Resolution: Fixed
    • Affects Version/s: 0.90.5
    • Fix Version/s: 0.90.6, 0.92.1, 0.94.0
    • Component/s: None
    • Labels:
      None
    • Hadoop Flags:
      Reviewed

      Description

      Kind of like HBASE-4462 but for replication. If while replicating you get a socket timeout, the last thing you want to do is to retry it right away. Since we can't fail the replication thread, the best I can think of is to sleep a really long amount of time.

      Planning to bring this to all branches.

      1. HBASE-5197-v2.patch
        3 kB
        Jean-Daniel Cryans
      2. HBASE-5197.patch
        3 kB
        Jean-Daniel Cryans

        Activity

        Hide
        ramkrishna.s.vasudevan added a comment -

        Updating affect versions to 0.90.7

        Show
        ramkrishna.s.vasudevan added a comment - Updating affect versions to 0.90.7
        Hide
        Jean-Daniel Cryans added a comment -

        Adding the handling of the exception with a sleep of 100 seconds by default. In my testing this has prevented DDOSing.

        Show
        Jean-Daniel Cryans added a comment - Adding the handling of the exception with a sleep of 100 seconds by default. In my testing this has prevented DDOSing.
        Hide
        Ted Yu added a comment -

        Patch looks good.

        Minor comment:

        +              maxRetriesMultiplier * maxRetriesMultiplier);
        

        Can store the result of above computation in a variable ?

        Show
        Ted Yu added a comment - Patch looks good. Minor comment: + maxRetriesMultiplier * maxRetriesMultiplier); Can store the result of above computation in a variable ?
        Hide
        Jean-Daniel Cryans added a comment -

        More like this?

        Show
        Jean-Daniel Cryans added a comment - More like this?
        Hide
        Ted Yu added a comment -

        Patch v2 looks good.

        Show
        Ted Yu added a comment - Patch v2 looks good.
        Hide
        Jean-Daniel Cryans added a comment -

        Committed to both branches and trunk, thanks for the review Ted.

        Show
        Jean-Daniel Cryans added a comment - Committed to both branches and trunk, thanks for the review Ted.
        Hide
        Hudson added a comment -

        Integrated in HBase-0.92 #279 (See https://builds.apache.org/job/HBase-0.92/279/)
        HBASE-5197 [replication] Handle socket timeouts in ReplicationSource
        to prevent DDOS (Revision 1243736)

        Result = FAILURE
        jdcryans :
        Files :

        • /hbase/branches/0.92/CHANGES.txt
        • /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
        Show
        Hudson added a comment - Integrated in HBase-0.92 #279 (See https://builds.apache.org/job/HBase-0.92/279/ ) HBASE-5197 [replication] Handle socket timeouts in ReplicationSource to prevent DDOS (Revision 1243736) Result = FAILURE jdcryans : Files : /hbase/branches/0.92/CHANGES.txt /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK-security #111 (See https://builds.apache.org/job/HBase-TRUNK-security/111/)
        HBASE-5197 [replication] Handle socket timeouts in ReplicationSource
        to prevent DDOS (Revision 1243733)

        Result = SUCCESS
        jdcryans :
        Files :

        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK-security #111 (See https://builds.apache.org/job/HBase-TRUNK-security/111/ ) HBASE-5197 [replication] Handle socket timeouts in ReplicationSource to prevent DDOS (Revision 1243733) Result = SUCCESS jdcryans : Files : /hbase/trunk/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
        Hide
        Hudson added a comment -

        Integrated in HBase-TRUNK #2663 (See https://builds.apache.org/job/HBase-TRUNK/2663/)
        HBASE-5197 [replication] Handle socket timeouts in ReplicationSource
        to prevent DDOS (Revision 1243733)

        Result = FAILURE
        jdcryans :
        Files :

        • /hbase/trunk/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
        Show
        Hudson added a comment - Integrated in HBase-TRUNK #2663 (See https://builds.apache.org/job/HBase-TRUNK/2663/ ) HBASE-5197 [replication] Handle socket timeouts in ReplicationSource to prevent DDOS (Revision 1243733) Result = FAILURE jdcryans : Files : /hbase/trunk/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
        Hide
        Hudson added a comment -

        Integrated in HBase-0.92-security #91 (See https://builds.apache.org/job/HBase-0.92-security/91/)
        HBASE-5197 [replication] Handle socket timeouts in ReplicationSource
        to prevent DDOS (Revision 1243736)

        Result = FAILURE
        jdcryans :
        Files :

        • /hbase/branches/0.92/CHANGES.txt
        • /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java
        Show
        Hudson added a comment - Integrated in HBase-0.92-security #91 (See https://builds.apache.org/job/HBase-0.92-security/91/ ) HBASE-5197 [replication] Handle socket timeouts in ReplicationSource to prevent DDOS (Revision 1243736) Result = FAILURE jdcryans : Files : /hbase/branches/0.92/CHANGES.txt /hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/replication/regionserver/ReplicationSource.java

          People

          • Assignee:
            Jean-Daniel Cryans
            Reporter:
            Jean-Daniel Cryans
          • Votes:
            0 Vote for this issue
            Watchers:
            1 Start watching this issue

            Dates

            • Created:
              Updated:
              Resolved:

              Development