You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@activemq.apache.org by "LEROY (Jira)" <ji...@apache.org> on 2020/11/02 06:21:00 UTC

[jira] [Commented] (AMQ-8061) Scheduled messages misloaded by ActiveMQ and then not fired in a job

    [ https://issues.apache.org/jira/browse/AMQ-8061?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17224438#comment-17224438 ] 

LEROY commented on AMQ-8061:
----------------------------

Removing .data and .redo does not resolve the problem.

On the other hand removing db-24.log "fixes" the situation : firing job is OK

So, I put these properties to check for corrupted files :  
{code:java}
// <kahaDB directory="activemq-data"
        journalMaxFileLength="32mb"
        checksumJournalFiles="true"
        checkForCorruptJournalFiles="true" />
{code}
{{}}But no logs messages about corruption.

I tried KahaDBTool and more precisely KahaDBJournalReader, which found corrupted records :

 
{code:java}
// WARN | Corrupt journal records found in 'K:\tmp\kahadb\log\db-25.log' between offsets: 8394065..8394461
 WARN | Corrupt journal records found in 'K:\tmp\kahadb\log\db-25.log' between offsets: 8398158..8398332
-----------------------------------------------------------
 WARN | Corrupt journal records found in 'K:\tmp\kahadb\log\db-25.log' between offsets: 8394065..8394461
 WARN | Corrupt journal records found in 'K:\tmp\kahadb\log\db-25.log' between offsets: 8398158..8398332
(1) Journal: 'K:\tmp\kahadb\log\db-25.log'.
{code}
 

Something is strange : 
 * ActiveMQ works well with db-25.log (removing db-24.log makes AMQ working well)
 * KahaDBTool says that db-25.log is the corrupted file (and not db-24)

 

So, how can I go out this situation ?
 * is it possible to repair completely corrupted files ?
 * is it possible to throw away corrupted records but keep correct records ?
 * how can I prevent this situation ?

 

Thanks

> Scheduled messages misloaded by ActiveMQ and then not fired in a job
> --------------------------------------------------------------------
>
>                 Key: AMQ-8061
>                 URL: https://issues.apache.org/jira/browse/AMQ-8061
>             Project: ActiveMQ
>          Issue Type: Bug
>          Components: AMQP
>    Affects Versions: 5.15.1, 5.16.0
>            Reporter: LEROY
>            Priority: Major
>              Labels: BTree, job, joblocation, schedule
>
> I need your help on the scheduled sending message functionnality.
> My configuration is :
>  - ActiveMQ 5.15.1 (in production but I reproduce the issue with 5.16.0)
>  - kahadb default configuration
> I got these files in the scheduler :
>  - db-24.log
>  - db-25.log
>  - scheduleDB.data
>  - scheduleDB.redo
> When running, it sometimes happens that scheduled messages are no more fired by the job scheduler.
> If we stop and restart the broker, it doesn't change anything : 
>  - old scheduled messages are not fired
>  - new scheduled messages are not fired
> If we remove the folder scheduler, and restart, new messages are correctly fired.
> When I debug the job scheduler when launching with the old scheduled messages, something goes wrong in this file, org.apache.activemq.store.kahadb.scheduler.JobSchedulerImpl.java :
> !https://i.stack.imgur.com/D09Pt.png!
> There are events, but no one has jobs :
> !https://i.stack.imgur.com/jg63c.png!
> The getNextToSchedule() method finds events but no one of these got correct jobs.
> I tried to load the scheduled files with AMQ 5.15.1, 5.16.0, without success.
> Any ideas what's going wrong ?
> Thanks
> [1]: https://i.stack.imgur.com/D09Pt.png
>  [2]: https://i.stack.imgur.com/jg63c.png



--
This message was sent by Atlassian Jira
(v8.3.4#803005)