簡體   English   中英

YCSB錯誤,對mysql db進行掃描操作

[英]YCSB Error with scan operation on mysql db

我正在嘗試在MySQL數據庫(10GB設置)上使用YCSB客戶端運行僅掃描工作負載。 我正在使用以下命令來運行工作負載

./bin/ycsb運行jdbc -P工作負載/ workloademod -p db.driver = com.mysql.jd bc.Driver -p db.url = jdbc:mysql:// localhost:3306 / ycsbtest -p db.user =用戶名-p maxscanlength = 100 -p recordcount = 5000 -p operationcount = 1000 -p maxexecutiontime = 1800> try_ycsb_emod

但是我得到了內存不足的Java GC異常,工作負載如下被殺死:

Loading workload...
Starting test.
Maximum execution time specified as: 1800 secs
Exception in thread "Thread-1" java.lang.OutOfMemoryError: Java heap space
        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3380)
        at com.mysql.jdbc.MysqlIO.reuseAndReadPacket(MysqlIO.java:3327)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:3814)
        at com.mysql.jdbc.MysqlIO.checkErrorPacket(MysqlIO.java:870)
        at com.mysql.jdbc.MysqlIO.nextRow(MysqlIO.java:1928)
        at com.mysql.jdbc.MysqlIO.readSingleRowSet(MysqlIO.java:3278)
        at com.mysql.jdbc.MysqlIO.getResultSet(MysqlIO.java:462)
        at com.mysql.jdbc.MysqlIO.readResultsForQueryOrUpdate(MysqlIO.java:2997)
        at com.mysql.jdbc.MysqlIO.readAllResults(MysqlIO.java:2245)
        at com.mysql.jdbc.MysqlIO.sqlQueryDirect(MysqlIO.java:2638)
        at com.mysql.jdbc.ConnectionImpl.execSQL(ConnectionImpl.java:2530)
        at com.mysql.jdbc.PreparedStatement.executeInternal(PreparedStatement.java:1907)
        at com.mysql.jdbc.PreparedStatement.executeQuery(PreparedStatement.java:2030)
        at com.yahoo.ycsb.db.JdbcDBClient.scan(JdbcDBClient.java:348)
        at com.yahoo.ycsb.DBWrapper.scan(DBWrapper.java:107)
        at com.yahoo.ycsb.workloads.CoreWorkload.doTransactionScan(CoreWorkload.java:605)
        at com.yahoo.ycsb.workloads.CoreWorkload.doTransaction(CoreWorkload.java:491)
        at com.yahoo.ycsb.ClientThread.run(Client.java:233)
Could not wait until max specified time, TerminatorThread interrupted.

我已經嘗試通過執行“ export YCSB_HEAP_SIZE = 8000”以使其達到8G來增加ycsb客戶端的Java堆大小,但仍然出現相同的錯誤。

我檢查了ycsb客戶端發送到mysql服務器的mysql查詢,但沒有看到對max_scan_length度量的引用/暗示。 另外,使用mysql客戶端而不是ycsb客戶端運行此mysql查詢也可以正常工作。

我不確定該如何解決。 有人可以幫我嗎?

謝謝,雷內

這是jdbc實現的一個錯誤: https : //github.com/brianfrankcooper/YCSB/issues/171

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM