[jira] [Commented] (HBASE-10594) Speed up TestRestoreSnapshotFromClient a bit

2014-02-22 Thread Matteo Bertozzi (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10594?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909682#comment-13909682
 ] 

Matteo Bertozzi commented on HBASE-10594:
-

+1

> Speed up TestRestoreSnapshotFromClient a bit
> 
>
> Key: HBASE-10594
> URL: https://issues.apache.org/jira/browse/HBASE-10594
> Project: HBase
>  Issue Type: Bug
>Reporter: Lars Hofhansl
>Priority: Minor
> Attachments: 10594-0.94.txt
>
>
> Looking through the longest running test in 0.94 I noticed that 
> TestRestoreSnapshotFromClient runs for over 10 minutes on the jenkins boxes 
> (264s on my local box).



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-10584) Inconsistency between tableExists and listTables in implementation

2014-02-22 Thread Feng Honghua (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909669#comment-13909669
 ] 

Feng Honghua commented on HBASE-10584:
--

The failed case is due to another bug in HMaster/FSTableDescriptors for which 
HBASE-10595 is created. This case can pass after that bug is fixed.

> Inconsistency between tableExists and listTables in implementation
> --
>
> Key: HBASE-10584
> URL: https://issues.apache.org/jira/browse/HBASE-10584
> Project: HBase
>  Issue Type: Bug
>  Components: Client, master
>Reporter: Feng Honghua
>Assignee: Feng Honghua
> Attachments: HBASE-10584-trunk_v1.patch, HBASE-10584-trunk_v1.patch
>
>
> # HBaseAdmin.tableExists is implemented by scanning meta table
> # HBaseAdmin.listTables(and HBaseAdmin.getTableDescriptor) is implemented by 
> talking with HMaster which responses by querying the FSTableDescriptors, and 
> FSTableDescriptors return all tables by scanning all the table descriptor 
> files in FS(cache also plays here, so most of time it can be satisfied by 
> cache)...
> Actually HBaseAdmin requests HMaster to check if a table exists internally 
> when implementing deleteTable(see below), then why does it use a 
> different(scanning meta table) way to implementing tableExists() for outside 
> user to use for the same purpose?
> {code}
>   tableExists = false;
>   GetTableDescriptorsResponse htds;
>   MasterKeepAliveConnection master = connection.getKeepAliveMasterService();
>   try {
> GetTableDescriptorsRequest req =
> RequestConverter.buildGetTableDescriptorsRequest(tableName);
> htds = master.getTableDescriptors(null, req);
>   } catch (ServiceException se) {
> throw ProtobufUtil.getRemoteException(se);
>   } finally {
> master.close();
>   }
>   tableExists = !htds.getTableSchemaList().isEmpty();
> {code}
> (Above verifying that table descriptor file is deleted can guarantee all 
> items of this table are deleted from meta table...)
> Since creating table descriptor files and inserting item to meta table occur 
> in different time without atomic semantic, this inconsistency in 
> implementation can lead to confusing behaviors when create-table or 
> delete-table fails midway, (before according cleanup is done) table 
> descriptor file may exists while no item exists in meta table (for 
> create-table where table descriptor file is created before inserting item to 
> meta table), this leads to listTables including that table, while tableExists 
> says no. Similar inconsistency if delete-table fails mid-way...
> Confusing behavior can happen during the process even though eventually it 
> succeed:
> # During table creation, when a user calls listTables and then calls 
> tableExists for this table after the table descriptor is created but before 
> item is inserted to meta table. He will find the listTables includes a table 
> but tableExists return false for that same table, this behavior is confusing 
> and should only acceptable during the table is being deleted...
> # Similar behavior occurs during table deletion.
> Seems the benefit of implementing tableExists this way is we can avoid 
> talking with HMaster, considering we talk with HMaster for listTables and 
> getTableDescriptor, such benefit can't offset the drawback from inconsistency.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Created] (HBASE-10595) HBaseAdmin.getTableDescriptor can wrongly get the previous table's TableDescriptor even after the table dir in hdfs is removed

2014-02-22 Thread Feng Honghua (JIRA)
Feng Honghua created HBASE-10595:


 Summary: HBaseAdmin.getTableDescriptor can wrongly get the 
previous table's TableDescriptor even after the table dir in hdfs is removed
 Key: HBASE-10595
 URL: https://issues.apache.org/jira/browse/HBASE-10595
 Project: HBase
  Issue Type: Bug
  Components: master, util
Reporter: Feng Honghua
Assignee: Feng Honghua


When a table dir (in hdfs) is removed(by outside), HMaster will still return 
the cached TableDescriptor to client for getTableDescriptor request.

On the contrary, HBaseAdmin.listTables() is handled correctly in current 
implementation, for a table whose table dir in hdfs is removed by outside, 
getTableDescriptor can still retrieve back a valid (old) table descriptor, 
while listTables says it doesn't exist, this is inconsistent

The reason for this bug is because HMaster (via FSTableDescriptors) doesn't 
check if the table dir exists for getTableDescriptor() request, (while it lists 
all existing table dirs(not firstly respects cache) and returns accordingly for 
listTables() request)

When a table is deleted via deleteTable, the cache will be cleared after the 
table dir and tableInfo file is removed, listTables/getTableDescriptor 
inconsistency should be transient(though still exists, when table dir is 
removed while cache is not cleared) and harder to expose



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Updated] (HBASE-10594) Speed up TestRestoreSnapshotFromClient a bit

2014-02-22 Thread Lars Hofhansl (JIRA)

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

Lars Hofhansl updated HBASE-10594:
--

Attachment: 10594-0.94.txt

Trivial change. The observation is that snapshot1 is only used in one of the 
tests, but yet it is re-created for every single test.
Shave 10% of the runtime (i.e. 1 minute on the jenkinds boxes).

Not important, but might not hurt either.

> Speed up TestRestoreSnapshotFromClient a bit
> 
>
> Key: HBASE-10594
> URL: https://issues.apache.org/jira/browse/HBASE-10594
> Project: HBase
>  Issue Type: Bug
>Reporter: Lars Hofhansl
>Priority: Minor
> Attachments: 10594-0.94.txt
>
>
> Looking through the longest running test in 0.94 I noticed that 
> TestRestoreSnapshotFromClient runs for over 10 minutes on the jenkins boxes 
> (264s on my local box).



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Created] (HBASE-10594) Speed up TestRestoreSnapshotFromClient a bit

2014-02-22 Thread Lars Hofhansl (JIRA)
Lars Hofhansl created HBASE-10594:
-

 Summary: Speed up TestRestoreSnapshotFromClient a bit
 Key: HBASE-10594
 URL: https://issues.apache.org/jira/browse/HBASE-10594
 Project: HBase
  Issue Type: Bug
Reporter: Lars Hofhansl
Priority: Minor


Looking through the longest running test in 0.94 I noticed that 
TestRestoreSnapshotFromClient runs for over 10 minutes on the jenkins boxes 
(264s on my local box).



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-8803) region_mover.rb should move multiple regions at a time

2014-02-22 Thread Lars Hofhansl (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909646#comment-13909646
 ] 

Lars Hofhansl commented on HBASE-8803:
--

Let's get it in.

> region_mover.rb should move multiple regions at a time
> --
>
> Key: HBASE-8803
> URL: https://issues.apache.org/jira/browse/HBASE-8803
> Project: HBase
>  Issue Type: Bug
>  Components: Usability
>Affects Versions: 0.98.0, 0.94.8, 0.95.1
>Reporter: Jean-Marc Spaggiari
>Assignee: Jean-Marc Spaggiari
> Fix For: 0.99.0
>
> Attachments: 8803v5.txt, HBASE-8803-v0-trunk.patch, 
> HBASE-8803-v1-0.94.patch, HBASE-8803-v1-trunk.patch, 
> HBASE-8803-v2-0.94.patch, HBASE-8803-v2-0.94.patch, HBASE-8803-v3-0.94.patch, 
> HBASE-8803-v4-0.94.patch, HBASE-8803-v4-trunk.patch, 
> HBASE-8803-v5-0.94.patch, HBASE-8803-v6-0.94.patch, HBASE-8803-v6-trunk.patch
>
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> When there is many regions in a cluster, rolling_restart can take hours 
> because region_mover is moving the regions one by one.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-10592) Refactor PerformanceEvaluation tool

2014-02-22 Thread Jean-Marc Spaggiari (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909644#comment-13909644
 ] 

Jean-Marc Spaggiari commented on HBASE-10592:
-

Will test that tomorrow for sure.

Currently actively testing 0.94.17 so I'm delayed a bit...

> Refactor PerformanceEvaluation tool
> ---
>
> Key: HBASE-10592
> URL: https://issues.apache.org/jira/browse/HBASE-10592
> Project: HBase
>  Issue Type: Improvement
>  Components: test
>Affects Versions: 0.96.2, 0.98.1, 0.99.0
>Reporter: Nick Dimiduk
>Assignee: Nick Dimiduk
>Priority: Minor
> Fix For: 0.99.0
>
> Attachments: HBASE-10592.00-0.96.patch, HBASE-10592.00-0.98.patch, 
> HBASE-10592.00.patch
>
>
> PerfEval is kind of a mess. It's painful to add new features because the test 
> options are itemized and passed as parameters to internal methods. 
> Serialization is hand-rolled and tedious. Ensuring support for mapreduce mode 
> is a chore because of it.
> This patch refactors the tool. Options are now passed around to methods and 
> such as a POJO instead of one-by-one. Get rid of accessors that don't help 
> anyone. On the mapreduce side, serialization is now handled using json 
> (jackson is a dependency anyway) instead of the hand-rolled regex we used 
> before. Also do away with custom InputSplit and FileFormat, instead using 
> Text and NLineInputFormat. On the local mode side, combine 1 client and N 
> clients into the same implementation. That implementation now uses an 
> ExecutorService, so we can later decouple number of client workers from 
> number of client tasks. Finally, drop a bunch of confusing local state, 
> instead use the new TestOptions POJO as a parameter to static methods.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-10592) Refactor PerformanceEvaluation tool

2014-02-22 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909641#comment-13909641
 ] 

stack commented on HBASE-10592:
---

+1 on making a testing tool easier to customize.  +1 on 0.96.

> Refactor PerformanceEvaluation tool
> ---
>
> Key: HBASE-10592
> URL: https://issues.apache.org/jira/browse/HBASE-10592
> Project: HBase
>  Issue Type: Improvement
>  Components: test
>Affects Versions: 0.96.2, 0.98.1, 0.99.0
>Reporter: Nick Dimiduk
>Assignee: Nick Dimiduk
>Priority: Minor
> Fix For: 0.99.0
>
> Attachments: HBASE-10592.00-0.96.patch, HBASE-10592.00-0.98.patch, 
> HBASE-10592.00.patch
>
>
> PerfEval is kind of a mess. It's painful to add new features because the test 
> options are itemized and passed as parameters to internal methods. 
> Serialization is hand-rolled and tedious. Ensuring support for mapreduce mode 
> is a chore because of it.
> This patch refactors the tool. Options are now passed around to methods and 
> such as a POJO instead of one-by-one. Get rid of accessors that don't help 
> anyone. On the mapreduce side, serialization is now handled using json 
> (jackson is a dependency anyway) instead of the hand-rolled regex we used 
> before. Also do away with custom InputSplit and FileFormat, instead using 
> Text and NLineInputFormat. On the local mode side, combine 1 client and N 
> clients into the same implementation. That implementation now uses an 
> ExecutorService, so we can later decouple number of client workers from 
> number of client tasks. Finally, drop a bunch of confusing local state, 
> instead use the new TestOptions POJO as a parameter to static methods.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-10593) FileInputStream in JenkinsHash#main() is never closed

2014-02-22 Thread stack (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10593?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909639#comment-13909639
 ] 

stack commented on HBASE-10593:
---

Why not work on removing this unused class instead of 'fixing' it?

> FileInputStream in JenkinsHash#main() is never closed
> -
>
> Key: HBASE-10593
> URL: https://issues.apache.org/jira/browse/HBASE-10593
> Project: HBase
>  Issue Type: Bug
>Reporter: Ted Yu
>Priority: Trivial
>
> {code}
> FileInputStream in = new FileInputStream(args[0]);
> {code}
> The above FileInputStream is not closed.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-8803) region_mover.rb should move multiple regions at a time

2014-02-22 Thread Jean-Marc Spaggiari (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-8803?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909616#comment-13909616
 ] 

Jean-Marc Spaggiari commented on HBASE-8803:


Really want to get this committed folks :(

I have to re-apply it locally each time there is a new release to test.

Any chance?

> region_mover.rb should move multiple regions at a time
> --
>
> Key: HBASE-8803
> URL: https://issues.apache.org/jira/browse/HBASE-8803
> Project: HBase
>  Issue Type: Bug
>  Components: Usability
>Affects Versions: 0.98.0, 0.94.8, 0.95.1
>Reporter: Jean-Marc Spaggiari
>Assignee: Jean-Marc Spaggiari
> Fix For: 0.99.0
>
> Attachments: 8803v5.txt, HBASE-8803-v0-trunk.patch, 
> HBASE-8803-v1-0.94.patch, HBASE-8803-v1-trunk.patch, 
> HBASE-8803-v2-0.94.patch, HBASE-8803-v2-0.94.patch, HBASE-8803-v3-0.94.patch, 
> HBASE-8803-v4-0.94.patch, HBASE-8803-v4-trunk.patch, 
> HBASE-8803-v5-0.94.patch, HBASE-8803-v6-0.94.patch, HBASE-8803-v6-trunk.patch
>
>   Original Estimate: 48h
>  Remaining Estimate: 48h
>
> When there is many regions in a cluster, rolling_restart can take hours 
> because region_mover is moving the regions one by one.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-10584) Inconsistency between tableExists and listTables in implementation

2014-02-22 Thread Feng Honghua (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909615#comment-13909615
 ] 

Feng Honghua commented on HBASE-10584:
--

I'm looking at the failed case.

> Inconsistency between tableExists and listTables in implementation
> --
>
> Key: HBASE-10584
> URL: https://issues.apache.org/jira/browse/HBASE-10584
> Project: HBase
>  Issue Type: Bug
>  Components: Client, master
>Reporter: Feng Honghua
>Assignee: Feng Honghua
> Attachments: HBASE-10584-trunk_v1.patch, HBASE-10584-trunk_v1.patch
>
>
> # HBaseAdmin.tableExists is implemented by scanning meta table
> # HBaseAdmin.listTables(and HBaseAdmin.getTableDescriptor) is implemented by 
> talking with HMaster which responses by querying the FSTableDescriptors, and 
> FSTableDescriptors return all tables by scanning all the table descriptor 
> files in FS(cache also plays here, so most of time it can be satisfied by 
> cache)...
> Actually HBaseAdmin requests HMaster to check if a table exists internally 
> when implementing deleteTable(see below), then why does it use a 
> different(scanning meta table) way to implementing tableExists() for outside 
> user to use for the same purpose?
> {code}
>   tableExists = false;
>   GetTableDescriptorsResponse htds;
>   MasterKeepAliveConnection master = connection.getKeepAliveMasterService();
>   try {
> GetTableDescriptorsRequest req =
> RequestConverter.buildGetTableDescriptorsRequest(tableName);
> htds = master.getTableDescriptors(null, req);
>   } catch (ServiceException se) {
> throw ProtobufUtil.getRemoteException(se);
>   } finally {
> master.close();
>   }
>   tableExists = !htds.getTableSchemaList().isEmpty();
> {code}
> (Above verifying that table descriptor file is deleted can guarantee all 
> items of this table are deleted from meta table...)
> Since creating table descriptor files and inserting item to meta table occur 
> in different time without atomic semantic, this inconsistency in 
> implementation can lead to confusing behaviors when create-table or 
> delete-table fails midway, (before according cleanup is done) table 
> descriptor file may exists while no item exists in meta table (for 
> create-table where table descriptor file is created before inserting item to 
> meta table), this leads to listTables including that table, while tableExists 
> says no. Similar inconsistency if delete-table fails mid-way...
> Confusing behavior can happen during the process even though eventually it 
> succeed:
> # During table creation, when a user calls listTables and then calls 
> tableExists for this table after the table descriptor is created but before 
> item is inserted to meta table. He will find the listTables includes a table 
> but tableExists return false for that same table, this behavior is confusing 
> and should only acceptable during the table is being deleted...
> # Similar behavior occurs during table deletion.
> Seems the benefit of implementing tableExists this way is we can avoid 
> talking with HMaster, considering we talk with HMaster for listTables and 
> getTableDescriptor, such benefit can't offset the drawback from inconsistency.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-10586) hadoop2-compat IPC metric registred twice

2014-02-22 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10586?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909609#comment-13909609
 ] 

Hudson commented on HBASE-10586:


FAILURE: Integrated in HBase-TRUNK-on-Hadoop-1.1 #97 (See 
[https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-1.1/97/])
HBASE-10586 hadoop2-compat IPC metric registred twice (mbertozzi: rev 1570737)
* 
/hbase/trunk/hbase-hadoop2-compat/src/main/java/org/apache/hadoop/hbase/ipc/MetricsHBaseServerSourceImpl.java


> hadoop2-compat IPC metric registred twice
> -
>
> Key: HBASE-10586
> URL: https://issues.apache.org/jira/browse/HBASE-10586
> Project: HBase
>  Issue Type: Bug
>  Components: metrics
>Affects Versions: 0.98.0, 0.96.1.1
>Reporter: Matteo Bertozzi
>Assignee: Matteo Bertozzi
> Fix For: 0.96.2, 0.98.1, 0.99.0
>
> Attachments: HBASE-10586-v0.patch
>
>
> There is an extra snapshot/addrecord line in hadoop2-compat 
> MetricsHBaseServerSourceImpl resulting in IPC metrics with a ".1"
> the extra line is not present in the hadoop1-compat "mirror"
> {code}
> "numCallsInGeneralQueue.1" : 0,
> "numCallsInReplicationQueue.1" : 0,
> "numCallsInPriorityQueue.1" : 0,
> ...
> {code}



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-10589) Reduce unnecessary TestRowProcessorEndpoint resource usage

2014-02-22 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10589?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909608#comment-13909608
 ] 

Hudson commented on HBASE-10589:


FAILURE: Integrated in HBase-TRUNK-on-Hadoop-1.1 #97 (See 
[https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-1.1/97/])
HBASE-10589 Reduce unnecessary TestRowProcessorEndpoint resource usage 
(apurtell: rev 1570763)
* 
/hbase/trunk/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRowProcessorEndpoint.java


> Reduce unnecessary TestRowProcessorEndpoint resource usage
> --
>
> Key: HBASE-10589
> URL: https://issues.apache.org/jira/browse/HBASE-10589
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 0.98.0
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Trivial
> Fix For: 0.96.2, 0.98.1, 0.99.0
>
> Attachments: 10589.patch
>
>
> We don't need 1000 concurrent threads when 100 will do. 



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-10580) IntegrationTestingUtility#restoreCluster leak resource when running in a mini cluster mode

2014-02-22 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909611#comment-13909611
 ] 

Hudson commented on HBASE-10580:


FAILURE: Integrated in HBase-TRUNK-on-Hadoop-1.1 #97 (See 
[https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-1.1/97/])
HBASE-10580: IntegrationTestingUtility#restoreCluster leak resource when 
running in a mini cluster mode (jeffreyz: rev 1570765)
* 
/hbase/trunk/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java


> IntegrationTestingUtility#restoreCluster leak resource when running in a mini 
> cluster mode
> --
>
> Key: HBASE-10580
> URL: https://issues.apache.org/jira/browse/HBASE-10580
> Project: HBase
>  Issue Type: Bug
>  Components: test
>Affects Versions: 0.98.0, 0.96.0, 0.96.1, 0.99.0
>Reporter: Jeffrey Zhong
>Assignee: Jeffrey Zhong
> Fix For: 0.96.2, 0.98.1, 0.99.0
>
> Attachments: hbase-10580.patch
>
>
> When the utility isn't run in distributed cluster mode, the restore only 
> shutdown MiniHBaseCluster not MiniDFSCluster & MiniZKCluster.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-10547) TestFixedLengthWrapper#testReadWrite occasionally fails with the IBM JDK

2014-02-22 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10547?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909610#comment-13909610
 ] 

Hudson commented on HBASE-10547:


FAILURE: Integrated in HBase-TRUNK-on-Hadoop-1.1 #97 (See 
[https://builds.apache.org/job/HBase-TRUNK-on-Hadoop-1.1/97/])
HBASE-10547 TestFixedLengthWrapper#testReadWrite occasionally fails with the 
IBM JDK (apurtell: rev 1570744)
* 
/hbase/trunk/hbase-common/src/test/java/org/apache/hadoop/hbase/types/TestFixedLengthWrapper.java


> TestFixedLengthWrapper#testReadWrite occasionally fails with the IBM JDK
> 
>
> Key: HBASE-10547
> URL: https://issues.apache.org/jira/browse/HBASE-10547
> Project: HBase
>  Issue Type: Bug
>Affects Versions: 0.98.0, 0.96.1.1
> Environment: IBM J9 VM (build 2.7, JRE 1.7.0 Linux amd64-64 
> Compressed References 20131114_175264 (JIT enabled, AOT enabled)
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Trivial
> Fix For: 0.96.2, 0.98.1, 0.99.0
>
> Attachments: 10547.patch
>
>
> Here's the trace.
> {noformat}
> Tests run: 4, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 29.288 sec 
> <<< FAILURE!
> testReadWrite(org.apache.hadoop.hbase.types.TestFixedLengthWrapper)  Time 
> elapsed: 0.025 sec  <<< FAILURE!
> arrays first differed at element [8]; expected:<-40> but was:<0>
> at 
> org.junit.internal.ComparisonCriteria.arrayEquals(ComparisonCriteria.java:50)
> at org.junit.Assert.internalArrayEquals(Assert.java:473)
> at org.junit.Assert.assertArrayEquals(Assert.java:294)
> at org.junit.Assert.assertArrayEquals(Assert.java:305)
> at 
> org.apache.hadoop.hbase.types.TestFixedLengthWrapper.testReadWrite(TestFixedLengthWrapper.java:60)
> {noformat}
> This is with 0.98.0.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Created] (HBASE-10593) FileInputStream in JenkinsHash#main() is never closed

2014-02-22 Thread Ted Yu (JIRA)
Ted Yu created HBASE-10593:
--

 Summary: FileInputStream in JenkinsHash#main() is never closed
 Key: HBASE-10593
 URL: https://issues.apache.org/jira/browse/HBASE-10593
 Project: HBase
  Issue Type: Bug
Reporter: Ted Yu
Priority: Trivial


{code}
FileInputStream in = new FileInputStream(args[0]);
{code}
The above FileInputStream is not closed.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-9914) Port fix for HBASE-9836 'Intermittent TestRegionObserverScannerOpenHook#testRegionObserverCompactionTimeStacking failure' to 0.94

2014-02-22 Thread Ted Yu (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-9914?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909588#comment-13909588
 ] 

Ted Yu commented on HBASE-9914:
---

That would be great, [~takeshi.miao].

> Port fix for HBASE-9836 'Intermittent 
> TestRegionObserverScannerOpenHook#testRegionObserverCompactionTimeStacking 
> failure' to 0.94
> -
>
> Key: HBASE-9914
> URL: https://issues.apache.org/jira/browse/HBASE-9914
> Project: HBase
>  Issue Type: Test
>Reporter: Ted Yu
>  Labels: noob
>
> According to this thread: http://search-hadoop.com/m/3CzC31BQsDd , 
> TestRegionObserverScannerOpenHook#testRegionObserverCompactionTimeStacking 
> sometimes failed.
> This issue is to port the fix from HBASE-9836 to 0.94



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-10584) Inconsistency between tableExists and listTables in implementation

2014-02-22 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10584?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909585#comment-13909585
 ] 

Hadoop QA commented on HBASE-10584:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  
http://issues.apache.org/jira/secure/attachment/12630502/HBASE-10584-trunk_v1.patch
  against trunk revision .
  ATTACHMENT ID: 12630502

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:red}-1 tests included{color}.  The patch doesn't appear to include 
any new or modified tests.
Please justify why no new tests are needed for this 
patch.
Also please list what manual steps were performed to 
verify this patch.

{color:green}+1 hadoop1.0{color}.  The patch compiles against the hadoop 
1.0 profile.

{color:green}+1 hadoop1.1{color}.  The patch compiles against the hadoop 
1.1 profile.

{color:green}+1 javadoc{color}.  The javadoc tool did not generate any 
warning messages.

{color:green}+1 javac{color}.  The applied patch does not increase the 
total number of javac compiler warnings.

{color:green}+1 findbugs{color}.  The patch does not introduce any new 
Findbugs (version 1.3.9) warnings.

{color:green}+1 release audit{color}.  The applied patch does not increase 
the total number of release audit warnings.

{color:green}+1 lineLengths{color}.  The patch does not introduce lines 
longer than 100

  {color:green}+1 site{color}.  The mvn site goal succeeds with this patch.

 {color:red}-1 core tests{color}.  The patch failed these unit tests:
   org.apache.hadoop.hbase.util.TestHBaseFsck

Test results: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8775//testReport/
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8775//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop2-compat.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8775//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-prefix-tree.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8775//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-client.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8775//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-common.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8775//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-protocol.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8775//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-server.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8775//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-examples.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8775//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-thrift.html
Findbugs warnings: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8775//artifact/trunk/patchprocess/newPatchFindbugsWarningshbase-hadoop-compat.html
Console output: 
https://builds.apache.org/job/PreCommit-HBASE-Build/8775//console

This message is automatically generated.

> Inconsistency between tableExists and listTables in implementation
> --
>
> Key: HBASE-10584
> URL: https://issues.apache.org/jira/browse/HBASE-10584
> Project: HBase
>  Issue Type: Bug
>  Components: Client, master
>Reporter: Feng Honghua
>Assignee: Feng Honghua
> Attachments: HBASE-10584-trunk_v1.patch, HBASE-10584-trunk_v1.patch
>
>
> # HBaseAdmin.tableExists is implemented by scanning meta table
> # HBaseAdmin.listTables(and HBaseAdmin.getTableDescriptor) is implemented by 
> talking with HMaster which responses by querying the FSTableDescriptors, and 
> FSTableDescriptors return all tables by scanning all the table descriptor 
> files in FS(cache also plays here, so most of time it can be satisfied by 
> cache)...
> Actually HBaseAdmin requests HMaster to check if a table exists internally 
> when implementing deleteTable(see below), then why does it use a 
> different(scanning meta table) way to implementing tableExists() for outside 
> user to use for the same purpose?
> {code}
>   tableExists = false;
>   GetTableDescriptorsResponse htds;
>   MasterKeepAliveConnection master = connection.getKeepAliveMasterService();
>   try {
> GetTableDescriptorsRequest req =
> RequestConverter.buildGetTableDescriptorsRequest(tableName);
> htds = master.getTableDescriptors(null, req);
>   } catch (ServiceException se) {
> throw ProtobufUtil.getRemoteException(se);
>   } finally {
> master.close();
>   }
>   tableExists = !htds.getTableSchemaLi

[jira] [Commented] (HBASE-10592) Refactor PerformanceEvaluation tool

2014-02-22 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909583#comment-13909583
 ] 

Hadoop QA commented on HBASE-10592:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  
http://issues.apache.org/jira/secure/attachment/12630510/HBASE-10592.00-0.96.patch
  against trunk revision .
  ATTACHMENT ID: 12630510

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 9 new 
or modified tests.

{color:red}-1 patch{color}.  The patch command could not apply the patch.

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

This message is automatically generated.

> Refactor PerformanceEvaluation tool
> ---
>
> Key: HBASE-10592
> URL: https://issues.apache.org/jira/browse/HBASE-10592
> Project: HBase
>  Issue Type: Improvement
>  Components: test
>Affects Versions: 0.96.2, 0.98.1, 0.99.0
>Reporter: Nick Dimiduk
>Assignee: Nick Dimiduk
>Priority: Minor
> Fix For: 0.99.0
>
> Attachments: HBASE-10592.00-0.96.patch, HBASE-10592.00-0.98.patch, 
> HBASE-10592.00.patch
>
>
> PerfEval is kind of a mess. It's painful to add new features because the test 
> options are itemized and passed as parameters to internal methods. 
> Serialization is hand-rolled and tedious. Ensuring support for mapreduce mode 
> is a chore because of it.
> This patch refactors the tool. Options are now passed around to methods and 
> such as a POJO instead of one-by-one. Get rid of accessors that don't help 
> anyone. On the mapreduce side, serialization is now handled using json 
> (jackson is a dependency anyway) instead of the hand-rolled regex we used 
> before. Also do away with custom InputSplit and FileFormat, instead using 
> Text and NLineInputFormat. On the local mode side, combine 1 client and N 
> clients into the same implementation. That implementation now uses an 
> ExecutorService, so we can later decouple number of client workers from 
> number of client tasks. Finally, drop a bunch of confusing local state, 
> instead use the new TestOptions POJO as a parameter to static methods.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-9953) PerformanceEvaluation: Decouple data size from client concurrency

2014-02-22 Thread Nick Dimiduk (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-9953?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909584#comment-13909584
 ] 

Nick Dimiduk commented on HBASE-9953:
-

Attached patch is post-refactor.

> PerformanceEvaluation: Decouple data size from client concurrency
> -
>
> Key: HBASE-9953
> URL: https://issues.apache.org/jira/browse/HBASE-9953
> Project: HBase
>  Issue Type: Test
>  Components: test
>Reporter: Nick Dimiduk
>Priority: Minor
> Attachments: HBASE-9953.00.patch
>
>
> PerfEval tool provides a {{--rows=R}} for specifying the number of records to 
> work with and requires the user provide a value of N, used as the concurrency 
> level. From what I can tell, every concurrent process will interact with R 
> rows. In order to perform an apples-to-apples test, the user must 
> re-calculate the value R for every new value of N.
> Instead, I propose accepting a {{--size=S}} for the amount of data to 
> interact with and let PerfEval divide that amongst the N clients on the 
> user's behalf.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Updated] (HBASE-9953) PerformanceEvaluation: Decouple data size from client concurrency

2014-02-22 Thread Nick Dimiduk (JIRA)

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

Nick Dimiduk updated HBASE-9953:


Attachment: HBASE-9953.00.patch

> PerformanceEvaluation: Decouple data size from client concurrency
> -
>
> Key: HBASE-9953
> URL: https://issues.apache.org/jira/browse/HBASE-9953
> Project: HBase
>  Issue Type: Test
>  Components: test
>Reporter: Nick Dimiduk
>Priority: Minor
> Attachments: HBASE-9953.00.patch
>
>
> PerfEval tool provides a {{--rows=R}} for specifying the number of records to 
> work with and requires the user provide a value of N, used as the concurrency 
> level. From what I can tell, every concurrent process will interact with R 
> rows. In order to perform an apples-to-apples test, the user must 
> re-calculate the value R for every new value of N.
> Instead, I propose accepting a {{--size=S}} for the amount of data to 
> interact with and let PerfEval divide that amongst the N clients on the 
> user's behalf.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Updated] (HBASE-10592) Refactor PerformanceEvaluation tool

2014-02-22 Thread Nick Dimiduk (JIRA)

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

Nick Dimiduk updated HBASE-10592:
-

Affects Version/s: 0.99.0
   0.98.1
   0.96.2

> Refactor PerformanceEvaluation tool
> ---
>
> Key: HBASE-10592
> URL: https://issues.apache.org/jira/browse/HBASE-10592
> Project: HBase
>  Issue Type: Improvement
>  Components: test
>Affects Versions: 0.96.2, 0.98.1, 0.99.0
>Reporter: Nick Dimiduk
>Assignee: Nick Dimiduk
>Priority: Minor
> Fix For: 0.99.0
>
> Attachments: HBASE-10592.00-0.96.patch, HBASE-10592.00-0.98.patch, 
> HBASE-10592.00.patch
>
>
> PerfEval is kind of a mess. It's painful to add new features because the test 
> options are itemized and passed as parameters to internal methods. 
> Serialization is hand-rolled and tedious. Ensuring support for mapreduce mode 
> is a chore because of it.
> This patch refactors the tool. Options are now passed around to methods and 
> such as a POJO instead of one-by-one. Get rid of accessors that don't help 
> anyone. On the mapreduce side, serialization is now handled using json 
> (jackson is a dependency anyway) instead of the hand-rolled regex we used 
> before. Also do away with custom InputSplit and FileFormat, instead using 
> Text and NLineInputFormat. On the local mode side, combine 1 client and N 
> clients into the same implementation. That implementation now uses an 
> ExecutorService, so we can later decouple number of client workers from 
> number of client tasks. Finally, drop a bunch of confusing local state, 
> instead use the new TestOptions POJO as a parameter to static methods.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Updated] (HBASE-10592) Refactor PerformanceEvaluation tool

2014-02-22 Thread Nick Dimiduk (JIRA)

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

Nick Dimiduk updated HBASE-10592:
-

Attachment: HBASE-10592.00-0.96.patch

And here's a patch for 0.96. Changes touching TestHFileOutputFormat was... 
surprising. Should unwind the dependence in another issue.

> Refactor PerformanceEvaluation tool
> ---
>
> Key: HBASE-10592
> URL: https://issues.apache.org/jira/browse/HBASE-10592
> Project: HBase
>  Issue Type: Improvement
>  Components: test
>Affects Versions: 0.96.2, 0.98.1, 0.99.0
>Reporter: Nick Dimiduk
>Assignee: Nick Dimiduk
>Priority: Minor
> Fix For: 0.99.0
>
> Attachments: HBASE-10592.00-0.96.patch, HBASE-10592.00-0.98.patch, 
> HBASE-10592.00.patch
>
>
> PerfEval is kind of a mess. It's painful to add new features because the test 
> options are itemized and passed as parameters to internal methods. 
> Serialization is hand-rolled and tedious. Ensuring support for mapreduce mode 
> is a chore because of it.
> This patch refactors the tool. Options are now passed around to methods and 
> such as a POJO instead of one-by-one. Get rid of accessors that don't help 
> anyone. On the mapreduce side, serialization is now handled using json 
> (jackson is a dependency anyway) instead of the hand-rolled regex we used 
> before. Also do away with custom InputSplit and FileFormat, instead using 
> Text and NLineInputFormat. On the local mode side, combine 1 client and N 
> clients into the same implementation. That implementation now uses an 
> ExecutorService, so we can later decouple number of client workers from 
> number of client tasks. Finally, drop a bunch of confusing local state, 
> instead use the new TestOptions POJO as a parameter to static methods.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Resolved] (HBASE-10405) Intermittent TestDistributedLogSplitting#testLogReplayForDisablingTable failure

2014-02-22 Thread Ted Yu (JIRA)

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

Ted Yu resolved HBASE-10405.


Resolution: Cannot Reproduce

> Intermittent TestDistributedLogSplitting#testLogReplayForDisablingTable 
> failure
> ---
>
> Key: HBASE-10405
> URL: https://issues.apache.org/jira/browse/HBASE-10405
> Project: HBase
>  Issue Type: Test
>Reporter: Ted Yu
>Assignee: Ted Yu
>
> Here was the assertion failure:
> {code} java.lang.AssertionError: expected:<1000> but was:<0> at 
> org.junit.Assert.fail(Assert.java:88) at 
> org.junit.Assert.failNotEquals(Assert.java:743) at 
> org.junit.Assert.assertEquals(Assert.java:118) at 
> org.junit.Assert.assertEquals(Assert.java:555) at 
> org.junit.Assert.assertEquals(Assert.java:542) at 
> org.apache.hadoop.hbase.master.TestDistributedLogSplitting.testLogReplayForDisablingTable(TestDistributedLogSplitting.java:838)
>  
> {code}
> This was due to the loop starting around line 823 not picking up any edits 



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-10592) Refactor PerformanceEvaluation tool

2014-02-22 Thread Hadoop QA (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10592?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909562#comment-13909562
 ] 

Hadoop QA commented on HBASE-10592:
---

{color:red}-1 overall{color}.  Here are the results of testing the latest 
attachment 
  
http://issues.apache.org/jira/secure/attachment/12630504/HBASE-10592.00-0.98.patch
  against trunk revision .
  ATTACHMENT ID: 12630504

{color:green}+1 @author{color}.  The patch does not contain any @author 
tags.

{color:green}+1 tests included{color}.  The patch appears to include 3 new 
or modified tests.

{color:red}-1 patch{color}.  The patch command could not apply the patch.

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

This message is automatically generated.

> Refactor PerformanceEvaluation tool
> ---
>
> Key: HBASE-10592
> URL: https://issues.apache.org/jira/browse/HBASE-10592
> Project: HBase
>  Issue Type: Improvement
>  Components: test
>Reporter: Nick Dimiduk
>Assignee: Nick Dimiduk
>Priority: Minor
> Fix For: 0.99.0
>
> Attachments: HBASE-10592.00-0.98.patch, HBASE-10592.00.patch
>
>
> PerfEval is kind of a mess. It's painful to add new features because the test 
> options are itemized and passed as parameters to internal methods. 
> Serialization is hand-rolled and tedious. Ensuring support for mapreduce mode 
> is a chore because of it.
> This patch refactors the tool. Options are now passed around to methods and 
> such as a POJO instead of one-by-one. Get rid of accessors that don't help 
> anyone. On the mapreduce side, serialization is now handled using json 
> (jackson is a dependency anyway) instead of the hand-rolled regex we used 
> before. Also do away with custom InputSplit and FileFormat, instead using 
> Text and NLineInputFormat. On the local mode side, combine 1 client and N 
> clients into the same implementation. That implementation now uses an 
> ExecutorService, so we can later decouple number of client workers from 
> number of client tasks. Finally, drop a bunch of confusing local state, 
> instead use the new TestOptions POJO as a parameter to static methods.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Updated] (HBASE-10592) Refactor PerformanceEvaluation tool

2014-02-22 Thread Nick Dimiduk (JIRA)

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

Nick Dimiduk updated HBASE-10592:
-

Attachment: HBASE-10592.00-0.98.patch

[~jmspaggi] mind taking this for a spin on your real cluster? Here's a patch 
vs. 0.98, maybe it'll be easier to use.

> Refactor PerformanceEvaluation tool
> ---
>
> Key: HBASE-10592
> URL: https://issues.apache.org/jira/browse/HBASE-10592
> Project: HBase
>  Issue Type: Improvement
>  Components: test
>Reporter: Nick Dimiduk
>Assignee: Nick Dimiduk
>Priority: Minor
> Fix For: 0.99.0
>
> Attachments: HBASE-10592.00-0.98.patch, HBASE-10592.00.patch
>
>
> PerfEval is kind of a mess. It's painful to add new features because the test 
> options are itemized and passed as parameters to internal methods. 
> Serialization is hand-rolled and tedious. Ensuring support for mapreduce mode 
> is a chore because of it.
> This patch refactors the tool. Options are now passed around to methods and 
> such as a POJO instead of one-by-one. Get rid of accessors that don't help 
> anyone. On the mapreduce side, serialization is now handled using json 
> (jackson is a dependency anyway) instead of the hand-rolled regex we used 
> before. Also do away with custom InputSplit and FileFormat, instead using 
> Text and NLineInputFormat. On the local mode side, combine 1 client and N 
> clients into the same implementation. That implementation now uses an 
> ExecutorService, so we can later decouple number of client workers from 
> number of client tasks. Finally, drop a bunch of confusing local state, 
> instead use the new TestOptions POJO as a parameter to static methods.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Updated] (HBASE-10592) Refactor PerformanceEvaluation tool

2014-02-22 Thread Nick Dimiduk (JIRA)

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

Nick Dimiduk updated HBASE-10592:
-

Attachment: HBASE-10592.00.patch

The EvaluationMapTask is designed to be overridden by a user-provided class, so 
technically this patch breaks API compatibility. Meaning, it shouldn't be 
applied to 0.96 or 0.98. However, it's only a testing tool so it won't break 
anyone's production code. This change makes the tool much easier to enhance, as 
I'll demonstrate on HBASE-9953, so I'd prefer to get the change applied to the 
previous branches anyway. However, it's up to you [~stack] and [~apurtell].

> Refactor PerformanceEvaluation tool
> ---
>
> Key: HBASE-10592
> URL: https://issues.apache.org/jira/browse/HBASE-10592
> Project: HBase
>  Issue Type: Improvement
>  Components: test
>Reporter: Nick Dimiduk
>Assignee: Nick Dimiduk
>Priority: Minor
> Fix For: 0.99.0
>
> Attachments: HBASE-10592.00.patch
>
>
> PerfEval is kind of a mess. It's painful to add new features because the test 
> options are itemized and passed as parameters to internal methods. 
> Serialization is hand-rolled and tedious. Ensuring support for mapreduce mode 
> is a chore because of it.
> This patch refactors the tool. Options are now passed around to methods and 
> such as a POJO instead of one-by-one. Get rid of accessors that don't help 
> anyone. On the mapreduce side, serialization is now handled using json 
> (jackson is a dependency anyway) instead of the hand-rolled regex we used 
> before. Also do away with custom InputSplit and FileFormat, instead using 
> Text and NLineInputFormat. On the local mode side, combine 1 client and N 
> clients into the same implementation. That implementation now uses an 
> ExecutorService, so we can later decouple number of client workers from 
> number of client tasks. Finally, drop a bunch of confusing local state, 
> instead use the new TestOptions POJO as a parameter to static methods.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Updated] (HBASE-10592) Refactor PerformanceEvaluation tool

2014-02-22 Thread Nick Dimiduk (JIRA)

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

Nick Dimiduk updated HBASE-10592:
-

Status: Patch Available  (was: Open)

> Refactor PerformanceEvaluation tool
> ---
>
> Key: HBASE-10592
> URL: https://issues.apache.org/jira/browse/HBASE-10592
> Project: HBase
>  Issue Type: Improvement
>  Components: test
>Reporter: Nick Dimiduk
>Assignee: Nick Dimiduk
>Priority: Minor
> Fix For: 0.99.0
>
> Attachments: HBASE-10592.00.patch
>
>
> PerfEval is kind of a mess. It's painful to add new features because the test 
> options are itemized and passed as parameters to internal methods. 
> Serialization is hand-rolled and tedious. Ensuring support for mapreduce mode 
> is a chore because of it.
> This patch refactors the tool. Options are now passed around to methods and 
> such as a POJO instead of one-by-one. Get rid of accessors that don't help 
> anyone. On the mapreduce side, serialization is now handled using json 
> (jackson is a dependency anyway) instead of the hand-rolled regex we used 
> before. Also do away with custom InputSplit and FileFormat, instead using 
> Text and NLineInputFormat. On the local mode side, combine 1 client and N 
> clients into the same implementation. That implementation now uses an 
> ExecutorService, so we can later decouple number of client workers from 
> number of client tasks. Finally, drop a bunch of confusing local state, 
> instead use the new TestOptions POJO as a parameter to static methods.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Created] (HBASE-10592) Refactor PerformanceEvaluation tool

2014-02-22 Thread Nick Dimiduk (JIRA)
Nick Dimiduk created HBASE-10592:


 Summary: Refactor PerformanceEvaluation tool
 Key: HBASE-10592
 URL: https://issues.apache.org/jira/browse/HBASE-10592
 Project: HBase
  Issue Type: Improvement
  Components: test
Reporter: Nick Dimiduk
Assignee: Nick Dimiduk
Priority: Minor
 Fix For: 0.99.0


PerfEval is kind of a mess. It's painful to add new features because the test 
options are itemized and passed as parameters to internal methods. 
Serialization is hand-rolled and tedious. Ensuring support for mapreduce mode 
is a chore because of it.

This patch refactors the tool. Options are now passed around to methods and 
such as a POJO instead of one-by-one. Get rid of accessors that don't help 
anyone. On the mapreduce side, serialization is now handled using json (jackson 
is a dependency anyway) instead of the hand-rolled regex we used before. Also 
do away with custom InputSplit and FileFormat, instead using Text and 
NLineInputFormat. On the local mode side, combine 1 client and N clients into 
the same implementation. That implementation now uses an ExecutorService, so we 
can later decouple number of client workers from number of client tasks. 
Finally, drop a bunch of confusing local state, instead use the new TestOptions 
POJO as a parameter to static methods.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Updated] (HBASE-10584) Inconsistency between tableExists and listTables in implementation

2014-02-22 Thread stack (JIRA)

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

stack updated HBASE-10584:
--

Attachment: HBASE-10584-trunk_v1.patch

> Inconsistency between tableExists and listTables in implementation
> --
>
> Key: HBASE-10584
> URL: https://issues.apache.org/jira/browse/HBASE-10584
> Project: HBase
>  Issue Type: Bug
>  Components: Client, master
>Reporter: Feng Honghua
>Assignee: Feng Honghua
> Attachments: HBASE-10584-trunk_v1.patch, HBASE-10584-trunk_v1.patch
>
>
> # HBaseAdmin.tableExists is implemented by scanning meta table
> # HBaseAdmin.listTables(and HBaseAdmin.getTableDescriptor) is implemented by 
> talking with HMaster which responses by querying the FSTableDescriptors, and 
> FSTableDescriptors return all tables by scanning all the table descriptor 
> files in FS(cache also plays here, so most of time it can be satisfied by 
> cache)...
> Actually HBaseAdmin requests HMaster to check if a table exists internally 
> when implementing deleteTable(see below), then why does it use a 
> different(scanning meta table) way to implementing tableExists() for outside 
> user to use for the same purpose?
> {code}
>   tableExists = false;
>   GetTableDescriptorsResponse htds;
>   MasterKeepAliveConnection master = connection.getKeepAliveMasterService();
>   try {
> GetTableDescriptorsRequest req =
> RequestConverter.buildGetTableDescriptorsRequest(tableName);
> htds = master.getTableDescriptors(null, req);
>   } catch (ServiceException se) {
> throw ProtobufUtil.getRemoteException(se);
>   } finally {
> master.close();
>   }
>   tableExists = !htds.getTableSchemaList().isEmpty();
> {code}
> (Above verifying that table descriptor file is deleted can guarantee all 
> items of this table are deleted from meta table...)
> Since creating table descriptor files and inserting item to meta table occur 
> in different time without atomic semantic, this inconsistency in 
> implementation can lead to confusing behaviors when create-table or 
> delete-table fails midway, (before according cleanup is done) table 
> descriptor file may exists while no item exists in meta table (for 
> create-table where table descriptor file is created before inserting item to 
> meta table), this leads to listTables including that table, while tableExists 
> says no. Similar inconsistency if delete-table fails mid-way...
> Confusing behavior can happen during the process even though eventually it 
> succeed:
> # During table creation, when a user calls listTables and then calls 
> tableExists for this table after the table descriptor is created but before 
> item is inserted to meta table. He will find the listTables includes a table 
> but tableExists return false for that same table, this behavior is confusing 
> and should only acceptable during the table is being deleted...
> # Similar behavior occurs during table deletion.
> Seems the benefit of implementing tableExists this way is we can avoid 
> talking with HMaster, considering we talk with HMaster for listTables and 
> getTableDescriptor, such benefit can't offset the drawback from inconsistency.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-10529) Make Cell extend Cloneable

2014-02-22 Thread ramkrishna.s.vasudevan (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10529?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909428#comment-13909428
 ] 

ramkrishna.s.vasudevan commented on HBASE-10529:


bq. I guess I'm stuck on the fact that the memstore is deeply intertwined with 
KeyValue right now.
That was for the above stmt from Matt.  So was saying may be use same keyvalues 
in the memstore and use Cells only on the server side.

> Make Cell extend Cloneable
> --
>
> Key: HBASE-10529
> URL: https://issues.apache.org/jira/browse/HBASE-10529
> Project: HBase
>  Issue Type: Sub-task
>Reporter: ramkrishna.s.vasudevan
>Assignee: ramkrishna.s.vasudevan
> Fix For: 0.99.0
>
> Attachments: HBSE-10529.patch
>
>
> Refer to the parent JIRA for discussion on making extending Cloneable.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-10589) Reduce unnecessary TestRowProcessorEndpoint resource usage

2014-02-22 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10589?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909357#comment-13909357
 ] 

Hudson commented on HBASE-10589:


FAILURE: Integrated in hbase-0.96-hadoop2 #212 (See 
[https://builds.apache.org/job/hbase-0.96-hadoop2/212/])
HBASE-10589 Reduce unnecessary TestRowProcessorEndpoint resource usage 
(apurtell: rev 1570768)
* 
/hbase/branches/0.96/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRowProcessorEndpoint.java


> Reduce unnecessary TestRowProcessorEndpoint resource usage
> --
>
> Key: HBASE-10589
> URL: https://issues.apache.org/jira/browse/HBASE-10589
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 0.98.0
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Trivial
> Fix For: 0.96.2, 0.98.1, 0.99.0
>
> Attachments: 10589.patch
>
>
> We don't need 1000 concurrent threads when 100 will do. 



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-10580) IntegrationTestingUtility#restoreCluster leak resource when running in a mini cluster mode

2014-02-22 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909358#comment-13909358
 ] 

Hudson commented on HBASE-10580:


FAILURE: Integrated in hbase-0.96-hadoop2 #212 (See 
[https://builds.apache.org/job/hbase-0.96-hadoop2/212/])
HBASE-10580: IntegrationTestingUtility#restoreCluster leak resource when 
running in a mini cluster mode (jeffreyz: rev 1570774)
* 
/hbase/branches/0.96/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java


> IntegrationTestingUtility#restoreCluster leak resource when running in a mini 
> cluster mode
> --
>
> Key: HBASE-10580
> URL: https://issues.apache.org/jira/browse/HBASE-10580
> Project: HBase
>  Issue Type: Bug
>  Components: test
>Affects Versions: 0.98.0, 0.96.0, 0.96.1, 0.99.0
>Reporter: Jeffrey Zhong
>Assignee: Jeffrey Zhong
> Fix For: 0.96.2, 0.98.1, 0.99.0
>
> Attachments: hbase-10580.patch
>
>
> When the utility isn't run in distributed cluster mode, the restore only 
> shutdown MiniHBaseCluster not MiniDFSCluster & MiniZKCluster.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-10589) Reduce unnecessary TestRowProcessorEndpoint resource usage

2014-02-22 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10589?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909300#comment-13909300
 ] 

Hudson commented on HBASE-10589:


FAILURE: Integrated in HBase-0.98-on-Hadoop-1.1 #165 (See 
[https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/165/])
HBASE-10589 Reduce unnecessary TestRowProcessorEndpoint resource usage 
(apurtell: rev 1570766)
* 
/hbase/branches/0.98/hbase-server/src/test/java/org/apache/hadoop/hbase/coprocessor/TestRowProcessorEndpoint.java


> Reduce unnecessary TestRowProcessorEndpoint resource usage
> --
>
> Key: HBASE-10589
> URL: https://issues.apache.org/jira/browse/HBASE-10589
> Project: HBase
>  Issue Type: Improvement
>Affects Versions: 0.98.0
>Reporter: Andrew Purtell
>Assignee: Andrew Purtell
>Priority: Trivial
> Fix For: 0.96.2, 0.98.1, 0.99.0
>
> Attachments: 10589.patch
>
>
> We don't need 1000 concurrent threads when 100 will do. 



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)


[jira] [Commented] (HBASE-10580) IntegrationTestingUtility#restoreCluster leak resource when running in a mini cluster mode

2014-02-22 Thread Hudson (JIRA)

[ 
https://issues.apache.org/jira/browse/HBASE-10580?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=13909301#comment-13909301
 ] 

Hudson commented on HBASE-10580:


FAILURE: Integrated in HBase-0.98-on-Hadoop-1.1 #165 (See 
[https://builds.apache.org/job/HBase-0.98-on-Hadoop-1.1/165/])
HBASE-10580: IntegrationTestingUtility#restoreCluster leak resource when 
running in a mini cluster mode (jeffreyz: rev 1570770)
* 
/hbase/branches/0.98/hbase-it/src/test/java/org/apache/hadoop/hbase/IntegrationTestingUtility.java


> IntegrationTestingUtility#restoreCluster leak resource when running in a mini 
> cluster mode
> --
>
> Key: HBASE-10580
> URL: https://issues.apache.org/jira/browse/HBASE-10580
> Project: HBase
>  Issue Type: Bug
>  Components: test
>Affects Versions: 0.98.0, 0.96.0, 0.96.1, 0.99.0
>Reporter: Jeffrey Zhong
>Assignee: Jeffrey Zhong
> Fix For: 0.96.2, 0.98.1, 0.99.0
>
> Attachments: hbase-10580.patch
>
>
> When the utility isn't run in distributed cluster mode, the restore only 
> shutdown MiniHBaseCluster not MiniDFSCluster & MiniZKCluster.



--
This message was sent by Atlassian JIRA
(v6.1.5#6160)