jspnetbeansglassfishcassandrahector

Attempt to borrow on in-active pool Using hector with cassandra


When i try to run the SchemaManipulation example provided by the hector wiki, when the server is started the first time the server is run everything works perfectly, however after a second run errors occur (full stack trace below)

Im trying to connect to cassandra 1.0.7 using hector 1.0.2 and Glassfish 3.1. I'm using Netbeans 7.1.

Custom JARs that have been imported

First run (successful):

SEVERE: log4j:WARN No appenders could be found for logger (me.prettyprint.cassandra.connection.CassandraHostRetryService).
SEVERE: log4j:WARN Please initialize the log4j system properly.
INFO: Dropped key space
INFO: Name: WOO
INFO: RF: 1
INFO: strategy class: org.apache.cassandra.locator.SimpleStrategy
INFO:   CF Type: STANDARD
INFO:   CF Name: DynamicCf
INFO:   CF Metadata: [ThriftColumnDef[name=java.nio.HeapByteBuffer[pos=8330 lim=8339 cap=9252],validationClass=org.apache.cassandra.db.marshal.LongType,indexType=KEYS,indexName=birthdate_idx]]
INFO:   CF Type: SUPER
INFO:   CF Name: SuperCf
INFO:   CF Metadata: []

Full stack trace error:

SEVERE: me.prettyprint.hector.api.exceptions.HInactivePoolException: Attempt to borrow on in-active pool: <ConcurrentCassandraClientPoolByHost>:{localhost(127.0.0.1):9160}
    at me.prettyprint.cassandra.connection.ConcurrentHClientPool.borrowClient(ConcurrentHClientPool.java:69)
    at me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:235)
    at me.prettyprint.cassandra.service.AbstractCluster.describeKeyspace(AbstractCluster.java:199)
    at net.zanity.live.SchemaManipulation.main(SchemaManipulation.java:40)
    at org.apache.jsp.index_jsp._jspService(index_jsp.java:68)
    at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:403)
    at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492)
    at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
    at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
    at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
    at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
    at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
    at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
    at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
    at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
    at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
    at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
    at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
    at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
    at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
    at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
    at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
    at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
    at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
    at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
    at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
    at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
    at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
    at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
    at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
    at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
    at java.lang.Thread.run(Thread.java:722)

SEVERE:     at me.prettyprint.cassandra.connection.ConcurrentHClientPool.borrowClient(ConcurrentHClientPool.java:69)
SEVERE:     at me.prettyprint.cassandra.connection.HConnectionManager.operateWithFailover(HConnectionManager.java:235)
SEVERE:     at me.prettyprint.cassandra.service.AbstractCluster.describeKeyspace(AbstractCluster.java:199)
SEVERE:     at net.zanity.live.SchemaManipulation.main(SchemaManipulation.java:40)
SEVERE:     at org.apache.jsp.index_jsp._jspService(index_jsp.java:68)
SEVERE:     at org.apache.jasper.runtime.HttpJspBase.service(HttpJspBase.java:111)
SEVERE:     at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
SEVERE:     at org.apache.jasper.servlet.JspServletWrapper.service(JspServletWrapper.java:403)
SEVERE:     at org.apache.jasper.servlet.JspServlet.serviceJspFile(JspServlet.java:492)
SEVERE:     at org.apache.jasper.servlet.JspServlet.service(JspServlet.java:378)
SEVERE:     at javax.servlet.http.HttpServlet.service(HttpServlet.java:847)
SEVERE:     at org.apache.catalina.core.StandardWrapper.service(StandardWrapper.java:1539)
SEVERE:     at org.apache.catalina.core.StandardWrapperValve.invoke(StandardWrapperValve.java:281)
SEVERE:     at org.apache.catalina.core.StandardContextValve.invoke(StandardContextValve.java:175)
SEVERE:     at org.apache.catalina.core.StandardPipeline.doInvoke(StandardPipeline.java:655)
SEVERE:     at org.apache.catalina.core.StandardPipeline.invoke(StandardPipeline.java:595)
SEVERE:     at com.sun.enterprise.web.WebPipeline.invoke(WebPipeline.java:98)
SEVERE:     at com.sun.enterprise.web.PESessionLockingStandardPipeline.invoke(PESessionLockingStandardPipeline.java:91)
SEVERE:     at org.apache.catalina.core.StandardHostValve.invoke(StandardHostValve.java:162)
SEVERE:     at org.apache.catalina.connector.CoyoteAdapter.doService(CoyoteAdapter.java:330)
SEVERE:     at org.apache.catalina.connector.CoyoteAdapter.service(CoyoteAdapter.java:231)
SEVERE:     at com.sun.enterprise.v3.services.impl.ContainerMapper.service(ContainerMapper.java:174)
SEVERE:     at com.sun.grizzly.http.ProcessorTask.invokeAdapter(ProcessorTask.java:828)
SEVERE:     at com.sun.grizzly.http.ProcessorTask.doProcess(ProcessorTask.java:725)
SEVERE:     at com.sun.grizzly.http.ProcessorTask.process(ProcessorTask.java:1019)
SEVERE:     at com.sun.grizzly.http.DefaultProtocolFilter.execute(DefaultProtocolFilter.java:225)
SEVERE:     at com.sun.grizzly.DefaultProtocolChain.executeProtocolFilter(DefaultProtocolChain.java:137)
SEVERE:     at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:104)
SEVERE:     at com.sun.grizzly.DefaultProtocolChain.execute(DefaultProtocolChain.java:90)
SEVERE:     at com.sun.grizzly.http.HttpProtocolChain.execute(HttpProtocolChain.java:79)
SEVERE:     at com.sun.grizzly.ProtocolChainContextTask.doCall(ProtocolChainContextTask.java:54)
SEVERE:     at com.sun.grizzly.SelectionKeyContextTask.call(SelectionKeyContextTask.java:59)
SEVERE:     at com.sun.grizzly.ContextTask.run(ContextTask.java:71)
SEVERE:     at com.sun.grizzly.util.AbstractThreadPool$Worker.doWork(AbstractThreadPool.java:532)
SEVERE:     at com.sun.grizzly.util.AbstractThreadPool$Worker.run(AbstractThreadPool.java:513)
SEVERE:     at java.lang.Thread.run(Thread.java:722)

The jsp page:

<%@page contentType="text/html" import="net.zanity.live.*;" pageEncoding="UTF-8"%>
<!DOCTYPE html>
<html>
    <head>
        <meta http-equiv="Content-Type" content="text/html; charset=UTF-8">
        <title>JSP Page</title>
    </head>
    <body>
        <h1><% out.println("AAAA"); %></h1>
        <%// SchemaManipulation.main(new String[0]); %>
        <%
        /*
            InsertSingleColumn ins = new InsertSingleColumn();
            String temp = ins.Insert();
            out.print(temp);*/
        SchemaManipulation.main(new String[0]);
        %>
        <h1><% out.println("AAAA2 :D"); %></h1>
    </body>
</html>

Solution

  • Due to using the SchemaManipulation example and lack of Cassandra experience, ive not realised that the example shuts down the cluster once it has finished executing.

    This closes open pools and kills the conndection, for anyone else that comes accross this, just dont shut down the cluster at the end of the class

    //remove this as it kills the cluster.
    cluster.getConnectionManager().shutdown();