Commit Graph

1217 Commits

Author SHA1 Message Date
stack 496fd9837a HBASE-16176 Bug fixes/improvements on HBASE-15650 Remove
TimeRangeTracker as point of contention when many threads reading a StoreFile
 Fixes HBASE-16074 ITBLL fails, reports lost big or tiny families broken
 scanning because of a side effect of a clean up in  HBASE-15650 to make
 TimeRange construction consistent exposed a latent issue in
 TimeRange#compare. See HBASE-16074 for more detail.

Also change HFile Writer constructor so we pass in the TimeRangeTracker, if one,
on construction rather than set later (the flag and reference were not volatile
so could have made for issues in concurrent case). And make sure the construction
of a TimeRange from a TimeRangeTracer on open of an HFile Reader never makes a
bad minimum value, one that would preclude us reading any values from a file
(set min to 0)

M hbase-common/src/main/java/org/apache/hadoop/hbase/io/TimeRange.java
 Call through to next constructor (if minStamp was 0, we'd skip setting
 allTime=true). Add asserts that timestamps are not < 0 cos it messes
 us up if they are (we already were checking for < 0 on construction but
 assert passed in timestamps are not < 0).

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/HStore.java
 Add constructor override that takes a TimeRangeTracker (set when flushing
 but not when compacting)

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/Store.java
 Add override creating an HFile in tmp that takes a TimeRangeTracker

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
 Add override for HFile Writer that takes a TimeRangeTracker Take it on
 construction instead of having it passed by a setter later (flags and
 reference set by the setter were not volatile... could have been prob
 in concurrent case)

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/TimeRangeTracker.java
 Log WARN if bad initial TimeRange value (and then 'fix' it)

M hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestTimeRangeTracker.java
 A few tests to prove serialization works as expected and that we'll get a bad min if not constructed properly.

M hbase-server/src/main/java/org/apache/hadoop/hbase/regionserver/ScanQueryMatcher.java
 Handle OLDEST_TIMESTAMP explictly. Don't expect TimeRange to do it.

M hbase-server/src/test/java/org/apache/hadoop/hbase/regionserver/TestQueryMatcher.java
 Refactor from junit3 to junit4 and add test for this weird case.
2016-07-08 18:20:31 -07:00
tedyu 20a99b4c06 HBASE-16144 Revert - test failure in TestMultiSlaveReplication#testMultiSlaveReplication seems to be related 2016-07-05 13:19:33 -07:00
tedyu b5cdb38dc7 HBASE-16144 Replication queue's lock will live forever if RS acquiring the lock has died prematurely (Phil Yang) 2016-07-05 07:16:12 -07:00
Yu Li 7f44dfd85f HBASE-16132 Scan does not return all the result when regionserver is busy (binlijin) 2016-07-04 21:45:04 +08:00
zhangduo 6944a17ad4 HBASE-16135 PeerClusterZnode under rs of removed peer may never be deleted 2016-07-04 19:26:27 +08:00
tedyu af9422c04a HBASE-16159 OutOfMemory exception when using AsyncRpcClient with encryption to read rpc response (Colin Ma) 2016-07-01 14:26:09 -07:00
stack 2d93444cb0 HBASE-16149 Log the underlying RPC exception in RpcRetryingCallerImpl (Jerry He) 2016-06-30 05:57:50 -07:00
Jonathan M Hsieh e1d130946b HBASE-16117 Fix Connection leak in mapred.TableOutputFormat 2016-06-29 17:18:43 -07:00
chenheng 68c1b34dbc HBASE-16040 Remove configuration "hbase.replication" 2016-06-24 10:41:35 +08:00
Joseph Hwang 2766e4a42e HBASE-16083 Fix RepliationFactory config property names to match HBase naming conventions
Signed-off-by: Elliott Clark <eclark@apache.org>
2016-06-22 12:49:45 -07:00
Joseph Hwang 152594560e HBASE-16036 Made Replication Table creation non-blocking.
All ReplicationTableBase method's that need to access the Replication Table will block until it is created though.
Also refactored ReplicationSourceManager so that abandoned queue adoption is run in the background too so that it does not block HRegionServer initialization.

Signed-off-by: Elliott Clark <eclark@apache.org>
2016-06-21 13:05:50 -07:00
Ramkrishna a9950e0001 HBASE-15783 AccessControlConstants#OP_ATTRIBUTE_ACL_STRATEGY_CELL_FIRST
not used any more. (Ram)
2016-06-21 10:51:42 +05:30
tedyu 76419df21d HBASE-16054 OutOfMemory exception when using AsyncRpcClient with encryption (Colin Ma) 2016-06-20 07:29:40 -07:00
Enis Soztutar bdb0cc8808 HBASE-15467 Remove 1.x/2.0 TableDescriptor incompatibility 2016-06-17 17:25:04 -07:00
Joseph Hwang 61ff6ced5b HBASE-16018 Refactored the ReplicationPeers interface to clear up what some methods do and move away from a ZooKeeper-specific implementation.
Also added some documentation for undocumented methods.

Signed-off-by: Elliott Clark <eclark@apache.org>
2016-06-17 13:04:21 -07:00
Joseph Hwang 2093aadec1 HBASE-15974 Create a ReplicationQueuesClientHBaseImpl
Building on HBase-15958.
Provided a ReplicationQueuesClientHBaseImpl that relies on the HBase Replication Table to track WAL queues.
Refactored out a large section of ReplicationQueuesHBaseImpl into a ReplicationTableClient class that handles Replication Table operations.

Signed-off-by: Elliott Clark <eclark@apache.org>
2016-06-15 10:43:14 -07:00
anoopsjohn 17bcf14fea HBASE-15525 OutOfMemory could occur when using BoundedByteBufferPool during RPC bursts. 2016-06-14 19:03:54 +05:30
Jurriaan Mous bd45cf3476 HBASE-16004 Update to Netty 4.1.1
Signed-off-by: stack <stack@apache.org>
2016-06-10 12:14:05 -07:00
Joseph Hwang babdedc1b0 HBASE-15958 Implement ClaimQueues on top of HBase
Building on HBase-15883.
Now implementing the claim queues procedure within an HBase table.
Also added UnitTests to test claimQueue.
Peer tracking will still be performed by ZooKeeper though.
Also modified the queueId tracking procedure so we no longer have to perform scans over the Replication Table.
This does make our queue naming schema slightly different from ReplicationQueuesZKImpl though.

Signed-off-by: Elliott Clark <eclark@apache.org>
2016-06-09 15:05:54 -07:00
Ashish Singhi 9012a0b123 HBASE-15952 Bulk load data replication is not working when RS user does not have permission on hfile-refs node 2016-06-09 18:44:29 +05:30
Matteo Bertozzi 41cc215544 HBASE-15975 logic in TestHTableDescriptor#testAddCoprocessorWithSpecStr is wrong (Huaxiang Sun) 2016-06-08 22:42:50 -07:00
Matteo Bertozzi d9463bcce0 HBASE-15989 Remove hbase.online.schema.update.enable 2016-06-08 13:09:31 -07:00
Sergey Soldatov da88b48240 HBASE-15957 RpcClientImpl.close never ends in some circumstances
Signed-off-by: Enis Soztutar <enis@apache.org>
2016-06-07 11:33:03 -07:00
Andrew Purtell 376ad0d986 HBASE-15698 Increment TimeRange not serialized to server (Ted Yu) 2016-06-06 22:17:00 -07:00
tedyu 7fd3532de6 HBASE-15803 ZooKeeperWatcher's constructor can leak a ZooKeeper instance with throwing ZooKeeperConnectionException when canCreateBaseZNode is true 2016-06-06 18:35:15 -07:00
Apekshit Sharma 15c03fd1c9 HBASE-15965
- Testing by executing a command will cover the exact path users will trigger, so its better then directly calling library functions in tests. Changing the tests to use @shell.command(:<command>, args) to execute them like it's a command coming from shell.

Norm change:
Commands should print the output user would like to see, but in the end, should also return the relevant value. This way:
- Tests can use returned value to check that functionality works
- Tests can capture stdout to assert particular kind of output user should see.
- We do not print the return value in interactive mode and keep the output clean. See Shell.command() function.

Bugs found due to this change:
- Uncovered bug in major_compact.rb with this approach. It was calling admin.majorCompact() which doesn't exist but our tests didn't catch it since they directly tested admin.major_compact()
- Enabled TestReplicationShell. If it's bad, flaky infra will take care of it.

Change-Id: I5d8af16bf477a79a2f526a5bf11c245b02b7d276
2016-06-06 17:50:22 -07:00
Ramkrishna b21c56e795 HBASE-15174 Client Public API should not have PB objects in 2.0 (Ram) 2016-06-06 10:11:38 +05:30
Joseph Hwang 21e98271c3 HBASE-15883 Adding WAL files and tracking offsets in HBase.
Implemented ReplicationQueuesHBaseImpl that tracks WAL offsets and replication queues in an HBase table.
Only wrote the basic tracking methods, have not implemented claimQueue() or HFileRef methods yet.
Wrote a basic unit test for ReplicationQueueHBaseImpl that tests the implemented functions on a single Region Server

Signed-off-by: Elliott Clark <elliott@fb.com>
Signed-off-by: Elliott Clark <eclark@apache.org>
2016-06-03 15:23:10 -07:00
Ashish Singhi 0cbce07626 HBASE-15888 Extend HBASE-12769 for bulk load data replication 2016-06-03 18:42:00 +05:30
Yu Li 53eb27bb60 HBASE-15931 Add log for long-running tasks in AsyncProcess 2016-06-02 12:00:42 +08:00
tedyu cbb95cd3a9 HBASE-15932 Shell test fails due to uninitialized constant 2016-06-01 10:35:00 -07:00
Jurriaan Mous a1f0c1cbb3 HBASE-15875 Remove HTable references and HTableInterface
Signed-off-by: stack <stack@apache.org>
2016-05-30 19:56:54 -07:00
Jurriaan Mous cdd532da8a HBASE-15610 Remove deprecated HConnection for 2.0 thus removing all PB references for 2.0
Signed-off-by: stack <stack@apache.org>
2016-05-29 07:50:55 -07:00
Sean Mackrory f4470af95d HBASE-15891. Closeable resources potentially not getting closed if exception is thrown.
Signed-off-by: stack <stack@apache.org>
2016-05-28 21:32:22 -07:00
Sean Mackrory 3b6e6e6c25 HBASE-15889. String case conversions are locale-sensitive, used without locale
Signed-off-by: Sean Busbey <busbey@apache.org>
2016-05-28 10:41:31 -07:00
Gary Helmling da0d74cd27 HBASE-15830 SASL encryption doesn't work with AsyncRpcChannelImpl (Colin Ma) 2016-05-26 21:58:27 -07:00
Andrew Purtell fdaf3be84f HBASE-15854 Log the cause of SASL connection failures (Robert Yokota) 2016-05-26 14:16:20 -07:00
Mikhail Antonov 1c30ae68ec HBASE-15880 RpcClientImpl#tracedWriteRequest incorrectly closes HTrace span 2016-05-23 12:44:48 -07:00
tedyu ae42c65cfd HBASE-15802 ConnectionUtils should use ThreadLocalRandom instead of Random (Matt Warhaftig) 2016-05-21 21:15:10 -07:00
Jerry He 56e4b85d06 HBASE-14818 user_permission does not list namespace permissions (li xiang) 2016-05-21 20:06:05 -07:00
Gary Helmling b1bf622e69 HBASE-15856 Addendum Fix UnknownHostException import in MetaTableLocator 2016-05-20 20:44:56 -07:00
stack 8dc0ae6fb3 HBASE-15863 Typo in Put.java class documentation (Tamer Soliman) 2016-05-20 11:51:36 -07:00
Gary Helmling 4793988aef HBASE-15856 Don't cache unresolved addresses for connections 2016-05-20 09:36:11 -07:00
eshcar a27504c701 HBASE-14920: Compacting memstore
Signed-off-by: stack <stack@apache.org>
2016-05-20 03:41:43 -07:00
Matteo Bertozzi 5ac54e6abb HBASE-15843 Replace RegionState.getRegionInTransition() Map with a Set 2016-05-18 12:48:26 -07:00
Phil Yang 3bd9220f0c HBASE-15593 Time limit of scanning should be offered by client
Signed-off-by: zhangduo <zhangduo@apache.org>
2016-05-18 19:13:15 +08:00
Ramkrishna 7b5d5394c0 HBASE-15784 Misuse core/maxPoolSize of LinkedBlockingQueue in
ThreadPoolExecutor (Jingcheng Du)
2016-05-18 12:40:43 +05:30
Elliott Clark 9269b8199e HBASE-15840 WAL.proto compilation broken for cpp 2016-05-17 12:04:14 -07:00
tedyu 838c306c0a HBASE-15769 Perform validation on cluster key for add_peer (Matt Warhaftig) 2016-05-17 11:01:26 -07:00
Sean Busbey e0aff10901 HBASE-15780 Make AuthUtil public and rely on it for talking to secure HBase.
Signed-off-by: Gary Helmling <garyh@apache.org>
Signed-off-by: Mikhail Antonov <antonov@apache.org>
Signed-off-by: stack <stack@apache.org>
2016-05-16 00:50:14 -05:00