I added the switch.
If anyone wants improvements to this, please directly commit or PR
Thanks
Carsten
On 21.07.2023 06:32, Carsten Ziegeler wrote:
Sure, we can make this configurable. Nevertheless, I strongly suggest
everyone to not rely on this method returning null for the anonymous
case and rather use the other two methods - which always behaved spec
compliant. Otherwise you might run into trouble once you combine two
sources of code where one is expecting the spec compliant behaviour and
the other one is not. From experience, this will sooner or later happen
Regards
Carsten
On 20.07.2023 19:20, Eric Norman wrote:
Carsten, unfortunately, it seems that the problem is more complicated
than
how you have described it. There have been 2 public releases of
org.apache.sling.engine with the fix from SLING-11825 included. People
(including me) have already migrated to those releases and made
changes to
their code to compensate for that difference and if you change it back to
the previous way then we have to revert those changes again. I shouldn't
have to revert spec compliant code to be bug compatible with someone
else's
old (and wrong) code.
Why can't you just temporarily make the behavior configurable in the near
term? Default to the #2 behavior if that is the most common scenario and
then declare that the old behavior is deprecated. If the configuration
resolves to #2 then simply log a warning about usage of the non-spec
behavior and indicate that the wrong behavior may be removed in some
future
release. This log message and perhaps some hints in the README or other
documentation can nudge the community toward changing their code to
use the
spec compliant behavior.
Regards,
-Eric
On Thu, Jul 20, 2023 at 3:28 AM Konrad Windszus <k...@apache.org> wrote:
Hi,
Carsten just reverted the fix from
https://issues.apache.org/jira/browse/SLING-11825 in
https://issues.apache.org/jira/browse/SLING-11974.
The fix is correct according to the Servlet Spec, but it seems some
customer rely on Sling behaving not spec compliant here.
The question is what weighs more:
1) Spec compliance to make it easier for most new/existing users as
otherwise behaviour differs from Javadoc and underlying Spec.
2) Backwards compatibility for those users who rely on this spec
incompatibility.
In my opinion I would clearly go for 1) but I would like to hear other
opinions.
Thanks,
Konrad
--
Carsten Ziegeler
Adobe
cziege...@apache.org