You are viewing a plain text version of this content. The canonical link for it is here.
Posted to dev@bookkeeper.apache.org by "Ivan Kelly (JIRA)" <ji...@apache.org> on 2013/10/11 16:58:44 UTC

[jira] [Updated] (BOOKKEEPER-659) LRU page management in ledger cache.

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

Ivan Kelly updated BOOKKEEPER-659:
----------------------------------

    Attachment: 0001-BOOKKEEPER-659-LRU-page-management-in-ledger-cache.patch

I've rebased onto current trunk. It's failing some test though (output attached), with an IllegalStateException

{quote}
2013-10-11 16:52:17,047 - INFO  - [New I/O client worker #36-3:PerChannelBookieClient$1@135] - Successfully connected to bookie: [id: 0x08c1e4d5, /10.78.36.43:51868 =&gt; /10.78.36.43:15004]
2013-10-11 16:52:17,047 - INFO  - [New I/O server worker #7-4:IndexInMemPageMgr@449] - Could not grab a clean page for ledger 4, entry 0, force flushing dirty ledgers.
2013-10-11 16:52:17,054 - ERROR - [New I/O server worker #9-4:BookieRequestHandler@82] - Unhandled exception occurred in I/O thread or handler
java.lang.IllegalStateException: Use count has gone below 0
	at org.apache.bookkeeper.bookie.LedgerEntryPage.releasePage(LedgerEntryPage.java:86)
	at org.apache.bookkeeper.bookie.IndexInMemPageMgr.grabLedgerEntryPage(IndexInMemPageMgr.java:406)
	at org.apache.bookkeeper.bookie.IndexInMemPageMgr.getEntryOffset(IndexInMemPageMgr.java:526)
	at org.apache.bookkeeper.bookie.LedgerCacheImpl.getEntryOffset(LedgerCacheImpl.java:74)
	at org.apache.bookkeeper.bookie.InterleavedLedgerStorage.getEntry(InterleavedLedgerStorage.java:158)
	at org.apache.bookkeeper.bookie.LedgerDescriptorImpl.readEntry(LedgerDescriptorImpl.java:85)
	at org.apache.bookkeeper.bookie.Bookie.readEntry(Bookie.java:991)
	at org.apache.bookkeeper.proto.BookieRequestHandler.handleRead(BookieRequestHandler.java:236)
	at org.apache.bookkeeper.proto.BookieRequestHandler.messageReceived(BookieRequestHandler.java:121)
	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
	at org.jboss.netty.handler.codec.oneone.OneToOneDecoder.handleUpstream(OneToOneDecoder.java:76)
	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:302)
	at org.jboss.netty.handler.codec.frame.FrameDecoder.unfoldAndFireMessageReceived(FrameDecoder.java:317)
	at org.jboss.netty.handler.codec.frame.FrameDecoder.callDecode(FrameDecoder.java:299)
	at org.jboss.netty.handler.codec.frame.FrameDecoder.messageReceived(FrameDecoder.java:216)
	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:274)
	at org.jboss.netty.channel.Channels.fireMessageReceived(Channels.java:261)
	at org.jboss.netty.channel.socket.nio.NioWorker.read(NioWorker.java:349)
	at org.jboss.netty.channel.socket.nio.NioWorker.processSelectedKeys(NioWorker.java:280)
	at org.jboss.netty.channel.socket.nio.NioWorker.run(NioWorker.java:200)
	at java.util.concurrent.ThreadPoolExecutor$Worker.runTask(ThreadPoolExecutor.java:895)
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:918)
	at java.lang.Thread.run(Thread.java:662)
2013-10-11 16:52:17,055 - INFO  - [New I/O server worker #9-4:IndexInMemPageMgr@449] - Could not grab a clean page for ledger 4, entry 0, force flushing dirty ledgers.
{quote}

> LRU page management in ledger cache.
> ------------------------------------
>
>                 Key: BOOKKEEPER-659
>                 URL: https://issues.apache.org/jira/browse/BOOKKEEPER-659
>             Project: Bookkeeper
>          Issue Type: Sub-task
>          Components: bookkeeper-server
>            Reporter: Sijie Guo
>            Assignee: Robin Dhamankar
>             Fix For: 4.3.0
>
>         Attachments: 0001-BOOKKEEPER-659-LRU-page-management-in-ledger-cache.patch, BOOKKEEPER-659.diff
>
>
> better ledger page management.



--
This message was sent by Atlassian JIRA
(v6.1#6144)