[jira] [Updated] (HBASE-9479) Using HBase Jars is Way Too Hard

2013-09-09 Thread David Williams (JIRA)

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

David Williams updated HBASE-9479:
--

Summary: Using HBase Jars is Way Too Hard  (was: Using HBase Jars is Too 
Difficult)

 Using HBase Jars is Way Too Hard
 

 Key: HBASE-9479
 URL: https://issues.apache.org/jira/browse/HBASE-9479
 Project: HBase
  Issue Type: Bug
Reporter: David Williams

 Right now, HBase contains so many dependencies, that using the most basic 
 HBase functionality such as HConnection is unreasonable hard.  For example, 
 trying to include HBase connectivity in a Spring web app leads to hundreds of 
 JarClassLoader errors such as:
 {code}
 JarClassLoader: Warning: 
 org/apache/commons/collections/FastHashMap$CollectionView.class in 
 lib/commons-collections-3.2.1.jar is hidden by 
 lib/commons-beanutils-core-1.8.3.jar (with different bytecode)
 JarClassLoader: Warning: 
 org/apache/commons/collections/FastHashMap$EntrySet.class in 
 lib/commons-collections-3.2.1.jar is hidden by 
 lib/commons-beanutils-core-1.8.3.jar (with different bytecode)
 JarClassLoader: Warning: 
 org/apache/commons/collections/FastHashMap$KeySet.class in 
 lib/commons-collections-3.2.1.jar is hidden by 
 lib/commons-beanutils-core-1.8.3.jar (with different bytecode)
 JarClassLoader: Warning: 
 org/apache/commons/collections/FastHashMap$Values.class in 
 lib/commons-collections-3.2.1.jar is hidden by 
 lib/commons-beanutils-core-1.8.3.jar (with different bytecode)
 JarClassLoader: Warning: org/apache/commons/collections/FastHashMap.class in 
 lib/commons-collections-3.2.1.jar is hidden by 
 lib/commons-beanutils-core-1.8.3.jar (with different bytecode)
 JarClassLoader: Warning: javax/servlet/Filter.class in 
 lib/servlet-api-2.5-6.1.14.jar is hidden by 
 lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode)
 JarClassLoader: Warning: javax/servlet/FilterChain.class in 
 lib/servlet-api-2.5-6.1.14.jar is hidden by 
 lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode)
 JarClassLoader: Warning: javax/servlet/FilterConfig.class in 
 lib/servlet-api-2.5-6.1.14.jar is hidden by 
 lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode)
 JarClassLoader: Warning: javax/servlet/GenericServlet.class in 
 lib/servlet-api-2.5-6.1.14.jar is hidden by 
 lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode)
 JarClassLoader: Warning: javax/servlet/http/Cookie.class in 
 lib/servlet-api-2.5-6.1.14.jar is hidden by 
 lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode)
 {code}
 Why is this all bundled together?  Why not have an hbase-client or 
 hbase-client-dev package which is friendly for creating applications?
 I have spent 2+ days attempting to run a web service which is backed by HBase 
 with no luck.  I have created several stack overflow questions:
 http://stackoverflow.com/questions/18703903/java-massive-class-collision
 http://stackoverflow.com/questions/18690582/how-to-create-jetty-spring-app-with-hbase-connection
 Why is this so difficult.  How do I include what I need to make an HBase app. 
  So far I have tried using Maven, but this approach is draconian, and I have 
 not succeeded.  Am I Pwned?
 {code}
dependencyManagement
 dependencies
 dependency
 groupIdorg.jboss.netty/groupId
 artifactIdnetty/artifactId
 version3.2.4.Final/version
 /dependency
 dependency
 groupIdorg.codehaus.jackson/groupId
 artifactIdjackson-core-asl/artifactId
 version1.9.12/version
 /dependency
 dependency
 groupIdorg.codehaus.jackson/groupId
 artifactIdjackson-jaxrs/artifactId
 version1.9.12/version
 /dependency
 dependency
 groupIdcom.sun.xml.bind/groupId
 artifactIdjackson-jaxrs/artifactId
 version2.2.6/version
 /dependency
 dependency
 groupIdcom.sun.xml.bind/groupId
 artifactIdjaxb-impl/artifactId
 version2.2.6/version
 /dependency
 dependency
 groupIdlog4j/groupId
 artifactIdlog4j/artifactId
 version1.2.16/version
 /dependency
 dependency
 groupIdasm/groupId
 artifactIdasm/artifactId
 version3.3.1/version
 /dependency
 dependency
 groupIdcommons-codec/groupId
 artifactIdcommons-codec/artifactId
 version1.4/version
 /dependency
 dependency
 groupIdcommons-lang/groupId
 

[jira] [Updated] (HBASE-9479) Using HBase Jars is Way Too Hard

2013-09-09 Thread David Williams (JIRA)

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

David Williams updated HBASE-9479:
--

Description: 
Right now, HBase contains so many dependencies, that using the most basic HBase 
functionality such as HConnection in a larger application is unreasonable hard. 
 For example, trying to include HBase connectivity in a Spring web app leads to 
hundreds of JarClassLoader errors such as:

{code}
JarClassLoader: Warning: 
org/apache/commons/collections/FastHashMap$CollectionView.class in 
lib/commons-collections-3.2.1.jar is hidden by 
lib/commons-beanutils-core-1.8.3.jar (with different bytecode)
JarClassLoader: Warning: 
org/apache/commons/collections/FastHashMap$EntrySet.class in 
lib/commons-collections-3.2.1.jar is hidden by 
lib/commons-beanutils-core-1.8.3.jar (with different bytecode)
JarClassLoader: Warning: 
org/apache/commons/collections/FastHashMap$KeySet.class in 
lib/commons-collections-3.2.1.jar is hidden by 
lib/commons-beanutils-core-1.8.3.jar (with different bytecode)
JarClassLoader: Warning: 
org/apache/commons/collections/FastHashMap$Values.class in 
lib/commons-collections-3.2.1.jar is hidden by 
lib/commons-beanutils-core-1.8.3.jar (with different bytecode)
JarClassLoader: Warning: org/apache/commons/collections/FastHashMap.class in 
lib/commons-collections-3.2.1.jar is hidden by 
lib/commons-beanutils-core-1.8.3.jar (with different bytecode)
JarClassLoader: Warning: javax/servlet/Filter.class in 
lib/servlet-api-2.5-6.1.14.jar is hidden by 
lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode)
JarClassLoader: Warning: javax/servlet/FilterChain.class in 
lib/servlet-api-2.5-6.1.14.jar is hidden by 
lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode)
JarClassLoader: Warning: javax/servlet/FilterConfig.class in 
lib/servlet-api-2.5-6.1.14.jar is hidden by 
lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode)
JarClassLoader: Warning: javax/servlet/GenericServlet.class in 
lib/servlet-api-2.5-6.1.14.jar is hidden by 
lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode)
JarClassLoader: Warning: javax/servlet/http/Cookie.class in 
lib/servlet-api-2.5-6.1.14.jar is hidden by 
lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode)
{code}


Why is this all bundled together?  Why not have an hbase-client or 
hbase-client-dev package which is friendly for creating applications?

I have spent 2+ days attempting to run a web service which is backed by HBase 
with no luck.  I have created several stack overflow questions:

http://stackoverflow.com/questions/18703903/java-massive-class-collision

http://stackoverflow.com/questions/18690582/how-to-create-jetty-spring-app-with-hbase-connection

Why is this so difficult.  How do I include what I need to make an HBase app.  
So far I have tried using Maven, but this approach is draconian, and I have not 
succeeded.  Am I Pwned?

{code}
   dependencyManagement
dependencies
dependency
groupIdorg.jboss.netty/groupId
artifactIdnetty/artifactId
version3.2.4.Final/version
/dependency
dependency
groupIdorg.codehaus.jackson/groupId
artifactIdjackson-core-asl/artifactId
version1.9.12/version
/dependency
dependency
groupIdorg.codehaus.jackson/groupId
artifactIdjackson-jaxrs/artifactId
version1.9.12/version
/dependency
dependency
groupIdcom.sun.xml.bind/groupId
artifactIdjackson-jaxrs/artifactId
version2.2.6/version
/dependency
dependency
groupIdcom.sun.xml.bind/groupId
artifactIdjaxb-impl/artifactId
version2.2.6/version
/dependency
dependency
groupIdlog4j/groupId
artifactIdlog4j/artifactId
version1.2.16/version
/dependency
dependency
groupIdasm/groupId
artifactIdasm/artifactId
version3.3.1/version
/dependency
dependency
groupIdcommons-codec/groupId
artifactIdcommons-codec/artifactId
version1.4/version
/dependency
dependency
groupIdcommons-lang/groupId
artifactIdcommons-lang/artifactId
version2.5/version
/dependency
dependency
groupIdorg.slf4j/groupId
artifactIdslf4j-api/artifactId
version1.7.5/version
/dependency
dependency
groupIdcommons-logging/groupId
artifactIdcommons-logging/artifactId

[jira] [Updated] (HBASE-9479) Using HBase Jars is Way Too Hard

2013-09-09 Thread David Williams (JIRA)

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

David Williams updated HBASE-9479:
--

Description: 
Right now, HBase contains so many dependencies, that using the most basic HBase 
functionality such as HConnection in a larger application is unreasonable hard. 
 For example, trying to include HBase connectivity in a Spring web app leads to 
hundreds of JarClassLoader errors such as:

{code}
JarClassLoader: Warning: 
org/apache/commons/collections/FastHashMap$CollectionView.class in 
lib/commons-collections-3.2.1.jar is hidden by 
lib/commons-beanutils-core-1.8.3.jar (with different bytecode)
JarClassLoader: Warning: 
org/apache/commons/collections/FastHashMap$EntrySet.class in 
lib/commons-collections-3.2.1.jar is hidden by 
lib/commons-beanutils-core-1.8.3.jar (with different bytecode)
JarClassLoader: Warning: 
org/apache/commons/collections/FastHashMap$KeySet.class in 
lib/commons-collections-3.2.1.jar is hidden by 
lib/commons-beanutils-core-1.8.3.jar (with different bytecode)
JarClassLoader: Warning: 
org/apache/commons/collections/FastHashMap$Values.class in 
lib/commons-collections-3.2.1.jar is hidden by 
lib/commons-beanutils-core-1.8.3.jar (with different bytecode)
JarClassLoader: Warning: org/apache/commons/collections/FastHashMap.class in 
lib/commons-collections-3.2.1.jar is hidden by 
lib/commons-beanutils-core-1.8.3.jar (with different bytecode)
JarClassLoader: Warning: javax/servlet/Filter.class in 
lib/servlet-api-2.5-6.1.14.jar is hidden by 
lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode)
JarClassLoader: Warning: javax/servlet/FilterChain.class in 
lib/servlet-api-2.5-6.1.14.jar is hidden by 
lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode)
JarClassLoader: Warning: javax/servlet/FilterConfig.class in 
lib/servlet-api-2.5-6.1.14.jar is hidden by 
lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode)
JarClassLoader: Warning: javax/servlet/GenericServlet.class in 
lib/servlet-api-2.5-6.1.14.jar is hidden by 
lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode)
JarClassLoader: Warning: javax/servlet/http/Cookie.class in 
lib/servlet-api-2.5-6.1.14.jar is hidden by 
lib/javax.servlet-3.0.0.v201112011016.jar (with different bytecode)
{code}


Why is this all bundled together?  Why not have an hbase-client or 
hbase-client-dev package which is friendly for creating applications?

I have spent 2+ days attempting to run a web service which is backed by HBase 
with no luck.  I have created several stack overflow questions:

http://stackoverflow.com/questions/18703903/java-massive-class-collision

http://stackoverflow.com/questions/18690582/how-to-create-jetty-spring-app-with-hbase-connection

The use of BeanUtils is also known to have a very bad issue:

The three jars contain wrong classes
https://issues.apache.org/jira/browse/BEANUTILS-398

Why is this so difficult?  How do I include what I need to make an HBase app.  
So far I have tried using Maven, but this approach is draconian, and I have not 
succeeded.  Am I Pwned?

{code}
   dependencyManagement
dependencies
dependency
groupIdorg.jboss.netty/groupId
artifactIdnetty/artifactId
version3.2.4.Final/version
/dependency
dependency
groupIdorg.codehaus.jackson/groupId
artifactIdjackson-core-asl/artifactId
version1.9.12/version
/dependency
dependency
groupIdorg.codehaus.jackson/groupId
artifactIdjackson-jaxrs/artifactId
version1.9.12/version
/dependency
dependency
groupIdcom.sun.xml.bind/groupId
artifactIdjackson-jaxrs/artifactId
version2.2.6/version
/dependency
dependency
groupIdcom.sun.xml.bind/groupId
artifactIdjaxb-impl/artifactId
version2.2.6/version
/dependency
dependency
groupIdlog4j/groupId
artifactIdlog4j/artifactId
version1.2.16/version
/dependency
dependency
groupIdasm/groupId
artifactIdasm/artifactId
version3.3.1/version
/dependency
dependency
groupIdcommons-codec/groupId
artifactIdcommons-codec/artifactId
version1.4/version
/dependency
dependency
groupIdcommons-lang/groupId
artifactIdcommons-lang/artifactId
version2.5/version
/dependency
dependency
groupIdorg.slf4j/groupId
artifactIdslf4j-api/artifactId
version1.7.5/version
/dependency