[ https://issues.apache.org/jira/browse/TEPHRA-219?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=15863076#comment-15863076 ]
ASF GitHub Bot commented on TEPHRA-219: --------------------------------------- Github user poornachandra commented on a diff in the pull request: https://github.com/apache/incubator-tephra/pull/35#discussion_r100709097 --- Diff: tephra-hbase-compat-1.1-base/src/main/java/org/apache/tephra/hbase/coprocessor/TransactionProcessor.java --- @@ -317,31 +317,31 @@ public InternalScanner preCompactScannerOpen(ObserverContext<RegionCoprocessorEn // Get the latest tx snapshot state for the compaction TransactionVisibilityState snapshot = cache.getLatestState(); - if (pruneEnable == null) { - Configuration conf = getConfiguration(c.getEnvironment()); - // Configuration won't be null in TransactionProcessor but the derived classes might return - // null if it is not available temporarily - if (conf != null) { - pruneEnable = conf.getBoolean(TxConstants.TransactionPruning.PRUNE_ENABLE, - TxConstants.TransactionPruning.DEFAULT_PRUNE_ENABLE); - if (Boolean.TRUE.equals(pruneEnable)) { - String pruneTable = conf.get(TxConstants.TransactionPruning.PRUNE_STATE_TABLE, - TxConstants.TransactionPruning.DEFAULT_PRUNE_STATE_TABLE); - long pruneFlushInterval = TimeUnit.SECONDS.toMillis( - conf.getLong(TxConstants.TransactionPruning.PRUNE_FLUSH_INTERVAL, - TxConstants.TransactionPruning.DEFAULT_PRUNE_FLUSH_INTERVAL)); - compactionState = new CompactionState(c.getEnvironment(), TableName.valueOf(pruneTable), pruneFlushInterval); - if (LOG.isDebugEnabled()) { - LOG.debug("Automatic invalid list pruning is enabled. Compaction state will be recorded in table " - + pruneTable); - } + Configuration conf = getConfiguration(c.getEnvironment()); --- End diff -- We don't need to read the configuration every time since it does not change when part of hbase-site.xml, right? We just need to make sure that when derived classes update the pruneEnable and other fields from a different thread, it gets reflected here. > Setup proper security context in co-processor for compaction and flushes > ------------------------------------------------------------------------ > > Key: TEPHRA-219 > URL: https://issues.apache.org/jira/browse/TEPHRA-219 > Project: Tephra > Issue Type: Sub-task > Reporter: Poorna Chandra > Assignee: Gokul Gunasekaran > Fix For: 0.11.0-incubating > > > From PHOENIX-3037, HBASE-16115 and HBASE-16141 - HBase runs compaction/flush > co-processor hooks as the user (current user) who started the > compaction/flush. This becomes an issue when a co-processor makes cross > region server calls in hooks. If the calls are made as the current user, then > the call may fail since the current user may not have sufficient privileges > to perform the call. > Tephra TransactionProcessor will need to run all calls in compaction/flush > hooks as the login user instead of the current user. -- This message was sent by Atlassian JIRA (v6.3.15#6346)