[
https://issues.apache.org/jira/browse/AMQ-9547?page=com.atlassian.jira.plugin.system.issuetabpanels:all-tabpanel
]
Christopher L. Shannon updated AMQ-9547:
----------------------------------------
Description:
There are 3 places in PageFile (part of KahaDB) that call setLength() in
RecoverableRandomAccessFile. This method was changed in AMQ-5578 so that it
always throws an exception when called. This method should just be removed
entirely since it always throws an error and in the places where it is used we
need to either stop calling it if we can or throw an exception if the length is
unexpected.
Currently when KahaDB tries to redo recovery updates, if the file length is
encountered as 0 it will call this method which leads to throwing an exception.
This causes the store to detect the error and rebuild the index. We should be
able to just continue without calling this method and recover.
was:
There are 3 places in PageFile that call setLength() in
RecoverableRandomAccessFile. This method was changed in AMQ-5578 so that it
always throws an exception when called. This method should just be removed
entirely since it always throws an error and in the places where it is used we
need to either stop calling it if we can or throw an exception if the length is
unexpected.
Currently when KahaDB tries to redo recovery updates, if the file length is
encountered as 0 it will call this method which leads to throwing an exception.
This causes the store to detect the error and rebuild the index. We should be
able to just continue without calling this method and recover.
> KahaDB PageFile can call setLength() on the recovery file which always throws
> an exception
> ------------------------------------------------------------------------------------------
>
> Key: AMQ-9547
> URL: https://issues.apache.org/jira/browse/AMQ-9547
> Project: ActiveMQ Classic
> Issue Type: Bug
> Components: KahaDB
> Affects Versions: 5.18.5, 6.1.3
> Reporter: Christopher L. Shannon
> Assignee: Christopher L. Shannon
> Priority: Major
> Fix For: 6.2.0, 5.18.6, 6.1.4
>
> Time Spent: 10m
> Remaining Estimate: 0h
>
> There are 3 places in PageFile (part of KahaDB) that call setLength() in
> RecoverableRandomAccessFile. This method was changed in AMQ-5578 so that it
> always throws an exception when called. This method should just be removed
> entirely since it always throws an error and in the places where it is used
> we need to either stop calling it if we can or throw an exception if the
> length is unexpected.
> Currently when KahaDB tries to redo recovery updates, if the file length is
> encountered as 0 it will call this method which leads to throwing an
> exception. This causes the store to detect the error and rebuild the index.
> We should be able to just continue without calling this method and recover.
--
This message was sent by Atlassian Jira
(v8.20.10#820010)
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]
For further information, visit: https://activemq.apache.org/contact