- Moved locks out of MasterProcedureScheduler#Queue. One Queue object is used for each namespace/table, which aren't more than 100. So we don't need complexity arising from all functionalities being in one place. SchemaLocking now owns locks and locking implementaion has been moved to procedure2 package.
- Removed NamespaceQueue because it wasn't being used as Queue (add,peek,poll,etc functions threw UnsupportedOperationException). It's was only used for locks on namespaces. Now that locks have been moved out of Queue class, it's not needed anymore.
- Remoed RegionEvent which was there only for locking on regions. Tables/namespaces used locking from Queue class and regions couldn't (there are no separate proc queue at region level), hence the redundance. Now that locking is separate, we can use the same for regions too.
- Removed QueueInterface class. No declarations, except one implementaion, which makes the point of having an interface moot.
- Removed QueueImpl, which was the only concrete implementation of abstract Queue class. Moved functions to Queue class itself to avoid unnecessary level in inheritance hierarchy.
- Removed ProcedureEventQueue class which was just a wrapper around ArrayDeque class. But we now have ProcedureWaitQueue as 'Type class'.
- Encapsulated table priority related stuff in a single class.
- Removed some unused functions.
Change-Id: I6a60424cb41e280bc111703053aa179d9071ba17
Renamed move_rsgroup_servers as move_servers_rsgroup
Renamed move_rsgroup_tables as move_tables_rsgroup
Minor changes to help text in rsgroup commands making them all same.
Made LOG from RSGroupAdminServer all talk of 'rsgroup' rather than
'group' to be consistent.
Fix for table.jsp where it would fail to display regions because no
type for the protobuf record specified.
Fix it so that move of an offline server to 'default' rsgroup is like
moving the reference to the server to trash (keeps the 'default' group
consistently 'dynamic' regards its server-list).
Fixed another issue where we were stuck in a loop because regions
were in FAILED_OPEN state because no server to assign too so we'd
never recover (a vagary of the current state of Master assignement
but no less a possibility in real world deploys).
Make it so servers are sorted when we list them; its what operator
would expect.
Support weekly and monthly mob compact partition policies in addition to the existing
daily partition policy.
Signed-off-by: Jingcheng Du <jingchengdu@apache.org>
This reverts commit 0ac5d4a7171833d33b35c09a3f5f3ca3ee5cd4d1.
This is a revert of a revert; i.e. a reapplication!
Fixes for breakage that comes in with this patch is in a follow-on.
A setStoragePolicy was added by:
commit 629b04f44f19b9589c9bcfb84da0cf5e0d4d1f18
Author: Yu Li <liyu@apache.org>
Date: Fri Jan 6 18:35:38 2017 +0800
HBASE-15172 Support setting storage policy in bulkload
..for hbase-server/src/main/java/org/apache/hadoop/hbase/mapreduce/HFileOutputFormat2.java
And in *FileSystem files and StoreFileWriter by
commit f92a14ade635e4b081f3938620979b5864ac261f
Author: Yu Li <liyu@apache.org>
Date: Mon Jan 9 09:52:58 2017 +0800
HBASE-14061 Support CF-level Storage Policy
This patch has all instances call the FSUtils#setStoragePolicy added here:
commit eafc07a06d03c00e17bd476fa2b84ba7c8924b1e
Author: tedyu <yuzhihong@gmail.com>
Date: Thu Jan 15 08:52:30 2015 -0800
HBASE-12848 Utilize Flash storage for WAL
It does right thing when local vs distributed calling setStoragePolicy.
Fixed bug in the above FSUtils#setStoragePolicy where the check for a
distributed filesystem was failing when passed an HFileSystem -- though
it was backed by a DistributedFileSystem.
Cleanups.