moquette-io / moquette

Java MQTT lightweight broker
http://moquette-io.github.io/moquette/
Apache License 2.0
2.29k stars 817 forks source link

DecoderException: too large message: 13824 bytes #591

Open supertick opened 3 years ago

supertick commented 3 years ago

Expected behavior

Accept mqtt message up to 256 Mb per mqtt spec If there is a 8Kb limit, documentation on how to change. It looks as if Netty's MqttDecoder takes a size as constructor. It looks at least with the code I'm using, this is not exposed ? Any guidance would be apprecated. Thanks.

Actual behavior

Exception Caused by: io.netty.handler.codec.DecoderException: too large message: 13824 bytes

Steps to reproduce

Start embedded - send msg larger than 8Kb

Minimal yet complete reproducer code (or URL to code) or complete log file

Moquette MQTT version

0.12.1

JVM version (e.g. java -version)

Java 11 OpenJDK

OS version (e.g. uname -a)

74~18.04.2-Ubuntu SMP Fri Feb 5 11:17:31 UTC 2021 x86_64 x86_64 x86_64 GNU/Linux

supertick commented 3 years ago

Nevermind - found the configuration

      props.setProperty("netty.mqtt.message_size", "1048576");

      MemoryConfig mc = new MemoryConfig(props);
      Collections.singletonList(this);
      mqttBroker.startServer(mc, Collections.singletonList(this));

It would be nice to expose some of the config available in the README.md Thanks for this project ! :)

stefan-spiess commented 1 month ago

Thanks. Exactly what I was looking for!