Github user franz1981 commented on a diff in the pull request: https://github.com/apache/activemq-artemis/pull/2474#discussion_r243190151 --- Diff: artemis-server/src/main/java/org/apache/activemq/artemis/core/persistence/impl/journal/JournalStorageManager.java --- @@ -163,13 +163,17 @@ protected void init(Configuration config, IOCriticalErrorListener criticalErrorL int fileSize = config.getJournalFileSize(); // we need to correct the file size if its not a multiple of the alignement - int modulus = fileSize % journalFF.getAlignment(); - if (modulus != 0) { - int difference = modulus; - int low = config.getJournalFileSize() - difference; - int high = low + journalFF.getAlignment(); - fileSize = difference < journalFF.getAlignment() / 2 ? low : high; - ActiveMQServerLogger.LOGGER.invalidJournalFileSize(config.getJournalFileSize(), fileSize, journalFF.getAlignment()); + if (fileSize <= journalFF.getAlignment()) { --- End diff -- If `alignment` is a power of 2 (and it should be right?) you can use: ``` public static long align(final long value, final long alignment) { return (value + (alignment - 1)) & ~(alignment - 1); } ``` That is into `BytesUtils::align`
---