Github user michaelandrepearce commented on the issue:
https://github.com/apache/activemq-artemis/pull/1695
I think expected JMS behaviour is more important.
Persistence is about if the message should be persistent during broker
restart/failure for broker side perfomance. It shouldn't change the behaviour
of the client in regards to exceptions.
Like wise as a user you would expect client side exception by default (spec
or no-spec).
When checking other vendors (We checked out other two brokers) and also
5.x, exception on send to the broker is thrown back to the client with
non-persistent. (e.g. no difference between persistent or not in these case)
I think this is particularly important for anyone migrating (and pertinent
with regards to 5.X users moving) that they would still get JMS exceptions on
send and not get any surprises that they don't get them.
FYI this is what we are doing, migrating from several different brokers
onto Artemis.
On the note of performance (as you may be aware or not) we do care for
performance (throughput and latency) in our brokers due to nature of the
business, but expected behaviour (aka no shocks) is more important. On that
note we actually did do some tests and found produce to consume latency reduced
per message.
Like wise for those really wanting it and willing to sacrifice no client
side exceptions they still can set this to false consciously, but the point is
the default should be that users do expect them, and probably should get such
surprises.
---