I do agree that we should not use higher limits for paging, however we do
not plan to change <page-max-size> but <page-limit-bytes>, which will limit
the size of paging.
Without this there is no default limit anyway as to how much disk can be
used by paging. We found the disparity in the document and actual
validation so wanted to check if MAX_INT was intentional.

Regarding NullPointerException, I will try to reproduce.
My hunch is that once we set a limit, we cannot remove the section
completely, so set a very low <page-limit-bytes> and start the broker, let
the address start paging and then remove the   <page-limit-bytes>
completely from address setting.

Best Regards
Tapan Gupta

On Thu, Jun 15, 2023 at 11:00 PM Clebert Suconic <clebert.suco...@gmail.com>
wrote:

> I don't think it would make much sense to have page-max-size > MAX_INT
> anyways.
>
> the journal is meant for things that are fitting the memory. So, if
> you stop consuming messages, it should go towards paging.
>
>
> If you expand the max-size to an artificially high number then when
> you restart your system after a failure or a maintenance window you
> will have a difficult problem on restarting your server. as you will
> need to parse the entire set back into memory.
>
>
> Paging was meant to address that as you would consume into memory on
> demand... Be careful with what you set as the max-page-szie.
>
> On Thu, Jun 15, 2023 at 2:58 PM Justin Bertram <jbert...@apache.org>
> wrote:
> >
> > I created ARTEMIS-4315 [1] and sent a PR for the validation issue.
> >
> > For the NullPointerException I need more information on how to reproduce
> > this.
> >
> >
> > Justin
> >
> > [1] https://issues.apache.org/jira/browse/ARTEMIS-4315
> >
> > On Thu, Jun 15, 2023 at 6:31 AM Tapan Gupta <03.ta...@gmail.com> wrote:
> >
> > > Hi.
> > >
> > > We started using <page-limit-bytes> starting 2.28.0 version however
> there
> > > seems to be some mismatch as to what is in docs and the max value
> expected
> > > for this.
> > > Can someone please confirm if this is indeed the case?
> > >
> > > From the docs, the example snippet has <page-limit-bytes>10G</
> > > page-limit-bytes>, however when we tried to set 2G it fails with error.
> > > Integer.MAX_VALUE can only support < 2G so is this an issue with
> validation
> > > alone?
> > >
> > > java.lang.IllegalArgumentException: AMQ229227: page-limit-bytes  must
> be
> > > equals to -1 or greater than 0 and less than or equal to
> Integer.MAX_VALUE
> > > (actual value: 2147483648)
> > > at
> > >
> > >
> org.apache.activemq.artemis.core.config.impl.Validators$11.validate(Validators.java:159)
> > > ~[artemis-server-2.28.0.jar:2.28.0]
> > >
> > > Moreover when we remove the limit, as it was too less for our case, we
> got
> > > null pointer exception in logs so we are currently forced to use less
> page
> > > limit. Since the error here tries to convert to longValue, I believe
> > > Integer.MAX_VALUE is configured for validation only.
> > >
> > > [org.apache.activemq.artemis.core.server] AMQ222225: Sending unexpected
> > > exception to the client
> > > java.lang.NullPointerException: Cannot invoke
> "java.lang.Long.longValue()"
> > > because "this.pageLimitBytes" is null
> > > at
> > >
> > >
> org.apache.activemq.artemis.core.paging.impl.PagingStoreImpl.checkNumberOfPages(PagingStoreImpl.java:324)
> > > ~[artemis-server-2.28.0.jar:2.28.0]
> > >
> > > Best Regards
> > > Tapan Gupta
> > >
>
>
>
> --
> Clebert Suconic
>

Reply via email to