tomp2p / TomP2P

A P2P-based high performance key-value pair storage library
http://tomp2p.net
Apache License 2.0
440 stars 122 forks source link

Problem when using disk storage #126

Open ollyblink opened 8 years ago

ollyblink commented 8 years ago

15:17:03.837 [NETTY-TOMP2P - worker-client/server - -1-11] ERROR io.netty.util.ResourceLeakDetector - LEAK: AlternativeCompositeByteBuf.release() was not called before it's garbage-collected. See http://netty.io/wiki/reference-counted-objects.html for more information. Recent access records: 0 Created at: net.tomp2p.storage.AlternativeCompositeByteBuf.(AlternativeCompositeByteBuf.java:117) net.tomp2p.storage.AlternativeCompositeByteBuf.compBuffer(AlternativeCompositeByteBuf.java:2095) net.tomp2p.storage.DataSerializer.serializeMapDB(DataSerializer.java:52) net.tomp2p.storage.DataSerializer.serialize(DataSerializer.java:47) net.tomp2p.storage.DataSerializer.serialize(DataSerializer.java:24) org.mapdb.BTreeMap$NodeSerializer.serialize(BTreeMap.java:397) org.mapdb.BTreeMap$NodeSerializer.serialize(BTreeMap.java:288) org.mapdb.Store.serialize(Store.java:154) org.mapdb.StoreDirect.update(StoreDirect.java:484) org.mapdb.Caches$HashTable.update(Caches.java:269) org.mapdb.EngineWrapper.update(EngineWrapper.java:63) org.mapdb.BTreeMap.put2(BTreeMap.java:746) org.mapdb.BTreeMap.put(BTreeMap.java:643) net.tomp2p.storage.StorageDisk.put(StorageDisk.java:83) net.tomp2p.dht.StorageLayer.putAll(StorageLayer.java:228) net.tomp2p.dht.StorageLayer.put(StorageLayer.java:272) net.tomp2p.dht.StorageRPC.doAdd(StorageRPC.java:860) net.tomp2p.dht.StorageRPC.handleAdd(StorageRPC.java:831) net.tomp2p.dht.StorageRPC.handleResponse(StorageRPC.java:665) net.tomp2p.rpc.DispatchHandler.forwardMessage(DispatchHandler.java:161) net.tomp2p.connection.Sender.sendSelf(Sender.java:432) net.tomp2p.connection.Sender.sendTCP(Sender.java:187) net.tomp2p.connection.RequestHandler.sendTCP(RequestHandler.java:190) net.tomp2p.dht.StorageRPC.add(StorageRPC.java:408) net.tomp2p.dht.DistributedHashTable$1$1$1.create(DistributedHashTable.java:104) net.tomp2p.dht.DistributedHashTable.loopRec(DistributedHashTable.java:650) net.tomp2p.dht.DistributedHashTable.parallelRequests(DistributedHashTable.java:629) net.tomp2p.dht.DistributedHashTable.access$500(DistributedHashTable.java:59) net.tomp2p.dht.DistributedHashTable$1$1.operationComplete(DistributedHashTable.java:96) net.tomp2p.dht.DistributedHashTable$1$1.operationComplete(DistributedHashTable.java:90) net.tomp2p.futures.BaseFutureImpl.callOperationComplete(BaseFutureImpl.java:328) net.tomp2p.futures.BaseFutureImpl.notifyListeners(BaseFutureImpl.java:361) net.tomp2p.futures.FutureRouting.neighbors(FutureRouting.java:98) net.tomp2p.p2p.RoutingMechanism.neighbors(RoutingMechanism.java:249) net.tomp2p.p2p.DistributedRouting.routingRec(DistributedRouting.java:297) net.tomp2p.p2p.DistributedRouting.access$200(DistributedRouting.java:57) net.tomp2p.p2p.DistributedRouting$2.operationComplete(DistributedRouting.java:341) net.tomp2p.p2p.DistributedRouting$2.operationComplete(DistributedRouting.java:304) net.tomp2p.futures.BaseFutureImpl.callOperationComplete(BaseFutureImpl.java:328) net.tomp2p.futures.BaseFutureImpl.notifyListeners(BaseFutureImpl.java:361) net.tomp2p.futures.FutureForkJoin.evaluate(FutureForkJoin.java:167) net.tomp2p.futures.FutureForkJoin.access$000(FutureForkJoin.java:33) net.tomp2p.futures.FutureForkJoin$1.operationComplete(FutureForkJoin.java:111) net.tomp2p.futures.BaseFutureImpl.callOperationComplete(BaseFutureImpl.java:328) net.tomp2p.futures.BaseFutureImpl.notifyListeners(BaseFutureImpl.java:361) net.tomp2p.futures.FutureResponse.responseNow(FutureResponse.java:150) net.tomp2p.connection.ChannelCreator$2$1.run(ChannelCreator.java:274) net.tomp2p.connection.ChannelCreator$2.operationComplete(ChannelCreator.java:279) net.tomp2p.connection.ChannelCreator$2.operationComplete(ChannelCreator.java:254) io.netty.util.concurrent.DefaultPromise.notifyListener0(DefaultPromise.java:680) io.netty.util.concurrent.DefaultPromise.notifyListeners0(DefaultPromise.java:603) io.netty.util.concurrent.DefaultPromise.notifyListeners(DefaultPromise.java:563) io.netty.util.concurrent.DefaultPromise.trySuccess(DefaultPromise.java:406) io.netty.channel.DefaultChannelPromise.trySuccess(DefaultChannelPromise.java:82) io.netty.channel.AbstractChannel$CloseFuture.setClosed(AbstractChannel.java:956) io.netty.channel.AbstractChannel$AbstractUnsafe.doClose0(AbstractChannel.java:608) io.netty.channel.AbstractChannel$AbstractUnsafe.close(AbstractChannel.java:586) io.netty.channel.DefaultChannelPipeline$HeadContext.close(DefaultChannelPipeline.java:1107) io.netty.channel.AbstractChannelHandlerContext.invokeClose(AbstractChannelHandlerContext.java:543) io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:528) io.netty.channel.ChannelDuplexHandler.close(ChannelDuplexHandler.java:73) io.netty.channel.AbstractChannelHandlerContext.invokeClose(AbstractChannelHandlerContext.java:543) io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:528) io.netty.channel.ChannelDuplexHandler.close(ChannelDuplexHandler.java:73) io.netty.channel.AbstractChannelHandlerContext.invokeClose(AbstractChannelHandlerContext.java:543) io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:528) io.netty.channel.ChannelOutboundHandlerAdapter.close(ChannelOutboundHandlerAdapter.java:71) io.netty.channel.AbstractChannelHandlerContext.invokeClose(AbstractChannelHandlerContext.java:543) io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:528) io.netty.channel.AbstractChannelHandlerContext.close(AbstractChannelHandlerContext.java:394) net.tomp2p.connection.RequestHandler.channelRead0(RequestHandler.java:333) net.tomp2p.connection.RequestHandler.channelRead0(RequestHandler.java:41) io.netty.channel.SimpleChannelInboundHandler.channelRead(SimpleChannelInboundHandler.java:105) io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308) io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294) net.tomp2p.message.TomP2PSinglePacketUDP.channelRead(TomP2PSinglePacketUDP.java:48) io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308) io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294) io.netty.channel.ChannelInboundHandlerAdapter.channelRead(ChannelInboundHandlerAdapter.java:86) io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308) io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294) net.tomp2p.connection.IdleStateHandlerTomP2P.channelRead(IdleStateHandlerTomP2P.java:111) io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:308) io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:294) io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:846) io.netty.channel.nio.AbstractNioMessageChannel$NioMessageUnsafe.read(AbstractNioMessageChannel.java:93) io.netty.channel.nio.NioEventLoop.processSelectedKey(NioEventLoop.java:511) io.netty.channel.nio.NioEventLoop.processSelectedKeysOptimized(NioEventLoop.java:468) io.netty.channel.nio.NioEventLoop.processSelectedKeys(NioEventLoop.java:382) io.netty.channel.nio.NioEventLoop.run(NioEventLoop.java:354) io.netty.util.concurrent.SingleThreadEventExecutor$2.run(SingleThreadEventExecutor.java:111) io.netty.util.concurrent.DefaultThreadFactory$DefaultRunnableDecorator.run(DefaultThreadFactory.java:137) java.lang.Thread.run(Unknown Source)