1
JDBC API를 통해 voltdb에 연결하려했지만 항상 OutOfMemoryError를 얻습니다. 알아요. 힙 크기를 늘려서 제거 할 수는 있지만, 왜 힙 크기가 큰지 알고 싶습니다. 이미 1028M이 힙 크기로 설정되어 있습니다.VoltDB JDBC 드라이버가 OutOfMemory 오류로 인해 항상 충돌합니다.
Exception in thread "http-bio-8080-exec-206" java.lang.OutOfMemoryError: Java heap space
at java.nio.HeapByteBuffer.<init>(HeapByteBuffer.java:39)
at java.nio.ByteBuffer.allocate(ByteBuffer.java:312)
at org.voltdb.client.ConnectionUtil.getAuthenticatedConnection(ConnectionUtil.java:213)
at org.voltdb.client.ConnectionUtil.getAuthenticatedConnection(ConnectionUtil.java:143)
at org.voltdb.client.ConnectionUtil.getAuthenticatedConnection(ConnectionUtil.java:118)
at org.voltdb.client.Distributer.createConnectionWithHashedCredentials(Distributer.java:614)
at org.voltdb.client.ClientImpl.createConnectionWithHashedCredentials(ClientImpl.java:171)
at org.voltdb.client.ClientImpl.createConnection(ClientImpl.java:542)
at org.voltdb.jdbc.JDBC4ClientConnection.<init>(JDBC4ClientConnection.java:141)
at org.voltdb.jdbc.JDBC4ClientConnectionPool.get(JDBC4ClientConnectionPool.java:83)
at org.voltdb.jdbc.Driver.connect(Driver.java:91)
at java.sql.DriverManager.getConnection(DriverManager.java:582)
at java.sql.DriverManager.getConnection(DriverManager.java:207)
은 deployment.xml
<?xml version="1.0"?>
<deployment>
<cluster hostcount="1" sitesperhost="2" kfactor="0" />
<httpd enabled="true" port="65534">
<jsonapi enabled="true" />
</httpd>
</deployment>
안녕, 관리 안내서에 설명되어 있습니다, 나는 VoltDB을 위해 작동합니다. 우리는 JDBC 드라이버를 사용하는 힙 공간에 문제가 있음을 알지 못하므로, 얻고있는 문제점을 진단하기위한 몇 가지 추가 배경에 대한 도움을 원합니다. 1) 호출 코드는 얼마나 많은 힙을 사용합니까? 2) 얼마나 많은 노드 (서버)에 연결하고 있습니까? 3) 얼마나 많은 JDBC 드라이버 인스턴스를 사용하고 있습니까? – BenjaminBallard
4) 어떤 포트에 연결하고 있습니까? http 포트에 연결 한 결과 일 수 있다는 이론이 있습니다. – BenjaminBallard
감사합니다. Ben, 저는 귀하의 문서에 따라 간단한 클라이언트를 작성했습니다. 나는 voltdb 포트로 구성된 8083 포트를 사용하고 있습니다. 하나의 서버에만 연결하고 있습니다. 그게 문제 야? 나는 당신에게 다른 세부 사항을 곧 줄 것이다. – RickDavis