-
Notifications
You must be signed in to change notification settings - Fork 521
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
java.lang.IllegalStateException: Unable to index 268435456 #684
Comments
Hi @mikeb01, HOURLY roll cycle is limited to 256M entries per hour so if you use one of the other
The error message you saw is not very helpful - we will look into improving that. |
@mikeb01 I checked this myself but happy to wait for you to close once you have confirmed |
Worth noting that it also corrupts the queue and it can't be used after this failure. |
Yes, thanks - will address that. Thanks for notifying us!
…On Wed., 10 Jun. 2020, 11:54 am Michael Barker, ***@***.***> wrote:
Worth noting that it also corrupts the queue and it can't be used after
this failure.
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHub
<#684 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/AG5XOHK3H6DYLS2TQQEJPYLRV3RWLANCNFSM4NZ3CH6Q>
.
|
I improved the message but we can't fix the behaviour without too many changes, and it's probably not wise to make those changes to cover the user error - the javadoc (now) clearly says how many messages you can write for each roll cycle. |
Is there any API to get the remaining time and number of messages left in the current roll cycle? |
@mikeb01 the time is in the name of the roll cycle. Queue rolls starting from midnight UTC, so e.g. for |
If for example you are using hourly rolling then the time remaining will be the time it takes before the hour changes. With regards to the number of messages you have written, for each message you have written you can get its index, if you obtain the sequence number of your last message this is equal to the number of messages you have written in that cycle ( see javadocs regarding sequence numbers ) , to calculate the “ number of messages left in the current roll cycle” this equals the total number of allowed messages in the roll cycle minus the number of messages you have written so far in that cycle.
We don’t have an API for this but as you can see ( from my description above ) it’s very easy to calculate.
If you would like us to add this feature or get professional support please contact sales@chronicle.software
… On 10 Jun 2020, at 20:22, Michael Barker ***@***.***> wrote:
Is there any API to get the remaining time and number of messages left in the current roll cycle?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub, or unsubscribe.
|
@mikeb01 the queue should not be corrupt, reads should still work. You just won't be able to write to it until the roll cycle ticks over. Is this what you saw? |
I can confirm that the queue is not corrupt, it was just continuing to through the IllegalStateException until the hourly rollover. |
With the attached appender and tailer after ~268M messages I get the following exception
And at that point the queue is corrupt.
uname -a:
Darwin MacBook-Pro 19.5.0 Darwin Kernel Version 19.5.0: Tue May 26 20:41:44 PDT 2020; root:xnu-6153.121.2~2/RELEASE_X86_64 x86_64
JDK:
Chronicle 5.19.32
The text was updated successfully, but these errors were encountered: