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

Reply via email to