You are viewing a plain text version of this content. The canonical link for it is here.
Posted to users@kafka.apache.org by Mario Ricci <Ma...@Trimble.com> on 2016/05/03 19:55:04 UTC

Receiving "The session timeout is not within an acceptable range" but AFAIK it is within range

Hi all,

This seems like a basic question and I am probably just missing something, but when creating my consumer I am getting the error: "The session timeout is not within an acceptable range"

My settings seem to be good (group.max and group.min don't violate session.timeout).

Here are my settings:
request.timeout.ms=121000
session.timeout.ms=30001
group.min.session.timeout.ms=6000
group.max.session.timeout.ms=120000
receive.buffer.bytes=262144
group.id=consumeproduce
auto.offset.reset=earliest
offsets.storage=zookeeper
bootstrap.servers=10.7.52.170:9092
dual.commit.enabled=true
max.partition.fetch.bytes=2097152
enable.auto.commit=false
value.serializer=org.apache.kafka.common.serialization.StringSerializer
value.deserializer=org.apache.kafka.common.serialization.StringDeserializer
key.serializer=org.apache.kafka.common.serialization.StringSerializer
key.deserializer=org.apache.kafka.common.serialization.StringDeserializer
fetch.min.bytes=50000

and here is the code I believe that throws the error:
else if (sessionTimeoutMs < groupConfig.groupMinSessionTimeoutMs ||
               sessionTimeoutMs > groupConfig.groupMaxSessionTimeoutMs) {
      responseCallback(joinError(memberId, Errors.INVALID_SESSION_TIMEOUT.code))

I see that the error should not be thrown, though.  Can anyone please help? As soon as I get over 30000 ms for session.timeout.ms I get that error.  I know previously I have had it much higher.

Mario

Re: Receiving "The session timeout is not within an acceptable range" but AFAIK it is within range

Posted by Ismael Juma <is...@juma.me.uk>.
Hi Mario,

A warning should be logged by the consumer if you have unused properties in
your config (precisely for this reason). In addition, 0.10 will also have
improved error messages for cases such as this and we have increased the
default `group.max.session.timeout.ms <http://group.max.session.timeout.ms/>`
to 5 minutes.

Ismael

On Wed, May 4, 2016 at 3:47 PM, Mario Ricci <Ma...@trimble.com> wrote:

> Hi Jaikiran,
>
> You are correct - I assumed it was a consumer setting and it is a broker
> setting.
>
> The consumer quietly took the broker setting and didn't throw an
> exception, and when trying to set my session timeout above the broker's
> allowed max the error message given is very poor.  If it would have said
> something like "The consumer's session timeout must be between the min and
> max group timeout set on the broker" I would have known immediately.
>
> Leaving this reply here for anyone who might make the same mistake.
> Thanks for the help!
>
>
> -----Original Message-----
> From: Jaikiran Pai [mailto:jai.forums2013@gmail.com]
> Sent: Tuesday, May 3, 2016 10:47 PM
> To: users@kafka.apache.org
> Subject: Re: Receiving "The session timeout is not within an acceptable
> range" but AFAIK it is within range
>
>  From what you pasted, I can't say for certain whether you are using those
> properties as consumer level settings or broker level settings.
> The group.min.session.timeout.ms and the group.max.session.timeout.ms are
> broker level settings (as far as I understand) and should be part of your
> broker config (server.properties). Using them in consumer level settings
> while creating the consumer, will result in those properties being ignored.
> Can you confirm where exactly you have set those values?
>
> -Jaikiran
>
> On Tuesday 03 May 2016 11:25 PM, Mario Ricci wrote:
> > Hi all,
> >
> > This seems like a basic question and I am probably just missing
> something, but when creating my consumer I am getting the error: "The
> session timeout is not within an acceptable range"
> >
> > My settings seem to be good (group.max and group.min don't violate
> session.timeout).
> >
> > Here are my settings:
> > request.timeout.ms=121000
> > session.timeout.ms=30001
> > group.min.session.timeout.ms=6000
> > group.max.session.timeout.ms=120000
> > receive.buffer.bytes=262144
> > group.id=consumeproduce
> > auto.offset.reset=earliest
> > offsets.storage=zookeeper
> > bootstrap.servers=10.7.52.170:9092
> > dual.commit.enabled=true
> > max.partition.fetch.bytes=2097152
> > enable.auto.commit=false
> > value.serializer=org.apache.kafka.common.serialization.StringSerialize
> > r
> > value.deserializer=org.apache.kafka.common.serialization.StringDeseria
> > lizer
> > key.serializer=org.apache.kafka.common.serialization.StringSerializer
> > key.deserializer=org.apache.kafka.common.serialization.StringDeseriali
> > zer
> > fetch.min.bytes=50000
> >
> > and here is the code I believe that throws the error:
> > else if (sessionTimeoutMs < groupConfig.groupMinSessionTimeoutMs ||
> >                 sessionTimeoutMs > groupConfig.groupMaxSessionTimeoutMs)
> {
> >        responseCallback(joinError(memberId,
> > Errors.INVALID_SESSION_TIMEOUT.code))
> >
> > I see that the error should not be thrown, though.  Can anyone please
> help? As soon as I get over 30000 ms for session.timeout.ms I get that
> error.  I know previously I have had it much higher.
> >
> > Mario
> >
>
>

RE: Receiving "The session timeout is not within an acceptable range" but AFAIK it is within range

Posted by Mario Ricci <Ma...@Trimble.com>.
Hi Jaikiran,

You are correct - I assumed it was a consumer setting and it is a broker setting.  

The consumer quietly took the broker setting and didn't throw an exception, and when trying to set my session timeout above the broker's allowed max the error message given is very poor.  If it would have said something like "The consumer's session timeout must be between the min and max group timeout set on the broker" I would have known immediately.  

Leaving this reply here for anyone who might make the same mistake.  Thanks for the help!


-----Original Message-----
From: Jaikiran Pai [mailto:jai.forums2013@gmail.com] 
Sent: Tuesday, May 3, 2016 10:47 PM
To: users@kafka.apache.org
Subject: Re: Receiving "The session timeout is not within an acceptable range" but AFAIK it is within range

 From what you pasted, I can't say for certain whether you are using those properties as consumer level settings or broker level settings. 
The group.min.session.timeout.ms and the group.max.session.timeout.ms are broker level settings (as far as I understand) and should be part of your broker config (server.properties). Using them in consumer level settings while creating the consumer, will result in those properties being ignored. Can you confirm where exactly you have set those values?

-Jaikiran

On Tuesday 03 May 2016 11:25 PM, Mario Ricci wrote:
> Hi all,
>
> This seems like a basic question and I am probably just missing something, but when creating my consumer I am getting the error: "The session timeout is not within an acceptable range"
>
> My settings seem to be good (group.max and group.min don't violate session.timeout).
>
> Here are my settings:
> request.timeout.ms=121000
> session.timeout.ms=30001
> group.min.session.timeout.ms=6000
> group.max.session.timeout.ms=120000
> receive.buffer.bytes=262144
> group.id=consumeproduce
> auto.offset.reset=earliest
> offsets.storage=zookeeper
> bootstrap.servers=10.7.52.170:9092
> dual.commit.enabled=true
> max.partition.fetch.bytes=2097152
> enable.auto.commit=false
> value.serializer=org.apache.kafka.common.serialization.StringSerialize
> r 
> value.deserializer=org.apache.kafka.common.serialization.StringDeseria
> lizer 
> key.serializer=org.apache.kafka.common.serialization.StringSerializer
> key.deserializer=org.apache.kafka.common.serialization.StringDeseriali
> zer
> fetch.min.bytes=50000
>
> and here is the code I believe that throws the error:
> else if (sessionTimeoutMs < groupConfig.groupMinSessionTimeoutMs ||
>                 sessionTimeoutMs > groupConfig.groupMaxSessionTimeoutMs) {
>        responseCallback(joinError(memberId, 
> Errors.INVALID_SESSION_TIMEOUT.code))
>
> I see that the error should not be thrown, though.  Can anyone please help? As soon as I get over 30000 ms for session.timeout.ms I get that error.  I know previously I have had it much higher.
>
> Mario
>


Re: Receiving "The session timeout is not within an acceptable range" but AFAIK it is within range

Posted by Jaikiran Pai <ja...@gmail.com>.
 From what you pasted, I can't say for certain whether you are using 
those properties as consumer level settings or broker level settings. 
The group.min.session.timeout.ms and the group.max.session.timeout.ms 
are broker level settings (as far as I understand) and should be part of 
your broker config (server.properties). Using them in consumer level 
settings while creating the consumer, will result in those properties 
being ignored. Can you confirm where exactly you have set those values?

-Jaikiran

On Tuesday 03 May 2016 11:25 PM, Mario Ricci wrote:
> Hi all,
>
> This seems like a basic question and I am probably just missing something, but when creating my consumer I am getting the error: "The session timeout is not within an acceptable range"
>
> My settings seem to be good (group.max and group.min don't violate session.timeout).
>
> Here are my settings:
> request.timeout.ms=121000
> session.timeout.ms=30001
> group.min.session.timeout.ms=6000
> group.max.session.timeout.ms=120000
> receive.buffer.bytes=262144
> group.id=consumeproduce
> auto.offset.reset=earliest
> offsets.storage=zookeeper
> bootstrap.servers=10.7.52.170:9092
> dual.commit.enabled=true
> max.partition.fetch.bytes=2097152
> enable.auto.commit=false
> value.serializer=org.apache.kafka.common.serialization.StringSerializer
> value.deserializer=org.apache.kafka.common.serialization.StringDeserializer
> key.serializer=org.apache.kafka.common.serialization.StringSerializer
> key.deserializer=org.apache.kafka.common.serialization.StringDeserializer
> fetch.min.bytes=50000
>
> and here is the code I believe that throws the error:
> else if (sessionTimeoutMs < groupConfig.groupMinSessionTimeoutMs ||
>                 sessionTimeoutMs > groupConfig.groupMaxSessionTimeoutMs) {
>        responseCallback(joinError(memberId, Errors.INVALID_SESSION_TIMEOUT.code))
>
> I see that the error should not be thrown, though.  Can anyone please help? As soon as I get over 30000 ms for session.timeout.ms I get that error.  I know previously I have had it much higher.
>
> Mario
>