You are viewing a plain text version of this content. The canonical link for it is here.
Posted to commits@activemq.apache.org by cl...@apache.org on 2021/08/20 15:22:42 UTC
[activemq-artemis] branch main updated: ARTEMIS-3434 Fixing Journal
Retention Wrong month
This is an automated email from the ASF dual-hosted git repository.
clebertsuconic pushed a commit to branch main
in repository https://gitbox.apache.org/repos/asf/activemq-artemis.git
The following commit(s) were added to refs/heads/main by this push:
new ed4c915 ARTEMIS-3434 Fixing Journal Retention Wrong month
new f80f033 This closes #3702
ed4c915 is described below
commit ed4c915d5001fa64e07288055ef514ff97296996
Author: Clebert Suconic <cl...@apache.org>
AuthorDate: Fri Aug 20 09:04:56 2021 -0400
ARTEMIS-3434 Fixing Journal Retention Wrong month
---
.../activemq/artemis/cli/commands/tools/RecoverMessages.java | 2 +-
.../org/apache/activemq/artemis/cli/commands/etc/broker.xml | 2 +-
.../artemis/api/core/management/ActiveMQServerControl.java | 1 +
.../org/apache/activemq/artemis/core/journal/impl/JournalImpl.java | 7 ++++---
.../tests/unit/core/journal/impl/JournaHistorylBackupTest.java | 4 ++--
5 files changed, 9 insertions(+), 7 deletions(-)
diff --git a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/RecoverMessages.java b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/RecoverMessages.java
index f6f59c2..dff9811 100644
--- a/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/RecoverMessages.java
+++ b/artemis-cli/src/main/java/org/apache/activemq/artemis/cli/commands/tools/RecoverMessages.java
@@ -68,7 +68,7 @@ public class RecoverMessages extends DBOption {
recover(configuration, getJournal(), journalOutput, new File(getLargeMessages()), reclaimed);
}
} catch (Exception e) {
- treatError(e, "data", "print");
+ treatError(e, "data", "recover");
}
return null;
}
diff --git a/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/broker.xml b/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/broker.xml
index 7550879..83468fc 100644
--- a/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/broker.xml
+++ b/artemis-cli/src/main/resources/org/apache/activemq/artemis/cli/commands/etc/broker.xml
@@ -53,7 +53,7 @@ ${jdbc}
it is recommended to use a separate storage unit from the journal for performance considerations.
- <journal-retention-directory period="7" unit="DAYS" storage-limit="10G">data/retention</journal-retention-directory>>
+ <journal-retention-directory period="7" unit="DAYS" storage-limit="10G">data/retention</journal-retention-directory>
-->
<journal-datasync>${fsync}</journal-datasync>
diff --git a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java
index f040fca..29853d6 100644
--- a/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java
+++ b/artemis-core-client/src/main/java/org/apache/activemq/artemis/api/core/management/ActiveMQServerControl.java
@@ -589,6 +589,7 @@ public interface ActiveMQServerControl {
@Parameter(name = "durable", desc = "Is the queue durable?") boolean durable,
@Parameter(name = "routingType", desc = "The routing type used for this address, MULTICAST or ANYCAST") String routingType) throws Exception;
+
/**
* Create a queue.
* <br>
diff --git a/artemis-journal/src/main/java/org/apache/activemq/artemis/core/journal/impl/JournalImpl.java b/artemis-journal/src/main/java/org/apache/activemq/artemis/core/journal/impl/JournalImpl.java
index ed6f38a..651f457 100644
--- a/artemis-journal/src/main/java/org/apache/activemq/artemis/core/journal/impl/JournalImpl.java
+++ b/artemis-journal/src/main/java/org/apache/activemq/artemis/core/journal/impl/JournalImpl.java
@@ -2550,7 +2550,7 @@ public class JournalImpl extends JournalBase implements TestableJournal, Journal
public String getHistoryFileName(long sequence, Calendar calendar) {
String fileName = String.format("%s-%04d%02d%02d%02d%02d%02d-%d.%s", filesRepository.getFilePrefix(), calendar.get(Calendar.YEAR),
- calendar.get(Calendar.MONTH), calendar.get(Calendar.DAY_OF_MONTH), calendar.get(Calendar.HOUR_OF_DAY),
+ (calendar.get(Calendar.MONTH) + 1), calendar.get(Calendar.DAY_OF_MONTH), calendar.get(Calendar.HOUR_OF_DAY),
calendar.get(Calendar.MINUTE), calendar.get(Calendar.SECOND), sequence, filesRepository.getFileExtension());
return fileName;
@@ -2576,10 +2576,11 @@ public class JournalImpl extends JournalBase implements TestableJournal, Journal
int minutes = Integer.parseInt(datePortion.substring(10, 12));
int seconds = Integer.parseInt(datePortion.substring(12, 14));
- calendar.set(year, month, day, hour, minutes, seconds);
+ calendar.clear();
+ calendar.set(year, month - 1, day, hour, minutes, seconds);
return calendar.getTimeInMillis();
-
}
+
public String getDatePortion(String name) {
return name.substring(filesRepository.getFilePrefix().length() + 1, name.indexOf("-", filesRepository.getFilePrefix().length() + 1));
}
diff --git a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/journal/impl/JournaHistorylBackupTest.java b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/journal/impl/JournaHistorylBackupTest.java
index 9c94ba7..dda55c2 100644
--- a/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/journal/impl/JournaHistorylBackupTest.java
+++ b/tests/unit-tests/src/test/java/org/apache/activemq/artemis/tests/unit/core/journal/impl/JournaHistorylBackupTest.java
@@ -84,7 +84,7 @@ public class JournaHistorylBackupTest extends ActiveMQTestBase {
@Test
public void verifyFileName() throws Throwable {
- GregorianCalendar clebertsBirthday = new GregorianCalendar(1972, 1, 19, 4, 5, 7);
+ GregorianCalendar clebertsBirthday = new GregorianCalendar(1972, 0, 19, 4, 5, 7);
JournalImpl journal = new JournalImpl(10 * 1024, 10, 10, 0, 100, new FakeSequentialFileFactory(), "cleberts", "birthday", 1);
@@ -100,7 +100,7 @@ public class JournaHistorylBackupTest extends ActiveMQTestBase {
compareCalendar.setTimeInMillis(d);
Assert.assertEquals(1972, compareCalendar.get(Calendar.YEAR));
- Assert.assertEquals(1, compareCalendar.get(Calendar.MONTH));
+ Assert.assertEquals(0, compareCalendar.get(Calendar.MONTH));
Assert.assertEquals(19, compareCalendar.get(Calendar.DAY_OF_MONTH));
Assert.assertEquals(4, compareCalendar.get(Calendar.HOUR_OF_DAY));
Assert.assertEquals(5, compareCalendar.get(Calendar.MINUTE));