Guangxu Cheng created HBASE-18804: ------------------------------------- Summary: Sanity check the number of regions when creating a table Key: HBASE-18804 URL: https://issues.apache.org/jira/browse/HBASE-18804 Project: HBase Issue Type: Bug Components: master Affects Versions: 2.0.0, 1.5.0 Reporter: Guangxu Cheng Assignee: Guangxu Cheng
A few days ago, a table was erroneously created with NUMREGIONS set to 200k which resulted in the master down. I got exceptions like: {code:java} 2017-08-17 11:10:17,970 WARN [main-SendThread(localhost:2181)] zookeeper.ClientCnxn: Session 0x45c9d4132c547f1 for server localhost/localhost:2181, unexpected error, closing socket connection and attempting reconnect java.io.IOException: Packet len6842180 is out of range! at org.apache.zookeeper.ClientCnxnSocket.readLength(ClientCnxnSocket.java:112) at org.apache.zookeeper.ClientCnxnSocketNIO.doIO(ClientCnxnSocketNIO.java:79) at org.apache.zookeeper.ClientCnxnSocketNIO.doTransport(ClientCnxnSocketNIO.java:366) at org.apache.zookeeper.ClientCnxn$SendThread.run(ClientCnxn.java:1081) {code} That's because a lot of regions need to assign in a short interval, and the size of the node /hbase/region-in-transition exceeds the default value. We solved this problem by setting "jute.maxbuffer". But we can sanity check the number of regions when creating a table and reject the requests. -- This message was sent by Atlassian JIRA (v6.4.14#64029)