[
https://issues.apache.org/jira/browse/ARTEMIS-3850?focusedWorklogId=779267&page=com.atlassian.jira.plugin.system.issuetabpanels:worklog-tabpanel#worklog-779267
]
ASF GitHub Bot logged work on ARTEMIS-3850:
-------------------------------------------
Author: ASF GitHub Bot
Created on: 07/Jun/22 22:10
Start Date: 07/Jun/22 22:10
Worklog Time Spent: 10m
Work Description: clebertsuconic commented on code in PR #4101:
URL: https://github.com/apache/activemq-artemis/pull/4101#discussion_r891750604
##########
artemis-server/src/main/java/org/apache/activemq/artemis/core/paging/impl/Page.java:
##########
@@ -17,57 +17,80 @@
package org.apache.activemq.artemis.core.paging.impl;
import java.nio.ByteBuffer;
-import java.util.ArrayList;
-import java.util.Collections;
-import java.util.List;
import java.util.Set;
import java.util.concurrent.atomic.AtomicInteger;
+import java.util.function.Consumer;
-import io.netty.buffer.ByteBuf;
-import io.netty.buffer.Unpooled;
import org.apache.activemq.artemis.api.core.SimpleString;
-import org.apache.activemq.artemis.core.buffers.impl.ChannelBufferWrapper;
+import org.apache.activemq.artemis.core.io.IOCallback;
import org.apache.activemq.artemis.core.io.SequentialFile;
import org.apache.activemq.artemis.core.io.SequentialFileFactory;
import org.apache.activemq.artemis.core.paging.PagedMessage;
-import org.apache.activemq.artemis.core.paging.cursor.LivePageCache;
import org.apache.activemq.artemis.core.paging.cursor.PageSubscriptionCounter;
import org.apache.activemq.artemis.core.persistence.StorageManager;
import org.apache.activemq.artemis.core.server.ActiveMQMessageBundle;
import org.apache.activemq.artemis.core.server.ActiveMQServerLogger;
import org.apache.activemq.artemis.core.server.LargeServerMessage;
-import org.apache.activemq.artemis.utils.DataConstants;
-import org.apache.activemq.artemis.utils.Env;
+import org.apache.activemq.artemis.utils.ReferenceCounterUtil;
import org.apache.activemq.artemis.utils.collections.ConcurrentHashSet;
+import org.apache.activemq.artemis.utils.collections.EmptyList;
+import org.apache.activemq.artemis.utils.collections.LinkedList;
+import org.apache.activemq.artemis.utils.collections.LinkedListImpl;
+import org.apache.activemq.artemis.utils.collections.LinkedListIterator;
import org.jboss.logging.Logger;
public final class Page implements Comparable<Page> {
+ private static final AtomicInteger factory = new AtomicInteger(0);
+
+ private final int seqInt = factory.incrementAndGet();
+
private static final Logger logger = Logger.getLogger(Page.class);
- public static final int SIZE_RECORD = DataConstants.SIZE_BYTE +
DataConstants.SIZE_INT + DataConstants.SIZE_BYTE;
+ private final ReferenceCounterUtil referenceCounter = new
ReferenceCounterUtil();
- private static final byte START_BYTE = (byte) '{';
+ public void usageReset() {
+ referenceCounter.reset();
+ }
- private static final byte END_BYTE = (byte) '}';
+ public int usageUp() {
+ return referenceCounter.increment();
+ }
+
+ public int usageDown() {
+ return referenceCounter.decrement();
+ }
- private final int pageId;
+ /** This is an utility method to help you call usageDown while using a try
(closeable) call.
+ * */
Review Comment:
I am removing the method
Issue Time Tracking
-------------------
Worklog Id: (was: 779267)
Time Spent: 3h 10m (was: 3h)
> Add Option to read messages into paging based on sizing and eliminate caching
> -----------------------------------------------------------------------------
>
> Key: ARTEMIS-3850
> URL: https://issues.apache.org/jira/browse/ARTEMIS-3850
> Project: ActiveMQ Artemis
> Issue Type: New Feature
> Affects Versions: 2.22.0
> Reporter: Clebert Suconic
> Assignee: Clebert Suconic
> Priority: Major
> Fix For: 2.24.0
>
> Time Spent: 3h 10m
> Remaining Estimate: 0h
>
--
This message was sent by Atlassian Jira
(v8.20.7#820007)