[
https://issues.apache.org/jira/browse/HBASE-19093?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16274171#comment-16274171
]
Balazs Meszaros commented on HBASE-19093:
-----------------------------------------
Here is the full report:
{{MasterProtos$MasterService$Interface}}
- getLocks -> ignored
- getSchemaAlterStatus -> ignored
- getTableDescriptors -> ignored
- getTableNames -> ignored
- getClusterStatus -> ignored
- isMasterRunning -> ignored
- isMasterInMaintenanceMode -> ignored
- isBalancerEnabled -> ignored
- isSplitOrMergeEnabled -> ignored
- isNormalizerEnabled -> ignored
- isCatalogJanitorEnabled -> ignored
- isCleanerChoreEnabled -> ignored
- getCompletedSnapshots -> ignored
- isSnapshotDone -> ignored
- isProcedureDone -> ignored
- getNamespaceDescriptor -> ignored
- listNamespaceDescriptors -> ignored
- listTableDescriptorsByNamespace -> ignored
- listTableNamesByNamespace -> ignored
- getTableState -> ignored
- getLastMajorCompactionTimestamp -> ignored
- getLastMajorCompactionTimestampForRegion -> ignored
- getProcedureResult -> ignored
- getSecurityCapabilities -> ignored
- getProcedures -> ignored
- getReplicationPeerConfig -> ignored
- listReplicationPeers -> ignored
- listDecommissionedRegionServers -> ignored
- getSpaceQuotaRegionSizes -> ignored
- getQuotaStates -> ignored
- shutdown -> implemented by preShutdown
- modifyTable -> implemented by preModifyTable
- addColumn -> implemented by preModifyTable
- deleteColumn -> implemented by preModifyTable
- modifyColumn -> implemented by preModifyTable
- moveRegion -> implemented by preMove
- mergeTableRegions -> implemented by preMergeRegions
- assignRegion -> implemented by preAssign
- unassignRegion -> implemented by preUnassign
- offlineRegion -> implemented by preRegionOffline
{color:#d04437}# we have table and namespace quota, too{color}
- setQuota -> implemented by preSetUserQuota
- setBalancerRunning -> implemented by preBalanceSwitch
- balance -> implemented by preBalance
- splitRegion -> implemented by preSplitRegion
- deleteTable -> implemented by preDeleteTable
- truncateTable -> implemented by preTruncateTable
- enableTable -> implemented by preEnableTable
- disableTable -> implemented by preDisableTable
- createTable -> implemented by preCreateTable
- stopMaster -> implemented by preStopMaster
- setSplitOrMergeEnabled -> implemented by preSetSplitOrMergeEnabled
- deleteSnapshot -> implemented by preDeleteSnapshot
- restoreSnapshot -> implemented by preRestoreSnapshot
- modifyNamespace -> implemented by preModifyNamespace
- createNamespace -> implemented by preCreateNamespace
- deleteNamespace -> implemented by preDeleteNamespace
- abortProcedure -> implemented by preAbortProcedure
- addReplicationPeer -> implemented by preAddReplicationPeer
- removeReplicationPeer -> implemented by preRemoveReplicationPeer
- enableReplicationPeer -> implemented by preEnableReplicationPeer
- disableReplicationPeer -> implemented by preDisableReplicationPeer
- updateReplicationPeerConfig -> implemented by preUpdateReplicationPeerConfig
- decommissionRegionServers -> implemented by preDecommissionRegionServers
- recommissionRegionServer -> implemented by preRecommissionRegionServer
- clearDeadServers -> implemented by preClearDeadServers
- snapshot -> implemented by preSnapshot
- normalize -> missing
- setNormalizerRunning -> missing
- runCatalogScan -> missing
- enableCatalogJanitor -> missing
- runCleanerChore -> missing
- setCleanerChoreRunning -> missing
- execMasterService -> missing
- execProcedure -> missing
- execProcedureWithRet -> missing
{{ClientProtos$ClientService$Interface}}
- get -> implemented by preExists
- multi -> implemented by prePut
{color:#d04437}# I did not check every case, but in a mutate we call append,
put, delete, etc...{color}
- mutate -> implemented by preAppend
- execService -> implemented by preEndpointInvocation
- bulkLoadHFile -> implemented by preBulkLoadHFile
- prepareBulkLoad -> implemented by prePrepareBulkLoad
- cleanupBulkLoad -> implemented by preCleanupBulkLoad
- scan -> implemented by preScannerOpen
- execRegionServerService -> missing
{{LockServiceProtos$LockService$Interface}}
- requestLock -> implemented by preRequestLock
- lockHeartbeat -> implemented by preLockHeartbeat
{{RegionServerStatusProtos$RegionServerStatusService$Interface}}
- getLastFlushedSequenceId -> ignored
- regionServerStartup -> missing
- regionServerReport -> missing
- reportRSFatalError -> missing
- reportRegionStateTransition -> missing
- reportRegionSpaceUse -> missing
{{AdminProtos$AdminService$Interface}}
- getRegionInfo -> ignored
- getRegionLoad -> ignored
- getStoreFile -> ignored
- getOnlineRegion -> ignored
- getServerInfo -> ignored
- getSpaceQuotaSnapshots -> ignored
- closeRegion -> implemented by preClose
- flushRegion -> implemented by preFlush
- compactRegion -> implemented by preCompact
- openRegion -> implemented by preOpen
- stopServer -> implemented by stop
- rollWALWriter -> implemented by preRollWALWriterRequest
- replicateWALEntry -> implemented by preReplicateLogEntries
{color:#d04437}# why do we call it execute procedures? it does region opens and
closes{color}
- executeProcedures -> implemented by preOpen
- clearCompactionQueues -> implemented by preClearCompactionQueues
- updateConfiguration -> missing
- replay -> missing
- warmupRegion -> missing
- updateFavoredNodes -> missing
- clearRegionBlockCache -> missing
> Check Admin/Table to ensure all operations go via AccessControl
> ---------------------------------------------------------------
>
> Key: HBASE-19093
> URL: https://issues.apache.org/jira/browse/HBASE-19093
> Project: HBase
> Issue Type: Sub-task
> Reporter: stack
> Assignee: Balazs Meszaros
> Priority: Blocker
> Fix For: 2.0.0-beta-1
>
> Attachments: HBASE-19093.master.001.patch,
> HBASE-19093.master.002.patch, RegionObserver.txt
>
>
> A cursory review of Admin Interface has a bunch of methods as open, with out
> AccessControl checks. For example, procedure executor has not check on it.
> This issue is about given the Admin and Table Interfaces a once-over to see
> what is missing and to fill in access control where missing.
> This is a follow-on from work over in HBASE-19048
--
This message was sent by Atlassian JIRA
(v6.4.14#64029)