You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@hbase.apache.org by "Andrew Purtell (JIRA)" <ji...@apache.org> on 2014/11/04 03:42:35 UTC
[jira] [Reopened] (HBASE-12142) Truncate command does not preserve
ACLs table
[ https://issues.apache.org/jira/browse/HBASE-12142?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel ]
Andrew Purtell reopened HBASE-12142:
------------------------------------
Truncation is not working correctly.
To reproduce:
# ./bin/hbase ltt -init_only
# ./bin/hbase shell
> truncate 'cluster_test'
TruncateTableHandler runs and claims to create region info:
{noformat}
2014-11-04 02:30:23,653 DEBUG [FifoRpcScheduler.handler1-thread-18] handler.TruncateTableHandler: Table 'cluster_test' archived!
2014-11-04 02:30:23,679 DEBUG [FifoRpcScheduler.handler1-thread-18] util.FSTableDescriptors: Wrote descriptor into: hdfs://ip-10-33-129-9.us-west-2.compute.internal:8020/hbase/.tmp/.tabledesc/.tableinfo.0000000001
2014-11-04 02:30:23,680 INFO [FifoRpcScheduler.handler1-thread-18] handler.TruncateTableHandler: Truncate will not preserve the regions
2014-11-04 02:30:23,681 INFO [RegionOpenAndInitThread-cluster_test-1] regionserver.HRegion: creating HRegion cluster_test HTD == 'cluster_test', {TABLE_ATTRIBUTES => {DURABILITY => 'USE_DEFAULT'}, {NAME => 'test_cf', DATA_BLOCK_ENCODING => 'NONE', BLOOMFILTER => 'ROW', REPLICATION_SCOPE => '0', COMPRESSION => 'NONE', VERSIONS => '1', TTL => 'FOREVER', MIN_VERSIONS => '0', KEEP_DELETED_CELLS => 'false', BLOCKSIZE => '65536', IN_MEMORY => 'false', BLOCKCACHE => 'true'} RootDir = hdfs://ip-10-33-129-9.us-west-2.compute.internal:8020/hbase/.tmp Table name == cluster_test
2014-11-04 02:30:23,703 DEBUG [RegionOpenAndInitThread-cluster_test-1] regionserver.HRegion: Instantiated cluster_test,,1415068223680.c23e76525f0f025d51f74006db7903e2.
2014-11-04 02:30:23,703 DEBUG [RegionOpenAndInitThread-cluster_test-1] regionserver.HRegion: Closing cluster_test,,1415068223680.c23e76525f0f025d51f74006db7903e2.: disabling compactions & flushes
2014-11-04 02:30:23,703 DEBUG [RegionOpenAndInitThread-cluster_test-1] regionserver.HRegion: Updates disabled for region cluster_test,,1415068223680.c23e76525f0f025d51f74006db7903e2.
2014-11-04 02:30:23,703 INFO [RegionOpenAndInitThread-cluster_test-1] regionserver.HRegion: Closed cluster_test,,1415068223680.c23e76525f0f025d51f74006db7903e2.
2014-11-04 02:30:23,707 INFO [FifoRpcScheduler.handler1-thread-18] catalog.MetaEditor: Added 1
2014-11-04 02:30:23,708 DEBUG [FifoRpcScheduler.handler1-thread-18] master.AssignmentManager: Assigning 1 region(s) to ip-10-204-3-67.us-west-2.compute.internal,8120,1415068107305
2014-11-04 02:30:23,708 DEBUG [FifoRpcScheduler.handler1-thread-18] zookeeper.ZKAssign: master:8100-0x149780b006a010a, quorum=ip-10-33-129-9.us-west-2.compute.internal:2181, baseZNode=/hbase Async create of unassigned node c23e76525f0f025d51f74006db7903e2 with OFFLINE state
{noformat}
But the region will fail to open
{noformat}
2014-11-04 02:30:23,738 DEBUG [main-EventThread] zookeeper.ZooKeeperWatcher: master:8100-0x149780b006a010a, quorum=ip-10-33-129-9.us-west-2.compute.internal:2181, baseZNode=/hbase Received ZooKeeper Event, type=NodeDataChanged, state=SyncConnected, path=/hbase/region-in-transition/c23e76525f0f025d51f74006db7903e2
2014-11-04 02:30:23,738 DEBUG [AM.ZK.Worker-pool2-t14] master.AssignmentManager: Handling RS_ZK_REGION_FAILED_OPEN, server=ip-10-204-3-67.us-west-2.compute.internal,8120,1415068107305, region=c23e76525f0f025d51f74006db7903e2, current_state={c23e76525f0f025d51f74006db7903e2 state=OPENING, ts=1415068223734, server=ip-10-204-3-67.us-west-2.compute.internal,8120,1415068107305}
2014-11-04 02:30:23,738 INFO [AM.ZK.Worker-pool2-t14] master.RegionStates: Transition {c23e76525f0f025d51f74006db7903e2 state=OPENING, ts=1415068223734, server=ip-10-204-3-67.us-west-2.compute.internal,8120,1415068107305} to {c23e76525f0f025d51f74006db7903e2 state=CLOSED, ts=1415068223738, server=ip-10-204-3-67.us-west-2.compute.internal,8120,1415068107305}
2014-11-04 02:30:23,738 WARN [AM.ZK.Worker-pool2-t14] master.AssignmentManager: Can't move c23e76525f0f025d51f74006db7903e2, there is no destination server available.
2014-11-04 02:30:23,739 DEBUG [AM.ZK.Worker-pool2-t14] handler.ClosedRegionHandler: Handling CLOSED event for c23e76525f0f025d51f74006db7903e2
{noformat}
Because this is happening on the RegionServer side:
{noformat}
2014-11-04 02:30:23,704 INFO [PriorityRpcServer.handler=16,queue=0,port=8120] regionserver.HRegionServer: Open cluster_test,,1415068223680.c23e76525f0f025d51f74006db7903e2.
2014-11-04 02:30:23,717 DEBUG [PriorityRpcServer.handler=16,queue=0,port=8120] util.FSTableDescriptors: Exception during readTableDecriptor. Current table name = cluster_test
org.apache.hadoop.hbase.TableInfoMissingException: No table descriptor file under hdfs://ip-10-33-129-9.us-west-2.compute.internal:8020/hbase/data/default/cluster_test
at org.apache.hadoop.hbase.util.FSTableDescriptors.getTableDescriptorFromFs(FSTableDescriptors.java:510)
at org.apache.hadoop.hbase.util.FSTableDescriptors.getTableDescriptorFromFs(FSTableDescriptors.java:487)
at org.apache.hadoop.hbase.util.FSTableDescriptors.get(FSTableDescriptors.java:173)
at org.apache.hadoop.hbase.regionserver.HRegionServer.openRegion(HRegionServer.java:3826)
at org.apache.hadoop.hbase.protobuf.generated.AdminProtos$AdminService$2.callBlockingMethod(AdminProtos.java:20164)
at org.apache.hadoop.hbase.ipc.RpcServer.call(RpcServer.java:2027)
at org.apache.hadoop.hbase.ipc.CallRunner.run(CallRunner.java:108)
at org.apache.hadoop.hbase.ipc.RpcExecutor.consumerLoop(RpcExecutor.java:110)
at org.apache.hadoop.hbase.ipc.RpcExecutor$1.run(RpcExecutor.java:90)
at java.lang.Thread.run(Thread.java:745)
2014-11-04 02:30:23,719 DEBUG [RS_OPEN_REGION-ip-10-204-3-67:8120-2] zookeeper.ZKAssign: regionserver:8120-0x149780b006a0105, quorum=ec2-54-71-67-141.us-west-2.compute.amazonaws.com:2181, baseZNode=/hbase Transitioning c23e76525f0f025d51f74006db7903e2 from M_ZK_REGION_OFFLINE to RS_ZK_REGION_OPENING
2014-11-04 02:30:23,723 DEBUG [RS_OPEN_REGION-ip-10-204-3-67:8120-2] zookeeper.ZKAssign: regionserver:8120-0x149780b006a0105, quorum=ec2-54-71-67-141.us-west-2.compute.amazonaws.com:2181, baseZNode=/hbase Transitioned node c23e76525f0f025d51f74006db7903e2 from M_ZK_REGION_OFFLINE to RS_ZK_REGION_OPENING
2014-11-04 02:30:23,723 DEBUG [RS_OPEN_REGION-ip-10-204-3-67:8120-2] regionserver.HRegion: Opening region: {ENCODED => c23e76525f0f025d51f74006db7903e2, NAME => 'cluster_test,,1415068223680.c23e76525f0f025d51f74006db7903e2.', STARTKEY => '', ENDKEY => ''}
2014-11-04 02:30:23,723 ERROR [RS_OPEN_REGION-ip-10-204-3-67:8120-2] handler.OpenRegionHandler: Failed open of region=cluster_test,,1415068223680.c23e76525f0f025d51f74006db7903e2., starting to roll back the global memstore size.
java.lang.IllegalStateException: Could not instantiate a region instance.
at org.apache.hadoop.hbase.regionserver.HRegion.newHRegion(HRegion.java:4266)
at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:4574)
at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:4547)
at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:4503)
at org.apache.hadoop.hbase.regionserver.HRegion.openHRegion(HRegion.java:4454)
at org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.openRegion(OpenRegionHandler.java:482)
at org.apache.hadoop.hbase.regionserver.handler.OpenRegionHandler.process(OpenRegionHandler.java:145)
at org.apache.hadoop.hbase.executor.EventHandler.run(EventHandler.java:128)
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1145)
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:615)
at java.lang.Thread.run(Thread.java:745)
Caused by: java.lang.reflect.InvocationTargetException
at sun.reflect.NativeConstructorAccessorImpl.newInstance0(Native Method)
at sun.reflect.NativeConstructorAccessorImpl.newInstance(NativeConstructorAccessorImpl.java:57)
at sun.reflect.DelegatingConstructorAccessorImpl.newInstance(DelegatingConstructorAccessorImpl.java:45)
at java.lang.reflect.Constructor.newInstance(Constructor.java:526)
at org.apache.hadoop.hbase.regionserver.HRegion.newHRegion(HRegion.java:4263)
... 10 more
Caused by: java.lang.IllegalArgumentException: Need table descriptor
at org.apache.hadoop.hbase.regionserver.HRegion.<init>(HRegion.java:556)
at org.apache.hadoop.hbase.regionserver.HRegion.<init>(HRegion.java:532)
... 15 more
2014-11-04 02:30:23,724 INFO [RS_OPEN_REGION-ip-10-204-3-67:8120-2] handler.OpenRegionHandler: Opening of region {ENCODED => c23e76525f0f025d51f74006db7903e2, NAME => 'cluster_test,,1415068223680.c23e76525f0f025d51f74006db7903e2.', STARTKEY => '', ENDKEY => ''} failed, transitioning from OPENING to FAILED_OPEN in ZK, expecting version 1
{noformat}
> Truncate command does not preserve ACLs table
> ---------------------------------------------
>
> Key: HBASE-12142
> URL: https://issues.apache.org/jira/browse/HBASE-12142
> Project: HBase
> Issue Type: Bug
> Affects Versions: 0.98.6
> Reporter: Vandana Ayyalasomayajula
> Assignee: Vandana Ayyalasomayajula
> Priority: Minor
> Labels: security
> Fix For: 2.0.0, 0.98.8, 0.99.2
>
> Attachments: HBASE-12142_0.patch, HBASE-12142_1.patch, HBASE-12142_2.patch, HBASE-12142_98.patch, HBASE-12142_98_2.patch, HBASE-12142_branch_1.patch, HBASE-12142_branch_1.patch, HBASE-12142_master_addendum.patch
>
>
> The current truncate command does not preserve acls on a table.
--
This message was sent by Atlassian JIRA
(v6.3.4#6332)