[jira] [Commented] (HBASE-4478) Improve AssignmentManager.handleRegion so that it can process certain ZK state in the case of RS offline

2011-11-12 Thread Hudson (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4478?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13149004#comment-13149004
 ] 

Hudson commented on HBASE-4478:
---

Integrated in HBase-TRUNK #2431 (See 
[https://builds.apache.org/job/HBase-TRUNK/2431/])
HBASE-4478  Improve AssignmentManager.handleRegion so that it can process 
certain ZK state
   in the case of RS offline

tedyu : 
Files : 
* /hbase/trunk/CHANGES.txt
* 
/hbase/trunk/src/main/java/org/apache/hadoop/hbase/master/AssignmentManager.java


 Improve AssignmentManager.handleRegion so that it can process certain ZK 
 state in the case of RS offline
 

 Key: HBASE-4478
 URL: https://issues.apache.org/jira/browse/HBASE-4478
 Project: HBase
  Issue Type: Bug
Reporter: Ming Ma
Assignee: ramkrishna.s.vasudevan
 Attachments: 4478-v2.txt, HBASE-4478_1.patch


 Currently AssignmentManager.handleRegion skips processing of ZK event change 
 if the RS is offline. It relies on TimeoutMonitor and ServerShutdownHandler 
 to process RIT.
   // Verify this is a known server
   if (!serverManager.isServerOnline(sn) 
   !this.master.getServerName().equals(sn)) {
 LOG.warn(Attempted to handle region transition for server but  +
   server is not online:  + Bytes.toString(data.getRegionName()));
 return;
   }
 For certain states like OPENED, OPENING, FAILED_OPEN, CLOSED, it can continue 
 the progressing even if the RS is offline.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-4768) Per-(table, columnFamily) metrics with configurable table name inclusion

2011-11-12 Thread Phabricator (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-4768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phabricator updated HBASE-4768:
---

Attachment: D363.3.patch

mbautin updated the revision [jira] [HBASE-4768] Per-(table, columnFamily) 
metrics with configurable table name inclusion.
Reviewers: jgray, nspiegelberg, stack, tedyu, todd, JIRA

  During cluster testing I found a mysterious column family name .tmp. It 
turns out that with cache-on-write the .tmp directory name was erroneously 
picked up as column family. Fixing this by setting table name and column family 
name from Store for temporary StoreFiles.

REVISION DETAIL
  https://reviews.facebook.net/D363

AFFECTED FILES
  src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileWriter.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/BlockType.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/Cacheable.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlockInfo.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV1.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV1.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV2.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/LruBlockCache.java
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
  src/main/java/org/apache/hadoop/hbase/regionserver/Store.java
  src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
  
src/main/java/org/apache/hadoop/hbase/regionserver/metrics/SchemaConfigured.java
  src/main/java/org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.java
  src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
  src/test/java/org/apache/hadoop/hbase/io/hfile/CacheTestUtils.java
  src/test/java/org/apache/hadoop/hbase/io/hfile/TestCachedBlockQueue.java
  src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java
  src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlock.java
  src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileReaderV1.java
  src/test/java/org/apache/hadoop/hbase/io/hfile/TestLruBlockCache.java
  src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
  src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java
  
src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.java
  src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java
  
src/test/java/org/apache/hadoop/hbase/regionserver/metrics/TestSchemaConfigured.java
  
src/test/java/org/apache/hadoop/hbase/regionserver/metrics/TestSchemaMetrics.java


 Per-(table, columnFamily) metrics with configurable table name inclusion
 

 Key: HBASE-4768
 URL: https://issues.apache.org/jira/browse/HBASE-4768
 Project: HBase
  Issue Type: New Feature
Reporter: Mikhail Bautin
Assignee: Mikhail Bautin
 Attachments: D363.1.patch, D363.2.patch, D363.3.patch


 As we kept adding more granular block read and block cache usage statistics, 
 a combinatorial explosion of various cases to monitor started to happen, 
 especially when we wanted both per-table/column family/block type statistics 
 and aggregate statistics on various subsets of these dimensions. Here, we 
 un-clutters HFile readers, LruBlockCache, StoreFile, etc. by creating a 
 centralized class that knows how to update all kinds of per-table/CF/block 
 type counters. 
 Table name and column family configuration have been pushed to a base class, 
 SchemaConfigured. This is convenient as many of existing classes that have 
 these properties (HFile readers/writers, HFile blocks, etc.) did not have a 
 base class. Whether to collect per-(table, columnFamily) or per-columnFamily 
 only metrics can be configured with the hbase.metrics.showTableName 
 configuration key. We don't expect this configuration to change at runtime, 
 so we cache the setting statically and log a warning when an attempt is made 
 to flip it once already set. This way we don't have to pass configuration to 
 a lot more places, e.g. everywhere an HFile reader is instantiated.
 Thanks to Liyin for his initial version of per-table metrics patch and a lot 
 of valuable feedback.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on 

[jira] [Commented] (HBASE-4768) Per-(table, columnFamily) metrics with configurable table name inclusion

2011-11-12 Thread Phabricator (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4768?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13149085#comment-13149085
 ] 

Phabricator commented on HBASE-4768:


tedyu has commented on the revision [jira] [HBASE-4768] Per-(table, 
columnFamily) metrics with configurable table name inclusion.

  Nice work.

INLINE COMMENTS
  
src/main/java/org/apache/hadoop/hbase/regionserver/metrics/SchemaConfigured.java:2
 Year isn't needed.
  
src/main/java/org/apache/hadoop/hbase/regionserver/metrics/SchemaConfigured.java:43
 The class should be SchemaConfigured.
  
src/main/java/org/apache/hadoop/hbase/regionserver/metrics/SchemaConfigured.java:37
 Should read 'can be associated with table'
  
src/main/java/org/apache/hadoop/hbase/regionserver/metrics/SchemaConfigured.java:89
 We shouldn't say HFile path because the path is too shallow, right ?
  
src/main/java/org/apache/hadoop/hbase/regionserver/metrics/SchemaConfigured.java:153
 Since either tableName or cfName may not be null, should we include them in 
the exception message ?
  
src/main/java/org/apache/hadoop/hbase/regionserver/metrics/SchemaConfigured.java:166
 Would passSchemaMetricsTo() be a better name for this method ?
  
src/main/java/org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.java:170
 I didn't find reference to this constant in the patch.
  From its format, it doesn't look like a prefix (no trailing .).

REVISION DETAIL
  https://reviews.facebook.net/D363


 Per-(table, columnFamily) metrics with configurable table name inclusion
 

 Key: HBASE-4768
 URL: https://issues.apache.org/jira/browse/HBASE-4768
 Project: HBase
  Issue Type: New Feature
Reporter: Mikhail Bautin
Assignee: Mikhail Bautin
 Attachments: D363.1.patch, D363.2.patch, D363.3.patch


 As we kept adding more granular block read and block cache usage statistics, 
 a combinatorial explosion of various cases to monitor started to happen, 
 especially when we wanted both per-table/column family/block type statistics 
 and aggregate statistics on various subsets of these dimensions. Here, we 
 un-clutters HFile readers, LruBlockCache, StoreFile, etc. by creating a 
 centralized class that knows how to update all kinds of per-table/CF/block 
 type counters. 
 Table name and column family configuration have been pushed to a base class, 
 SchemaConfigured. This is convenient as many of existing classes that have 
 these properties (HFile readers/writers, HFile blocks, etc.) did not have a 
 base class. Whether to collect per-(table, columnFamily) or per-columnFamily 
 only metrics can be configured with the hbase.metrics.showTableName 
 configuration key. We don't expect this configuration to change at runtime, 
 so we cache the setting statically and log a warning when an attempt is made 
 to flip it once already set. This way we don't have to pass configuration to 
 a lot more places, e.g. everywhere an HFile reader is instantiated.
 Thanks to Liyin for his initial version of per-table metrics patch and a lot 
 of valuable feedback.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4610) Port HBASE-3380 (Master failover can split logs of live servers) to 92/trunk (definitely bring in config params, decide if we need to do more to fix the bug)

2011-11-12 Thread Ted Yu (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4610?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13149094#comment-13149094
 ] 

Ted Yu commented on HBASE-4610:
---

Since HBASE-4749 has been integrated, is this still needed ?

 Port HBASE-3380 (Master failover can split logs of live servers) to 92/trunk 
 (definitely bring in config params, decide if we need to do more to fix the 
 bug)
 -

 Key: HBASE-4610
 URL: https://issues.apache.org/jira/browse/HBASE-4610
 Project: HBase
  Issue Type: Bug
  Components: master
Affects Versions: 0.92.0, 0.94.0
Reporter: Jonathan Gray
Assignee: Jonathan Gray
 Fix For: 0.92.0


 Over in HBASE-3380 we were having some TestMasterFailover flakiness.  We 
 added some more config parameters to better control the master startup loop 
 where it waits for RS to heartbeat in.  We had thought at the time that 92 
 would have a different solution but it is still relying on heartbeats to 
 learn about RSs.
 For now, we should definitely bring these config params into 92/trunk.  
 Otherwise this is an incompatible regression and adding these will also make 
 things like what was just reported over in HBASE-4603 trivial to fix in an 
 optimal way.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-4575) Inconsistent naming for ZK config parameters

2011-11-12 Thread Ted Yu (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-4575?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-4575:
--

Fix Version/s: (was: 0.92.0)
   0.94.0

 Inconsistent naming for ZK config parameters
 

 Key: HBASE-4575
 URL: https://issues.apache.org/jira/browse/HBASE-4575
 Project: HBase
  Issue Type: Bug
  Components: test, zookeeper
Affects Versions: 0.92.0, 0.94.0
Reporter: Jonathan Gray
Assignee: Jonathan Gray
 Fix For: 0.94.0


 I've found some misnaming of certain ZK config options.  Make them consistent.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Created] (HBASE-4779) TestHTablePool, TestScanWithBloomError, TestRegionSplitCalculator are not tagged and TestPoolMap should not use TestSuite

2011-11-12 Thread nkeywal (Created) (JIRA)
TestHTablePool, TestScanWithBloomError, TestRegionSplitCalculator are not 
tagged and TestPoolMap should not use TestSuite
-

 Key: HBASE-4779
 URL: https://issues.apache.org/jira/browse/HBASE-4779
 Project: HBase
  Issue Type: Improvement
  Components: test
Affects Versions: 0.94.0
Reporter: nkeywal
Assignee: nkeywal
Priority: Minor


All tests must be tagged now.
TestSuite is deprecated since JUnit 4.4, and does not works well with JUnit 
categories  surefire.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-4779) TestHTablePool, TestScanWithBloomError, TestRegionSplitCalculator are not tagged and TestPoolMap should not use TestSuite

2011-11-12 Thread nkeywal (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-4779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

nkeywal updated HBASE-4779:
---

Attachment: 4779_trunk_all.patch

 TestHTablePool, TestScanWithBloomError, TestRegionSplitCalculator are not 
 tagged and TestPoolMap should not use TestSuite
 -

 Key: HBASE-4779
 URL: https://issues.apache.org/jira/browse/HBASE-4779
 Project: HBase
  Issue Type: Improvement
  Components: test
Affects Versions: 0.94.0
Reporter: nkeywal
Assignee: nkeywal
Priority: Minor
 Attachments: 4779_trunk_all.patch


 All tests must be tagged now.
 TestSuite is deprecated since JUnit 4.4, and does not works well with JUnit 
 categories  surefire.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-4779) TestHTablePool, TestScanWithBloomError, TestRegionSplitCalculator are not tagged and TestPoolMap should not use TestSuite

2011-11-12 Thread nkeywal (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-4779?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

nkeywal updated HBASE-4779:
---

Status: Patch Available  (was: Open)

 TestHTablePool, TestScanWithBloomError, TestRegionSplitCalculator are not 
 tagged and TestPoolMap should not use TestSuite
 -

 Key: HBASE-4779
 URL: https://issues.apache.org/jira/browse/HBASE-4779
 Project: HBase
  Issue Type: Improvement
  Components: test
Affects Versions: 0.94.0
Reporter: nkeywal
Assignee: nkeywal
Priority: Minor
 Attachments: 4779_trunk_all.patch


 All tests must be tagged now.
 TestSuite is deprecated since JUnit 4.4, and does not works well with JUnit 
 categories  surefire.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4779) TestHTablePool, TestScanWithBloomError, TestRegionSplitCalculator are not tagged and TestPoolMap should not use TestSuite

2011-11-12 Thread Hadoop QA (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13149096#comment-13149096
 ] 

Hadoop QA commented on HBASE-4779:
--

-1 overall.  Here are the results of testing the latest attachment 
  http://issues.apache.org/jira/secure/attachment/12503495/4779_trunk_all.patch
  against trunk revision .

+1 @author.  The patch does not contain any @author tags.

+1 tests included.  The patch appears to include 12 new or modified tests.

-1 patch.  The patch command could not apply the patch.

Console output: https://builds.apache.org/job/PreCommit-HBASE-Build/238//console

This message is automatically generated.

 TestHTablePool, TestScanWithBloomError, TestRegionSplitCalculator are not 
 tagged and TestPoolMap should not use TestSuite
 -

 Key: HBASE-4779
 URL: https://issues.apache.org/jira/browse/HBASE-4779
 Project: HBase
  Issue Type: Improvement
  Components: test
Affects Versions: 0.94.0
Reporter: nkeywal
Assignee: nkeywal
Priority: Minor
 Attachments: 4779_trunk_all.patch


 All tests must be tagged now.
 TestSuite is deprecated since JUnit 4.4, and does not works well with JUnit 
 categories  surefire.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4764) naming errors for TestHLogUtils and SoftValueSortedMapTest

2011-11-12 Thread nkeywal (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13149099#comment-13149099
 ] 

nkeywal commented on HBASE-4764:


@committers: please tell if you're ok with:
- TestHLogUtils: renaming
- SoftValueSortedMapTest: renaming + JUnitization if included tests works, 
deletion otherwise.

 naming errors for TestHLogUtils and SoftValueSortedMapTest
 --

 Key: HBASE-4764
 URL: https://issues.apache.org/jira/browse/HBASE-4764
 Project: HBase
  Issue Type: Improvement
  Components: test
Affects Versions: 0.94.0
Reporter: nkeywal
Assignee: nkeywal
Priority: Minor

 SoftValueSortedMapTest it's a test, but not a junit one, I tend to think it's 
 not called. I don't know if it's used.
 TestHLogUtils has a wrong name: it's not a test, but an helper. It confuses 
 the script looking for the tests. It would seems a better thing to rename it. 
 Is there anything special to do to keep the history attached to this file?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4764) naming errors for TestHLogUtils and SoftValueSortedMapTest

2011-11-12 Thread Ted Yu (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13149102#comment-13149102
 ] 

Ted Yu commented on HBASE-4764:
---

I think the proposal makes sense.

See also http://markphip.blogspot.com/2006/12/subversion-moverename-feature.html

 naming errors for TestHLogUtils and SoftValueSortedMapTest
 --

 Key: HBASE-4764
 URL: https://issues.apache.org/jira/browse/HBASE-4764
 Project: HBase
  Issue Type: Improvement
  Components: test
Affects Versions: 0.94.0
Reporter: nkeywal
Assignee: nkeywal
Priority: Minor

 SoftValueSortedMapTest it's a test, but not a junit one, I tend to think it's 
 not called. I don't know if it's used.
 TestHLogUtils has a wrong name: it's not a test, but an helper. It confuses 
 the script looking for the tests. It would seems a better thing to rename it. 
 Is there anything special to do to keep the history attached to this file?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4779) TestHTablePool, TestScanWithBloomError, TestRegionSplitCalculator are not tagged and TestPoolMap should not use TestSuite

2011-11-12 Thread Ted Yu (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4779?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13149105#comment-13149105
 ] 

Ted Yu commented on HBASE-4779:
---

Please fix the following:
{code}
Hunk #6 FAILED at 62.
3 out of 6 hunks FAILED -- saving rejects to file 
src/test/java/org/apache/hadoop/hbase/regionserver/TestScanWithBloomError.java.rej
{code}

 TestHTablePool, TestScanWithBloomError, TestRegionSplitCalculator are not 
 tagged and TestPoolMap should not use TestSuite
 -

 Key: HBASE-4779
 URL: https://issues.apache.org/jira/browse/HBASE-4779
 Project: HBase
  Issue Type: Improvement
  Components: test
Affects Versions: 0.94.0
Reporter: nkeywal
Assignee: nkeywal
Priority: Minor
 Attachments: 4779_trunk_all.patch


 All tests must be tagged now.
 TestSuite is deprecated since JUnit 4.4, and does not works well with JUnit 
 categories  surefire.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4764) naming errors for TestHLogUtils and SoftValueSortedMapTest

2011-11-12 Thread stack (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4764?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13149110#comment-13149110
 ] 

stack commented on HBASE-4764:
--

+1 on proposed changes

 naming errors for TestHLogUtils and SoftValueSortedMapTest
 --

 Key: HBASE-4764
 URL: https://issues.apache.org/jira/browse/HBASE-4764
 Project: HBase
  Issue Type: Improvement
  Components: test
Affects Versions: 0.94.0
Reporter: nkeywal
Assignee: nkeywal
Priority: Minor

 SoftValueSortedMapTest it's a test, but not a junit one, I tend to think it's 
 not called. I don't know if it's used.
 TestHLogUtils has a wrong name: it's not a test, but an helper. It confuses 
 the script looking for the tests. It would seems a better thing to rename it. 
 Is there anything special to do to keep the history attached to this file?

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-4478) Improve AssignmentManager.handleRegion so that it can process certain ZK state in the case of RS offline

2011-11-12 Thread Ted Yu (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-4478?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Ted Yu updated HBASE-4478:
--

  Resolution: Fixed
Hadoop Flags: Reviewed
  Status: Resolved  (was: Patch Available)

 Improve AssignmentManager.handleRegion so that it can process certain ZK 
 state in the case of RS offline
 

 Key: HBASE-4478
 URL: https://issues.apache.org/jira/browse/HBASE-4478
 Project: HBase
  Issue Type: Bug
Reporter: Ming Ma
Assignee: ramkrishna.s.vasudevan
 Attachments: 4478-v2.txt, HBASE-4478_1.patch


 Currently AssignmentManager.handleRegion skips processing of ZK event change 
 if the RS is offline. It relies on TimeoutMonitor and ServerShutdownHandler 
 to process RIT.
   // Verify this is a known server
   if (!serverManager.isServerOnline(sn) 
   !this.master.getServerName().equals(sn)) {
 LOG.warn(Attempted to handle region transition for server but  +
   server is not online:  + Bytes.toString(data.getRegionName()));
 return;
   }
 For certain states like OPENED, OPENING, FAILED_OPEN, CLOSED, it can continue 
 the progressing even if the RS is offline.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4777) Write back to client 'incompatible' if we show up with wrong version

2011-11-12 Thread Ted Yu (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13149195#comment-13149195
 ] 

Ted Yu commented on HBASE-4777:
---

+1 on patch.
opentsdb would be very useful for HBase 0.92

 Write back to client 'incompatible' if we show up with wrong version
 

 Key: HBASE-4777
 URL: https://issues.apache.org/jira/browse/HBASE-4777
 Project: HBase
  Issue Type: Bug
Reporter: stack
Assignee: stack
 Attachments: 4777.txt


 We changed the RPC_VERSION to 4 in hbase-3939.  If a client comes in 
 volunteering RPC_VERSION is 3, currently, we'll log 'wrong version' but we'll 
 close the connection; the client has no chance of knowing why the server went 
 away.
 Returning -1 as id up out of here is what causes the connection close:
 {code}
 private void setupBadVersionResponse(int clientVersion) throws 
 IOException {
   String errMsg = Server IPC version  + CURRENT_VERSION +
cannot communicate with client version  + clientVersion;
   ByteArrayOutputStream buffer = new ByteArrayOutputStream();
   if (clientVersion = 3) {
 Call fakeCall =  new Call(-1, null, this, responder);
 // Versions 3 and greater can interpret this exception
 // response in the same manner
 setupResponse(buffer, fakeCall, Status.FATAL,
 null, VersionMismatch.class.getName(), errMsg);
 responder.doRespond(fakeCall);
   }
 }
 {code}
 Instead, we need to return an id that does not close the connection so cilent 
 gets chance to read the response.
 Suggestion is that we return a 0 for the id the connection will stay up.
 If an old client and it sends the wrong version, it'll move on to do 
 getProtocolVersion... and will fail there.
 Other clients, e.g. asynchbase, if they get a response will have a response 
 to switch what they send to suit the new server.
 (There are other issues -- e.g. Invocation is versioned now -- but Benoit 
 needs some means of figuring whats on other side)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4777) Write back to client 'incompatible' if we show up with wrong version

2011-11-12 Thread Lars Hofhansl (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13149201#comment-13149201
 ] 

Lars Hofhansl commented on HBASE-4777:
--

+1 as well

 Write back to client 'incompatible' if we show up with wrong version
 

 Key: HBASE-4777
 URL: https://issues.apache.org/jira/browse/HBASE-4777
 Project: HBase
  Issue Type: Bug
Reporter: stack
Assignee: stack
 Attachments: 4777.txt


 We changed the RPC_VERSION to 4 in hbase-3939.  If a client comes in 
 volunteering RPC_VERSION is 3, currently, we'll log 'wrong version' but we'll 
 close the connection; the client has no chance of knowing why the server went 
 away.
 Returning -1 as id up out of here is what causes the connection close:
 {code}
 private void setupBadVersionResponse(int clientVersion) throws 
 IOException {
   String errMsg = Server IPC version  + CURRENT_VERSION +
cannot communicate with client version  + clientVersion;
   ByteArrayOutputStream buffer = new ByteArrayOutputStream();
   if (clientVersion = 3) {
 Call fakeCall =  new Call(-1, null, this, responder);
 // Versions 3 and greater can interpret this exception
 // response in the same manner
 setupResponse(buffer, fakeCall, Status.FATAL,
 null, VersionMismatch.class.getName(), errMsg);
 responder.doRespond(fakeCall);
   }
 }
 {code}
 Instead, we need to return an id that does not close the connection so cilent 
 gets chance to read the response.
 Suggestion is that we return a 0 for the id the connection will stay up.
 If an old client and it sends the wrong version, it'll move on to do 
 getProtocolVersion... and will fail there.
 Other clients, e.g. asynchbase, if they get a response will have a response 
 to switch what they send to suit the new server.
 (There are other issues -- e.g. Invocation is versioned now -- but Benoit 
 needs some means of figuring whats on other side)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-4777) Write back to client 'incompatible' if we show up with wrong version

2011-11-12 Thread stack (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-4777?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack updated HBASE-4777:
-

   Resolution: Fixed
Fix Version/s: 0.92.0
 Hadoop Flags: Reviewed
   Status: Resolved  (was: Patch Available)

Thanks for review lads.  Committed branch and trunk.

 Write back to client 'incompatible' if we show up with wrong version
 

 Key: HBASE-4777
 URL: https://issues.apache.org/jira/browse/HBASE-4777
 Project: HBase
  Issue Type: Bug
Reporter: stack
Assignee: stack
 Fix For: 0.92.0

 Attachments: 4777.txt


 We changed the RPC_VERSION to 4 in hbase-3939.  If a client comes in 
 volunteering RPC_VERSION is 3, currently, we'll log 'wrong version' but we'll 
 close the connection; the client has no chance of knowing why the server went 
 away.
 Returning -1 as id up out of here is what causes the connection close:
 {code}
 private void setupBadVersionResponse(int clientVersion) throws 
 IOException {
   String errMsg = Server IPC version  + CURRENT_VERSION +
cannot communicate with client version  + clientVersion;
   ByteArrayOutputStream buffer = new ByteArrayOutputStream();
   if (clientVersion = 3) {
 Call fakeCall =  new Call(-1, null, this, responder);
 // Versions 3 and greater can interpret this exception
 // response in the same manner
 setupResponse(buffer, fakeCall, Status.FATAL,
 null, VersionMismatch.class.getName(), errMsg);
 responder.doRespond(fakeCall);
   }
 }
 {code}
 Instead, we need to return an id that does not close the connection so cilent 
 gets chance to read the response.
 Suggestion is that we return a 0 for the id the connection will stay up.
 If an old client and it sends the wrong version, it'll move on to do 
 getProtocolVersion... and will fail there.
 Other clients, e.g. asynchbase, if they get a response will have a response 
 to switch what they send to suit the new server.
 (There are other issues -- e.g. Invocation is versioned now -- but Benoit 
 needs some means of figuring whats on other side)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-3025) Coprocessor based simple access control

2011-11-12 Thread stack (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-3025?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack updated HBASE-3025:
-

 Priority: Critical  (was: Major)
Fix Version/s: 0.92.0

This is in way of 0.92 release.

 Coprocessor based simple access control
 ---

 Key: HBASE-3025
 URL: https://issues.apache.org/jira/browse/HBASE-3025
 Project: HBase
  Issue Type: Sub-task
  Components: coprocessors
Reporter: Andrew Purtell
Priority: Critical
 Fix For: 0.92.0

 Attachments: HBASE-3025.1.patch, HBASE-3025.2011-02-01.patch


 Thanks for the clarification Jeff which reminds me to edit this issue.
 Goals of this issue
 # Client access to HBase is authenticated
 # User data is private unless access has been granted
 # Access to data can be granted at a table or per column family basis. 
 Non-Goals of this issue
 The following items will be left out of the initial implementation for 
 simplicity:
 # Row-level or per value (cell) This would require broader changes for 
 storing the ACLs inline with rows. It's still a future goal, but would slow 
 down the initial implementation considerably.
 # Push down of file ownership to HDFS While table ownership seems like a 
 useful construct to start with (at least to lay the groundwork for future 
 changes), making HBase act as table owners when interacting with HDFS would 
 require more changes. In additional, while HDFS file ownership would make 
 applying quotas easy, and possibly make bulk imports more straightforward, 
 it's not clean it would offer a more secure setup. We'll leave this to 
 evaluate in a later phase.
 # HBase managed roles as collections of permissions We will not model 
 roles internally in HBase to begin with. We will instead allow group names 
 to be granted permissions, which will allow some external modeling of roles 
 via group memberships. Groups will be created and manipulated externally to 
 HBase. 
 While the assignment of permissions to roles and roles to users (or other 
 roles) allows a great deal of flexibility in security policy, it would add 
 complexity to the initial implementation. 
 After the initial implementation, which will appear on this issue, we will 
 evaluate the addition of role definitions internal to HBase in a new JIRA. In 
 this scheme, administrators could assign permissions specifying HDFS groups, 
 and additionally HBase roles. HBase roles would be created and manipulated 
 internally to HBase, and would appear distinct from HDFS groups via some 
 syntactic sugar. HBase role definitions will be allowed to reference other 
 HBase role definitions. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-3025) Coprocessor based simple access control

2011-11-12 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-3025?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13149227#comment-13149227
 ] 

jirapos...@reviews.apache.org commented on HBASE-3025:
--


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/2041/#review3187
---


About 1/4 way through.  Will pick up again in morning.


security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlFilter.java
https://reviews.apache.org/r/2041/#comment7008

Is it on whenever I'm doing access control?



security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlFilter.java
https://reviews.apache.org/r/2041/#comment7009

Interesting



security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment7010

Is _acl_ a good name?   I hate -ROOT- and then .META.  Its dumb.  All 
catalog tables should look the same.  -ROOT- will likely go away soon.  That 
would tend to rule the name be .ACL.  But then leading off w/ a dot is a bit of 
a pain especially when you copy it local filesystem (it won't show in 
listings).  On other hand, maybe thats ok... makes it special.  And our 
*special* dirs tend to lead off with a '.' as in '.logs'., etc.



security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment7011

We ensure a user can't have a '@ prefix I presume (haven't read all the 
code yet).




security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment7012

This is great.  Nice.  Clean.  What happens if we ever want to do 
cell-level?



security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment7013

I'd suggest you set an example with this new table and instead of having 
the cf be 'info', instead have it be 'l' as short for lists (you are giving an 
example by having short cf names).



security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment7014

If no family qualifier, we are granting perm on whole table?  Thats ok?



security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment7015

Should we check family is not null?  Doesn't a qualifier have to have a 
family to qualify?  This should be inside the family check?



security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment7016

Ok good.



security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment7017

Usually space either side of operators as in 'int i = 0' rather than 'int 
i=0'.  Etc.



security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment7018

Oh, a byte per action?  Thats grand.



security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment7019

Should it throw exception?

Should we read for an ACL first and not write a delete if none present 
(throwing exception if nothing to delete)?

I think I know why no effect



security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment7020

When I do this?  And what happens if perms are edited subsequently?  Are 
they considered?

Or is this method for testing like the one that follows?



security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment7021

We're doing the ACL table, not .META.  This a stale comment?



security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment7022

Stale comment?



security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment7023

Just point at class comment rather than dup it here?



security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment7024

Probably have to do that over in core master classes.  Its there we are 
guaranteeing root up before meta...



security/src/main/java/org/apache/hadoop/hbase/security/access/AccessControlLists.java
https://reviews.apache.org/r/2041/#comment7025

This is a bit of a pain having to make a String of it then going back to 
byte arrays after parse.  

[jira] [Updated] (HBASE-2742) Provide strong authentication with a secure RPC engine

2011-11-12 Thread stack (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-2742?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

stack updated HBASE-2742:
-

 Priority: Critical  (was: Major)
Fix Version/s: 0.92.0

This is in way of a 0.92 release.

 Provide strong authentication with a secure RPC engine
 --

 Key: HBASE-2742
 URL: https://issues.apache.org/jira/browse/HBASE-2742
 Project: HBase
  Issue Type: Improvement
  Components: ipc
Reporter: Gary Helmling
Priority: Critical
 Fix For: 0.92.0


 The HBase RPC code (org.apache.hadoop.hbase.ipc.*) was originally forked off 
 of Hadoop RPC classes, with some performance tweaks added.  Those 
 optimizations have come at a cost in keeping up with Hadoop RPC changes 
 however, both bug fixes and improvements/new features.  
 In particular, this impacts how we implement security features in HBase (see 
 HBASE-1697 and HBASE-2016).  The secure Hadoop implementation (HADOOP-4487) 
 relies heavily on RPC changes to support client authentication via kerberos 
 and securing and mutual authentication of client/server connections via SASL. 
  Making use of the built-in Hadoop RPC classes will gain us these pieces for 
 free in a secure HBase.
 So, I'm proposing that we drop the HBase forked version of RPC and convert to 
 direct use of Hadoop RPC, while working to contribute important fixes back 
 upstream to Hadoop core.  Based on a review of the HBase RPC changes, the key 
 divergences seem to be:
 HBaseClient:
  - added use of TCP keepalive (HBASE-1754)
  - made connection retries and sleep configurable (HBASE-1815)
  - prevent NPE if socket == null due to creation failure (HBASE-2443)
 HBaseRPC:
  - mapping of method names - codes (removed in HBASE-2219)
 HBaseServer:
  - use of TCP keep alives (HBASE-1754)
  - OOME in server does not trigger abort (HBASE-1198)
 HbaseObjectWritable:
  - allows List serialization
  - includes it's own class - code mapping (HBASE-328)
 Proposed process is:
 1. open issues with patches on Hadoop core for important fixes/adjustments 
 from HBase RPC (HBASE-1198, HBASE-1815, HBASE-1754, HBASE-2443, plus a 
 pluggable ObjectWritable implementation in RPC.Invocation to allow use of 
 HbaseObjectWritable).
 2. ship a Hadoop version with RPC patches applied -- ideally we should avoid 
 another copy-n-paste code fork, subject to ability to isolate changes from 
 impacting Hadoop internal RPC wire formats
 3. if all Hadoop core patches are applied we can drop back to a plain vanilla 
 Hadoop version
 I realize there are many different opinions on how to proceed with HBase RPC, 
 so I'm hoping this issue will kick off a discussion on what the best approach 
 might be.  My own motivation is maximizing re-use of the authentication and 
 connection security work that's already gone into Hadoop core.  I'll put 
 together a set of patches around #1 and #2, but obviously we need some 
 consensus around this to move forward.  If I'm missing other differences 
 between HBase and Hadoop RPC, please list as well.  Discuss!

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4768) Per-(table, columnFamily) metrics with configurable table name inclusion

2011-11-12 Thread Phabricator (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4768?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13149232#comment-13149232
 ] 

Phabricator commented on HBASE-4768:


mbautin has commented on the revision [jira] [HBASE-4768] Per-(table, 
columnFamily) metrics with configurable table name inclusion.

INLINE COMMENTS
  
src/main/java/org/apache/hadoop/hbase/regionserver/metrics/SchemaConfigured.java:2
 FYI, no year in copyright message is the least frequent option in the 
current codebase, but since it doesn't really matter, I can remove the year.

  854 Copyright 2010 The Apache Software Foundation
  360 Copyright 2011 The Apache Software Foundation
  158 Copyright 2009 The Apache Software Foundation
  108 Copyright 2007 The Apache Software Foundation
   40 Copyright 2008 The Apache Software Foundation
6 Copyright The Apache Software Foundation


  
src/main/java/org/apache/hadoop/hbase/regionserver/metrics/SchemaConfigured.java:37
 Fixed.
  
src/main/java/org/apache/hadoop/hbase/regionserver/metrics/SchemaConfigured.java:43
 Fixed.
  
src/main/java/org/apache/hadoop/hbase/regionserver/metrics/SchemaConfigured.java:89
 Replaced with:

  LOG.warn(Could not determine table and column family of the HFile 
  + path  + path + . Expecting at least 
  + HFile.MIN_NUM_HFILE_PATH_LEVELS +  path components.);

  
src/main/java/org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.java:170
 Good catch. These are actually used in some metrics in hbase-89 that are not 
yet ported to trunk. Removing them from this patch.

REVISION DETAIL
  https://reviews.facebook.net/D363


 Per-(table, columnFamily) metrics with configurable table name inclusion
 

 Key: HBASE-4768
 URL: https://issues.apache.org/jira/browse/HBASE-4768
 Project: HBase
  Issue Type: New Feature
Reporter: Mikhail Bautin
Assignee: Mikhail Bautin
 Attachments: D363.1.patch, D363.2.patch, D363.3.patch


 As we kept adding more granular block read and block cache usage statistics, 
 a combinatorial explosion of various cases to monitor started to happen, 
 especially when we wanted both per-table/column family/block type statistics 
 and aggregate statistics on various subsets of these dimensions. Here, we 
 un-clutters HFile readers, LruBlockCache, StoreFile, etc. by creating a 
 centralized class that knows how to update all kinds of per-table/CF/block 
 type counters. 
 Table name and column family configuration have been pushed to a base class, 
 SchemaConfigured. This is convenient as many of existing classes that have 
 these properties (HFile readers/writers, HFile blocks, etc.) did not have a 
 base class. Whether to collect per-(table, columnFamily) or per-columnFamily 
 only metrics can be configured with the hbase.metrics.showTableName 
 configuration key. We don't expect this configuration to change at runtime, 
 so we cache the setting statically and log a warning when an attempt is made 
 to flip it once already set. This way we don't have to pass configuration to 
 a lot more places, e.g. everywhere an HFile reader is instantiated.
 Thanks to Liyin for his initial version of per-table metrics patch and a lot 
 of valuable feedback.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-3025) Coprocessor based simple access control

2011-11-12 Thread Andrew Purtell (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-3025?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13149234#comment-13149234
 ] 

Andrew Purtell commented on HBASE-3025:
---

I'll sort out the disposition of this and the other two patches with Gary next 
week. With any luck we'll get them committed next week as well.


 Coprocessor based simple access control
 ---

 Key: HBASE-3025
 URL: https://issues.apache.org/jira/browse/HBASE-3025
 Project: HBase
  Issue Type: Sub-task
  Components: coprocessors
Reporter: Andrew Purtell
Priority: Critical
 Fix For: 0.92.0

 Attachments: HBASE-3025.1.patch, HBASE-3025.2011-02-01.patch


 Thanks for the clarification Jeff which reminds me to edit this issue.
 Goals of this issue
 # Client access to HBase is authenticated
 # User data is private unless access has been granted
 # Access to data can be granted at a table or per column family basis. 
 Non-Goals of this issue
 The following items will be left out of the initial implementation for 
 simplicity:
 # Row-level or per value (cell) This would require broader changes for 
 storing the ACLs inline with rows. It's still a future goal, but would slow 
 down the initial implementation considerably.
 # Push down of file ownership to HDFS While table ownership seems like a 
 useful construct to start with (at least to lay the groundwork for future 
 changes), making HBase act as table owners when interacting with HDFS would 
 require more changes. In additional, while HDFS file ownership would make 
 applying quotas easy, and possibly make bulk imports more straightforward, 
 it's not clean it would offer a more secure setup. We'll leave this to 
 evaluate in a later phase.
 # HBase managed roles as collections of permissions We will not model 
 roles internally in HBase to begin with. We will instead allow group names 
 to be granted permissions, which will allow some external modeling of roles 
 via group memberships. Groups will be created and manipulated externally to 
 HBase. 
 While the assignment of permissions to roles and roles to users (or other 
 roles) allows a great deal of flexibility in security policy, it would add 
 complexity to the initial implementation. 
 After the initial implementation, which will appear on this issue, we will 
 evaluate the addition of role definitions internal to HBase in a new JIRA. In 
 this scheme, administrators could assign permissions specifying HDFS groups, 
 and additionally HBase roles. HBase roles would be created and manipulated 
 internally to HBase, and would appear distinct from HDFS groups via some 
 syntactic sugar. HBase role definitions will be allowed to reference other 
 HBase role definitions. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-4565) Maven HBase build broken on cygwin with copynativelib.sh call.

2011-11-12 Thread Suraj Varma (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-4565?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Suraj Varma updated HBASE-4565:
---

Attachment: HBASE-4565-v3-0.92.patch
HBASE-4565-v3.patch

The tarball in the previous patches had an extra directory. Attaching v3 
versions for both trunk and 0.92

 Maven HBase build broken on cygwin with copynativelib.sh call.
 --

 Key: HBASE-4565
 URL: https://issues.apache.org/jira/browse/HBASE-4565
 Project: HBase
  Issue Type: Bug
  Components: build
Affects Versions: 0.92.0
 Environment: cygwin (on xp and win7)
Reporter: Suraj Varma
Assignee: Suraj Varma
  Labels: build, maven
 Fix For: 0.94.0

 Attachments: HBASE-4565-0.92.patch, HBASE-4565-v2.patch, 
 HBASE-4565.patch


 This is broken in both 0.92 as well as trunk pom.xml
 Here's a sample maven log snippet from trunk (from Mayuresh on user mailing 
 list)
 [INFO] [antrun:run {execution: package}]
 [INFO] Executing tasks
 main:
[mkdir] Created dir: 
 D:\workspace\mkshirsa\hbase-trunk\target\hbase-0.93-SNAPSHOT\hbase-0.93-SNAPSHOT\lib\native\${build.platform}
 [exec] ls: cannot access D:workspacemkshirsahbase-trunktarget/nativelib: 
 No such file or directory
 [exec] tar (child): Cannot connect to D: resolve failed
 [INFO] 
 
 [ERROR] BUILD ERROR
 [INFO] 
 
 [INFO] An Ant BuildException has occured: exec returned: 3328
 There are two issues: 
 1) The ant run task below doesn't resolve the windows file separator returned 
 by the project.build.directory - this causes the above resolve failed.
 !-- Using Unix cp to preserve symlinks, using script to handle wildcards --
 echo file=${project.build.directory}/copynativelibs.sh
 if [ `ls ${project.build.directory}/nativelib | wc -l` -ne 0]; then
 2) The tar argument value below also has a similar issue in that the path arg 
 doesn't resolve right.
 !-- Using Unix tar to preserve symlinks --
 exec executable=tar failonerror=yes 
 dir=${project.build.directory}/${project.artifactId}-${project.version}
 arg value=czf/
 arg 
 value=/cygdrive/c/workspaces/hbase-0.92-svn/target/${project.artifactId}-${project.version}.tar.gz/
 arg value=./
 /exec
 In both cases, the fix would probably be to use a cross-platform way to 
 handle the directory locations. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-4565) Maven HBase build broken on cygwin with copynativelib.sh call.

2011-11-12 Thread Suraj Varma (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-4565?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Suraj Varma updated HBASE-4565:
---

Attachment: (was: HBASE-4565-v3.patch)

 Maven HBase build broken on cygwin with copynativelib.sh call.
 --

 Key: HBASE-4565
 URL: https://issues.apache.org/jira/browse/HBASE-4565
 Project: HBase
  Issue Type: Bug
  Components: build
Affects Versions: 0.92.0
 Environment: cygwin (on xp and win7)
Reporter: Suraj Varma
Assignee: Suraj Varma
  Labels: build, maven
 Fix For: 0.94.0

 Attachments: HBASE-4565-0.92.patch, HBASE-4565-v2.patch, 
 HBASE-4565.patch


 This is broken in both 0.92 as well as trunk pom.xml
 Here's a sample maven log snippet from trunk (from Mayuresh on user mailing 
 list)
 [INFO] [antrun:run {execution: package}]
 [INFO] Executing tasks
 main:
[mkdir] Created dir: 
 D:\workspace\mkshirsa\hbase-trunk\target\hbase-0.93-SNAPSHOT\hbase-0.93-SNAPSHOT\lib\native\${build.platform}
 [exec] ls: cannot access D:workspacemkshirsahbase-trunktarget/nativelib: 
 No such file or directory
 [exec] tar (child): Cannot connect to D: resolve failed
 [INFO] 
 
 [ERROR] BUILD ERROR
 [INFO] 
 
 [INFO] An Ant BuildException has occured: exec returned: 3328
 There are two issues: 
 1) The ant run task below doesn't resolve the windows file separator returned 
 by the project.build.directory - this causes the above resolve failed.
 !-- Using Unix cp to preserve symlinks, using script to handle wildcards --
 echo file=${project.build.directory}/copynativelibs.sh
 if [ `ls ${project.build.directory}/nativelib | wc -l` -ne 0]; then
 2) The tar argument value below also has a similar issue in that the path arg 
 doesn't resolve right.
 !-- Using Unix tar to preserve symlinks --
 exec executable=tar failonerror=yes 
 dir=${project.build.directory}/${project.artifactId}-${project.version}
 arg value=czf/
 arg 
 value=/cygdrive/c/workspaces/hbase-0.92-svn/target/${project.artifactId}-${project.version}.tar.gz/
 arg value=./
 /exec
 In both cases, the fix would probably be to use a cross-platform way to 
 handle the directory locations. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-4565) Maven HBase build broken on cygwin with copynativelib.sh call.

2011-11-12 Thread Suraj Varma (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-4565?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Suraj Varma updated HBASE-4565:
---

Attachment: (was: HBASE-4565-v3-0.92.patch)

 Maven HBase build broken on cygwin with copynativelib.sh call.
 --

 Key: HBASE-4565
 URL: https://issues.apache.org/jira/browse/HBASE-4565
 Project: HBase
  Issue Type: Bug
  Components: build
Affects Versions: 0.92.0
 Environment: cygwin (on xp and win7)
Reporter: Suraj Varma
Assignee: Suraj Varma
  Labels: build, maven
 Fix For: 0.94.0

 Attachments: HBASE-4565-0.92.patch, HBASE-4565-v2.patch, 
 HBASE-4565.patch


 This is broken in both 0.92 as well as trunk pom.xml
 Here's a sample maven log snippet from trunk (from Mayuresh on user mailing 
 list)
 [INFO] [antrun:run {execution: package}]
 [INFO] Executing tasks
 main:
[mkdir] Created dir: 
 D:\workspace\mkshirsa\hbase-trunk\target\hbase-0.93-SNAPSHOT\hbase-0.93-SNAPSHOT\lib\native\${build.platform}
 [exec] ls: cannot access D:workspacemkshirsahbase-trunktarget/nativelib: 
 No such file or directory
 [exec] tar (child): Cannot connect to D: resolve failed
 [INFO] 
 
 [ERROR] BUILD ERROR
 [INFO] 
 
 [INFO] An Ant BuildException has occured: exec returned: 3328
 There are two issues: 
 1) The ant run task below doesn't resolve the windows file separator returned 
 by the project.build.directory - this causes the above resolve failed.
 !-- Using Unix cp to preserve symlinks, using script to handle wildcards --
 echo file=${project.build.directory}/copynativelibs.sh
 if [ `ls ${project.build.directory}/nativelib | wc -l` -ne 0]; then
 2) The tar argument value below also has a similar issue in that the path arg 
 doesn't resolve right.
 !-- Using Unix tar to preserve symlinks --
 exec executable=tar failonerror=yes 
 dir=${project.build.directory}/${project.artifactId}-${project.version}
 arg value=czf/
 arg 
 value=/cygdrive/c/workspaces/hbase-0.92-svn/target/${project.artifactId}-${project.version}.tar.gz/
 arg value=./
 /exec
 In both cases, the fix would probably be to use a cross-platform way to 
 handle the directory locations. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-4565) Maven HBase build broken on cygwin with copynativelib.sh call.

2011-11-12 Thread Suraj Varma (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-4565?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Suraj Varma updated HBASE-4565:
---

Attachment: HBASE-4565-v3.patch
HBASE-4565-v3-0.92.patch

 Maven HBase build broken on cygwin with copynativelib.sh call.
 --

 Key: HBASE-4565
 URL: https://issues.apache.org/jira/browse/HBASE-4565
 Project: HBase
  Issue Type: Bug
  Components: build
Affects Versions: 0.92.0
 Environment: cygwin (on xp and win7)
Reporter: Suraj Varma
Assignee: Suraj Varma
  Labels: build, maven
 Fix For: 0.94.0

 Attachments: HBASE-4565-0.92.patch, HBASE-4565-v2.patch, 
 HBASE-4565-v3-0.92.patch, HBASE-4565-v3.patch, HBASE-4565.patch


 This is broken in both 0.92 as well as trunk pom.xml
 Here's a sample maven log snippet from trunk (from Mayuresh on user mailing 
 list)
 [INFO] [antrun:run {execution: package}]
 [INFO] Executing tasks
 main:
[mkdir] Created dir: 
 D:\workspace\mkshirsa\hbase-trunk\target\hbase-0.93-SNAPSHOT\hbase-0.93-SNAPSHOT\lib\native\${build.platform}
 [exec] ls: cannot access D:workspacemkshirsahbase-trunktarget/nativelib: 
 No such file or directory
 [exec] tar (child): Cannot connect to D: resolve failed
 [INFO] 
 
 [ERROR] BUILD ERROR
 [INFO] 
 
 [INFO] An Ant BuildException has occured: exec returned: 3328
 There are two issues: 
 1) The ant run task below doesn't resolve the windows file separator returned 
 by the project.build.directory - this causes the above resolve failed.
 !-- Using Unix cp to preserve symlinks, using script to handle wildcards --
 echo file=${project.build.directory}/copynativelibs.sh
 if [ `ls ${project.build.directory}/nativelib | wc -l` -ne 0]; then
 2) The tar argument value below also has a similar issue in that the path arg 
 doesn't resolve right.
 !-- Using Unix tar to preserve symlinks --
 exec executable=tar failonerror=yes 
 dir=${project.build.directory}/${project.artifactId}-${project.version}
 arg value=czf/
 arg 
 value=/cygdrive/c/workspaces/hbase-0.92-svn/target/${project.artifactId}-${project.version}.tar.gz/
 arg value=./
 /exec
 In both cases, the fix would probably be to use a cross-platform way to 
 handle the directory locations. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-4565) Maven HBase build broken on cygwin with copynativelib.sh call.

2011-11-12 Thread Suraj Varma (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-4565?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Suraj Varma updated HBASE-4565:
---

Status: Patch Available  (was: Open)

 Maven HBase build broken on cygwin with copynativelib.sh call.
 --

 Key: HBASE-4565
 URL: https://issues.apache.org/jira/browse/HBASE-4565
 Project: HBase
  Issue Type: Bug
  Components: build
Affects Versions: 0.92.0
 Environment: cygwin (on xp and win7)
Reporter: Suraj Varma
Assignee: Suraj Varma
  Labels: build, maven
 Fix For: 0.94.0

 Attachments: HBASE-4565-0.92.patch, HBASE-4565-v2.patch, 
 HBASE-4565-v3-0.92.patch, HBASE-4565-v3.patch, HBASE-4565.patch


 This is broken in both 0.92 as well as trunk pom.xml
 Here's a sample maven log snippet from trunk (from Mayuresh on user mailing 
 list)
 [INFO] [antrun:run {execution: package}]
 [INFO] Executing tasks
 main:
[mkdir] Created dir: 
 D:\workspace\mkshirsa\hbase-trunk\target\hbase-0.93-SNAPSHOT\hbase-0.93-SNAPSHOT\lib\native\${build.platform}
 [exec] ls: cannot access D:workspacemkshirsahbase-trunktarget/nativelib: 
 No such file or directory
 [exec] tar (child): Cannot connect to D: resolve failed
 [INFO] 
 
 [ERROR] BUILD ERROR
 [INFO] 
 
 [INFO] An Ant BuildException has occured: exec returned: 3328
 There are two issues: 
 1) The ant run task below doesn't resolve the windows file separator returned 
 by the project.build.directory - this causes the above resolve failed.
 !-- Using Unix cp to preserve symlinks, using script to handle wildcards --
 echo file=${project.build.directory}/copynativelibs.sh
 if [ `ls ${project.build.directory}/nativelib | wc -l` -ne 0]; then
 2) The tar argument value below also has a similar issue in that the path arg 
 doesn't resolve right.
 !-- Using Unix tar to preserve symlinks --
 exec executable=tar failonerror=yes 
 dir=${project.build.directory}/${project.artifactId}-${project.version}
 arg value=czf/
 arg 
 value=/cygdrive/c/workspaces/hbase-0.92-svn/target/${project.artifactId}-${project.version}.tar.gz/
 arg value=./
 /exec
 In both cases, the fix would probably be to use a cross-platform way to 
 handle the directory locations. 

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-4777) Write back to client 'incompatible' if we show up with wrong version

2011-11-12 Thread Hudson (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13149235#comment-13149235
 ] 

Hudson commented on HBASE-4777:
---

Integrated in HBase-TRUNK #2432 (See 
[https://builds.apache.org/job/HBase-TRUNK/2432/])
HBASE-4777 Write back to client 'incompatible' if we show up with wrong 
version

stack : 
Files : 
* /hbase/trunk/CHANGES.txt
* /hbase/trunk/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java


 Write back to client 'incompatible' if we show up with wrong version
 

 Key: HBASE-4777
 URL: https://issues.apache.org/jira/browse/HBASE-4777
 Project: HBase
  Issue Type: Bug
Reporter: stack
Assignee: stack
 Fix For: 0.92.0

 Attachments: 4777.txt


 We changed the RPC_VERSION to 4 in hbase-3939.  If a client comes in 
 volunteering RPC_VERSION is 3, currently, we'll log 'wrong version' but we'll 
 close the connection; the client has no chance of knowing why the server went 
 away.
 Returning -1 as id up out of here is what causes the connection close:
 {code}
 private void setupBadVersionResponse(int clientVersion) throws 
 IOException {
   String errMsg = Server IPC version  + CURRENT_VERSION +
cannot communicate with client version  + clientVersion;
   ByteArrayOutputStream buffer = new ByteArrayOutputStream();
   if (clientVersion = 3) {
 Call fakeCall =  new Call(-1, null, this, responder);
 // Versions 3 and greater can interpret this exception
 // response in the same manner
 setupResponse(buffer, fakeCall, Status.FATAL,
 null, VersionMismatch.class.getName(), errMsg);
 responder.doRespond(fakeCall);
   }
 }
 {code}
 Instead, we need to return an id that does not close the connection so cilent 
 gets chance to read the response.
 Suggestion is that we return a 0 for the id the connection will stay up.
 If an old client and it sends the wrong version, it'll move on to do 
 getProtocolVersion... and will fail there.
 Other clients, e.g. asynchbase, if they get a response will have a response 
 to switch what they send to suit the new server.
 (There are other issues -- e.g. Invocation is versioned now -- but Benoit 
 needs some means of figuring whats on other side)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Commented] (HBASE-2742) Provide strong authentication with a secure RPC engine

2011-11-12 Thread jirapos...@reviews.apache.org (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-2742?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13149242#comment-13149242
 ] 

jirapos...@reviews.apache.org commented on HBASE-2742:
--



bq.  On 2011-11-04 23:17:46, Michael Stack wrote:
bq.   pom.xml, line 1335
bq.   https://reviews.apache.org/r/1991/diff/4/?file=53576#file53576line1335
bq.  
bq.   This is probably best place for this code for now.  Was thinking 
src/security but that gets weird when test code and main.  This is 
pseudo-maven-modules for now.

Yeah, my thinking was once we get to full blown modules we won't have to move 
the source around, just add a security pom.xml.


bq.  On 2011-11-04 23:17:46, Michael Stack wrote:
bq.   conf/hbase-policy.xml, line 1
bq.   https://reviews.apache.org/r/1991/diff/4/?file=53575#file53575line1
bq.  
bq.   Apache license?

Added.


bq.  On 2011-11-04 23:17:46, Michael Stack wrote:
bq.   pom.xml, line 1320
bq.   https://reviews.apache.org/r/1991/diff/4/?file=53576#file53576line1320
bq.  
bq.   We need to change this when we ship 0.92?  Can you use variable 
here? ${pom.version}?

Removed this bit to use the project version.  I'm trying out using finalName in 
the profile, which would allow us to wind up with the name 
hbase-0.92.0-security.  Dependent projects could then use artifactId=hbase, 
version=0.92.0, classifier=security.  Or we could use versions:set 
-DnewVersion=0.92.0-security during the build, but making it more automatic 
seems nicer.


bq.  On 2011-11-04 23:17:46, Michael Stack wrote:
bq.   security/src/main/java/org/apache/hadoop/hbase/ipc/SecureClient.java, 
line 158
bq.   https://reviews.apache.org/r/1991/diff/4/?file=53577#file53577line158
bq.  
bq.   Minor nit:  My guess is that this is not your code.  Why not just a 
return CONDITIONS... no need of this if ... return true else return false

Yes, was copied.  Changed to just do a return.


- Gary


---
This is an automatically generated e-mail. To reply, visit:
https://reviews.apache.org/r/1991/#review3058
---


On 2011-10-26 20:23:19, Gary Helmling wrote:
bq.  
bq.  ---
bq.  This is an automatically generated e-mail. To reply, visit:
bq.  https://reviews.apache.org/r/1991/
bq.  ---
bq.  
bq.  (Updated 2011-10-26 20:23:19)
bq.  
bq.  
bq.  Review request for hbase.
bq.  
bq.  
bq.  Summary
bq.  ---
bq.  
bq.  This patch creates a new secure RPC engine for HBase, which provides 
Kerberos based authentication of clients, and a token-based authentication 
mechanism for mapreduce jobs.  Primary components of the patch are:
bq.  
bq.  - a new maven profile for secure Hadoop/HBase: hadoop-0.20S
bq.- Secure Hadoop dependent classes are separated under a pseudo-module in 
the security/ directory.  These source and test directories are only including 
if building the secure Hadoop profile
bq.- Currently the security classes get packaged with the regular HBase 
build artifacts.  We need a way to at least override project.version, so we can 
append something like a -security suffix indicating the additional security 
components.
bq.- The pseudo-module here is really a half-step forward.  It enables the 
security code to be optionally included in the build for now, and sets up the 
structure for a security module.  But we still will want to pursue full 
modularization (see HBASE-4336), which will allow packing the security code in 
a separate build artifact.
bq.  
bq.  - a new RPC engine providing kerberos and token-based authentication: 
org.apache.hadoop.hbase.ipc.SecureRpcEngine
bq.- implementation under 
security/src/main/java/org/apache/hadoop/hbase/ipc/
bq.- The implementation classes extend the existing HBaseClient and 
HBaseServer to share as much of the RPC code as possible.  The main override is 
of the connection classes to allow control over the SASL negotiation of secure 
connections
bq.  
bq.  - existing RPC changes
bq.- The existing HBaseClient and HBaseServer have been modified to make 
subclassing possible
bq.- All references to Hadoop UserGroupInformation have been replaced with 
org.apache.hadoop.hbase.security.User to insulate from future dependencies on 
specific Hadoop versions
bq.  
bq.  - a coprocessor endpoint for obtaining new authentication tokens: 
TokenProvider, and supporting classes for token generation and synchronization 
(incorporating HBASE-3615)
bq.- implementation is under 
security/src/main/java/org/apache/hadoop/hbase/security/token/
bq.- Secret keys for token generation and verification are synchronized 
throughout the cluster in zookeeper, under /hbase/tokenauth/keys
bq.  
bq.  
bq.  To enable secure RPC, add the following configuration 

[jira] [Commented] (HBASE-4777) Write back to client 'incompatible' if we show up with wrong version

2011-11-12 Thread Hudson (Commented) (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-4777?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanelfocusedCommentId=13149244#comment-13149244
 ] 

Hudson commented on HBASE-4777:
---

Integrated in HBase-0.92 #128 (See 
[https://builds.apache.org/job/HBase-0.92/128/])
HBASE-4777 Write back to client 'incompatible' if we show up with wrong 
version

stack : 
Files : 
* /hbase/branches/0.92/CHANGES.txt
* 
/hbase/branches/0.92/src/main/java/org/apache/hadoop/hbase/ipc/HBaseServer.java


 Write back to client 'incompatible' if we show up with wrong version
 

 Key: HBASE-4777
 URL: https://issues.apache.org/jira/browse/HBASE-4777
 Project: HBase
  Issue Type: Bug
Reporter: stack
Assignee: stack
 Fix For: 0.92.0

 Attachments: 4777.txt


 We changed the RPC_VERSION to 4 in hbase-3939.  If a client comes in 
 volunteering RPC_VERSION is 3, currently, we'll log 'wrong version' but we'll 
 close the connection; the client has no chance of knowing why the server went 
 away.
 Returning -1 as id up out of here is what causes the connection close:
 {code}
 private void setupBadVersionResponse(int clientVersion) throws 
 IOException {
   String errMsg = Server IPC version  + CURRENT_VERSION +
cannot communicate with client version  + clientVersion;
   ByteArrayOutputStream buffer = new ByteArrayOutputStream();
   if (clientVersion = 3) {
 Call fakeCall =  new Call(-1, null, this, responder);
 // Versions 3 and greater can interpret this exception
 // response in the same manner
 setupResponse(buffer, fakeCall, Status.FATAL,
 null, VersionMismatch.class.getName(), errMsg);
 responder.doRespond(fakeCall);
   }
 }
 {code}
 Instead, we need to return an id that does not close the connection so cilent 
 gets chance to read the response.
 Suggestion is that we return a 0 for the id the connection will stay up.
 If an old client and it sends the wrong version, it'll move on to do 
 getProtocolVersion... and will fail there.
 Other clients, e.g. asynchbase, if they get a response will have a response 
 to switch what they send to suit the new server.
 (There are other issues -- e.g. Invocation is versioned now -- but Benoit 
 needs some means of figuring whats on other side)

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira




[jira] [Updated] (HBASE-4768) Per-(table, columnFamily) metrics with configurable table name inclusion

2011-11-12 Thread Phabricator (Updated) (JIRA)

 [ 
https://issues.apache.org/jira/browse/HBASE-4768?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
 ]

Phabricator updated HBASE-4768:
---

Attachment: D363.4.patch

mbautin updated the revision [jira] [HBASE-4768] Per-(table, columnFamily) 
metrics with configurable table name inclusion.
Reviewers: jgray, nspiegelberg, stack, tedyu, todd, JIRA

  Addressing Ted's comments. All unit tests passed.

REVISION DETAIL
  https://reviews.facebook.net/D363

AFFECTED FILES
  src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileReader.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/AbstractHFileWriter.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/BlockType.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/Cacheable.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFile.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlock.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlockIndex.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileBlockInfo.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV1.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileReaderV2.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV1.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/HFileWriterV2.java
  src/main/java/org/apache/hadoop/hbase/io/hfile/LruBlockCache.java
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegion.java
  src/main/java/org/apache/hadoop/hbase/regionserver/HRegionServer.java
  src/main/java/org/apache/hadoop/hbase/regionserver/Store.java
  src/main/java/org/apache/hadoop/hbase/regionserver/StoreFile.java
  
src/main/java/org/apache/hadoop/hbase/regionserver/metrics/SchemaConfigured.java
  src/main/java/org/apache/hadoop/hbase/regionserver/metrics/SchemaMetrics.java
  src/test/java/org/apache/hadoop/hbase/HBaseTestingUtility.java
  src/test/java/org/apache/hadoop/hbase/io/hfile/CacheTestUtils.java
  src/test/java/org/apache/hadoop/hbase/io/hfile/TestCachedBlockQueue.java
  src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFile.java
  src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileBlock.java
  src/test/java/org/apache/hadoop/hbase/io/hfile/TestHFileReaderV1.java
  src/test/java/org/apache/hadoop/hbase/io/hfile/TestLruBlockCache.java
  src/test/java/org/apache/hadoop/hbase/regionserver/TestHRegion.java
  src/test/java/org/apache/hadoop/hbase/regionserver/TestMultiColumnScanner.java
  
src/test/java/org/apache/hadoop/hbase/regionserver/TestRegionServerMetrics.java
  src/test/java/org/apache/hadoop/hbase/regionserver/TestStoreFile.java
  
src/test/java/org/apache/hadoop/hbase/regionserver/metrics/TestSchemaConfigured.java
  
src/test/java/org/apache/hadoop/hbase/regionserver/metrics/TestSchemaMetrics.java


 Per-(table, columnFamily) metrics with configurable table name inclusion
 

 Key: HBASE-4768
 URL: https://issues.apache.org/jira/browse/HBASE-4768
 Project: HBase
  Issue Type: New Feature
Reporter: Mikhail Bautin
Assignee: Mikhail Bautin
 Attachments: D363.1.patch, D363.2.patch, D363.3.patch, D363.4.patch


 As we kept adding more granular block read and block cache usage statistics, 
 a combinatorial explosion of various cases to monitor started to happen, 
 especially when we wanted both per-table/column family/block type statistics 
 and aggregate statistics on various subsets of these dimensions. Here, we 
 un-clutters HFile readers, LruBlockCache, StoreFile, etc. by creating a 
 centralized class that knows how to update all kinds of per-table/CF/block 
 type counters. 
 Table name and column family configuration have been pushed to a base class, 
 SchemaConfigured. This is convenient as many of existing classes that have 
 these properties (HFile readers/writers, HFile blocks, etc.) did not have a 
 base class. Whether to collect per-(table, columnFamily) or per-columnFamily 
 only metrics can be configured with the hbase.metrics.showTableName 
 configuration key. We don't expect this configuration to change at runtime, 
 so we cache the setting statically and log a warning when an attempt is made 
 to flip it once already set. This way we don't have to pass configuration to 
 a lot more places, e.g. everywhere an HFile reader is instantiated.
 Thanks to Liyin for his initial version of per-table metrics patch and a lot 
 of valuable feedback.

--
This message is automatically generated by JIRA.
If you think it was sent incorrectly, please contact your JIRA administrators: 
https://issues.apache.org/jira/secure/ContactAdministrators!default.jspa
For more information on JIRA, see: http://www.atlassian.com/software/jira