Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

IllegalArgumentException: Added a page twice #690

Open
hamadodene opened this issue Sep 18, 2020 · 2 comments
Open

IllegalArgumentException: Added a page twice #690

hamadodene opened this issue Sep 18, 2020 · 2 comments
Labels

Comments

@hamadodene
Copy link
Contributor

hamadodene commented Sep 18, 2020

In our production installation of EmailSuccess.com , I found this exception in HerdDB logs:

20-09-17-08-30-56       herddb.network.netty.AbstractChannel Sep 17, 2020 8:30:56 AM herddb.network.netty.AbstractChannel processRequest
SEVERE: herddb.network.netty.LocalVMChannel$ServerSideLocalVMChannel@f0d7bed: error herddb.storage.DataStorageManagerException: java.lang.IllegalArgumentException: Added a page twice: DataPage{pageId=492796, immutable=true, writable=f
alse, usedMemory=849030}
herddb.storage.DataStorageManagerException: java.lang.IllegalArgumentException: Added a page twice: DataPage{pageId=492796, immutable=true, writable=false, usedMemory=849030}
        at herddb.core.TableManager.loadPageToMemory(TableManager.java:2232)
        at herddb.core.TableManager.fetchDataPage(TableManager.java:3584)
        at herddb.core.TableManager.fetchRecord(TableManager.java:3515)
        at herddb.core.TableManager.accessRecord(TableManager.java:3463)
        at herddb.core.TableManager.lambda$streamTableData$24(TableManager.java:3386)
        at java.base/java.util.stream.ReferencePipeline$3$1.accept(ReferencePipeline.java:195)
        at java.base/java.util.Spliterators$IteratorSpliterator.tryAdvance(Spliterators.java:1812)
        at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.lambda$initPartialTraversalState$0(StreamSpliterators.java:294)
        at java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.fillBuffer(StreamSpliterators.java:206)
        at java.base/java.util.stream.StreamSpliterators$AbstractWrappingSpliterator.doAdvance(StreamSpliterators.java:169)
        at java.base/java.util.stream.StreamSpliterators$WrappingSpliterator.tryAdvance(StreamSpliterators.java:300)
        at java.base/java.util.Spliterators$1Adapter.hasNext(Spliterators.java:681)
        at herddb.core.StreamDataScanner.fetchNext(StreamDataScanner.java:61)
        at herddb.core.StreamDataScanner.next(StreamDataScanner.java:71)
        at herddb.model.DataScanner.consume(DataScanner.java:113)
        at herddb.server.ServerSideConnectionPeer.handleOpenScanner(ServerSideConnectionPeer.java:464)
        at herddb.server.ServerSideConnectionPeer.requestReceived(ServerSideConnectionPeer.java:183)
        at herddb.network.netty.AbstractChannel.processRequest(AbstractChannel.java:96)
        at herddb.network.netty.AbstractChannel.directProcessPdu(AbstractChannel.java:88)
        at herddb.network.netty.LocalVMChannel.sendOneWayMessage(LocalVMChannel.java:63)
        at herddb.network.netty.AbstractChannel.sendRequestWithAsyncReply(AbstractChannel.java:177)
        at herddb.network.Channel.sendMessageWithPduReply(Channel.java:81)
        at herddb.client.RoutedClientSideConnection.executeScan(RoutedClientSideConnection.java:715)
        at herddb.client.HDBConnection.executeScan(HDBConnection.java:345)
        at herddb.jdbc.HerdDBPreparedStatement.executeQuery(HerdDBPreparedStatement.java:81)
        at magnews.gateway.messagemanager.MessageManager.lambda$selectMessagesForArchiver$11(MessageManager.java:2704)
        at magnews.gateway.database.TransactionHelper.doInAutocommit(TransactionHelper.java:250)
        at magnews.gateway.messagemanager.MessageManager.selectMessagesForArchiver(MessageManager.java:2687)
        at magnews.gateway.archiver.Archiver$QueueArchiverTask.run(Archiver.java:192)
        at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:515)
        at java.base/java.util.concurrent.FutureTask.run(FutureTask.java:264)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)
Caused by: java.lang.IllegalArgumentException: Added a page twice: DataPage{pageId=492796, immutable=true, writable=false, usedMemory=849030}
        at herddb.core.ClockProPolicy.unsafeAdd(ClockProPolicy.java:368)
        at herddb.core.ClockProPolicy.unsafeAdd(ClockProPolicy.java:272)
        at herddb.core.ClockProPolicy.add(ClockProPolicy.java:155)
        at herddb.core.ClockProPolicy.add(ClockProPolicy.java:52)
        at herddb.core.TableManager.loadPageToMemory(TableManager.java:2216)
        ... 33 more
20-09-17-08-30-56       herddb.network.netty.AbstractChannel Sep 17, 2020 8:30:56 AM herddb.network.netty.AbstractChannel lambda$failPendingMessages$5
SEVERE: herddb.network.netty.LocalVMChannel@6c message 6,735,855 was not replied callback:herddb.network.Channel$$Lambda$283/0x00000008003f4c40@1972ed3e

20-09-17-08-30-56       herddb.network.netty.AbstractChannel Sep 17, 2020 8:30:56 AM herddb.network.netty.AbstractChannel$2 messageSent
SEVERE: herddb.network.netty.AbstractChannel$2@6b936061: error while sending reply message to PooledUnsafeDirectByteBuf(freed)
java.io.IOException: channel closed
        at herddb.network.netty.LocalVMChannel.sendOneWayMessage(LocalVMChannel.java:57)
        at herddb.network.netty.AbstractChannel.sendRequestWithAsyncReply(AbstractChannel.java:177)
        at herddb.network.Channel.sendMessageWithPduReply(Channel.java:81)
        at herddb.client.RoutedClientSideConnection.executeUpdate(RoutedClientSideConnection.java:383)
        at herddb.client.HDBConnection.executeUpdate(HDBConnection.java:194)
        at herddb.jdbc.HerdDBPreparedStatement.doExecuteLargeUpdateWithParameters(HerdDBPreparedStatement.java:564)
        at herddb.jdbc.HerdDBPreparedStatement.executeLargeUpdate(HerdDBPreparedStatement.java:558)
        at herddb.jdbc.HerdDBPreparedStatement.executeUpdate(HerdDBPreparedStatement.java:547)
        at magnews.gateway.messagemanager.MessageManager.updateFinalMessageStatus(MessageManager.java:1784)
        at magnews.gateway.messagemanager.MessageManager.lambda$updateMessageStatusOnDeliverySuccess$3(MessageManager.java:1734)
        at magnews.gateway.database.TransactionHelper$DatabaseWork.lambda$fromVoid$0(TransactionHelper.java:37)
        at magnews.gateway.database.TransactionHelper.doInTransaction(TransactionHelper.java:338)
        at magnews.gateway.database.TransactionHelper.voidInTransaction(TransactionHelper.java:404)
        at magnews.gateway.messagemanager.MessageManager.updateMessageStatusOnDeliverySuccess(MessageManager.java:1733)
        at magnews.gateway.sender.DeliverMessage.deliverMessage(DeliverMessage.java:1216)
        at magnews.gateway.sender.DeliverMessage.run(DeliverMessage.java:210)
        at magnews.gateway.sender.Sender$LeasedRunnable.run(Sender.java:350)
        at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1128)
        at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:628)
        at java.base/java.lang.Thread.run(Thread.java:834)

HerdDB version: 0.19.0

@hamadodene hamadodene added the bug label Sep 18, 2020
@diegosalvi
Copy link
Contributor

Did it happened with 0.22.0 too?

@diegosalvi
Copy link
Contributor

It could be the same issue of #636

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants