juneau-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From Gary Gregory <garydgreg...@gmail.com>
Subject Re: Breaking changes in 7.2.0. Plans for 7.2.1, 8.0.0
Date Tue, 16 Oct 2018 00:38:05 GMT
Looking at sources, it seems to me the choices are:

1) Do nothing and break all existing apps; obviously not acceptable.
2) Update the whole code base so that both old and new annotation are
handled. I see > 400 references to the Query annotation for example, so,
yikes; granted some of those references are in Javadocs.
3) "Disown" 7.2.0 and move the annotations back to their original locations
for 7.2.1. Not good either since that would break BC for 7.2.0 apps; see 1)
above. Note that it does not matter how recently 7.2.0 was released.

It seems that the only sensible solution is 2)

Thoughts?

Gary

On Mon, Oct 15, 2018 at 5:50 PM Gary Gregory <garydgregory@gmail.com> wrote:

> It looks like org.apache.juneau.rest.RestContext.findParams() does not
> take into account the deprecated annotations...
>
> Gary
>
> On Mon, Oct 15, 2018 at 4:54 PM Gary Gregory <garydgregory@gmail.com>
> wrote:
>
>> Hm... on startup, I get:
>>
>> Running class 'RestMicroservice' using config file
>> 'src\main\config\admin-microservice.cfg'.
>> 2018-10-15 16:51:22,216 INFO
>> [com.rs.seagull.httpmonitor.test.NHttpReverseProxyTestRule$1][] Logging
>> initialized @4407ms to org.apache.logging.log4j.appserver.jetty.Log4j2Logger
>> Server started on port 1103
>> Servlet init error on class
>> 'com.rs.seagull.httpmonitor.admin.AdminRootResources'
>> java.lang.RuntimeException: org.apache.juneau.rest.RestServletException:
>> Problem occurred trying to serialize methods on class
>> com.rs.seagull.httpmonitor.admin.AdminRootResources,
>> methods=['shutdown,PUT,/shutdown','resume,PUT,/resume','reset,PUT,/reset','getStatus,GET,/status','getConfiguration,GET,/configuration','getInfo,GET,/info','reconfigure,POST,/reconfigure']
>> at
>> org.apache.juneau.rest.RestContextBuilder.build(RestContextBuilder.java:262)
>> at org.apache.juneau.rest.RestServlet.init(RestServlet.java:53)
>> at
>> org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:670)
>> at
>> org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:519)
>> at
>> com.rs.seagull.httpmonitor.NHttpReverseProxy.installProxy(NHttpReverseProxy.java:1867)
>> at
>> com.rs.seagull.httpmonitor.NHttpReverseProxy.installAdmin(NHttpReverseProxy.java:1823)
>> at
>> com.rs.seagull.httpmonitor.NHttpReverseProxy.goLoop(NHttpReverseProxy.java:1533)
>> at
>> com.rs.seagull.httpmonitor.test.NHttpReverseProxyTestRule$1.lambda$0(NHttpReverseProxyTestRule.java:191)
>> at java.lang.Thread.run(Thread.java:748)
>> Caused by: org.apache.juneau.rest.RestServletException: Problem occurred
>> trying to serialize methods on class
>> com.rs.seagull.httpmonitor.admin.AdminRootResources,
>> methods=['shutdown,PUT,/shutdown','resume,PUT,/resume','reset,PUT,/reset','getStatus,GET,/status','getConfiguration,GET,/configuration','getInfo,GET,/info','reconfigure,POST,/reconfigure']
>> at org.apache.juneau.rest.RestContext.<init>(RestContext.java:3303)
>> at
>> org.apache.juneau.rest.RestContextBuilder.build(RestContextBuilder.java:258)
>> ... 8 more
>> *Caused by: org.apache.juneau.rest.RestServletException: Invalid
>> parameter specified for method
>> 'com.rs.seagull.httpmonitor.admin.AdminRootResources.reconfigure(String,Reader)'
>> at index position 0*
>> at org.apache.juneau.rest.RestContext.findParams(RestContext.java:4613)
>> at
>> org.apache.juneau.rest.RestJavaMethod$Builder.<init>(RestJavaMethod.java:394)
>> at org.apache.juneau.rest.RestJavaMethod.<init>(RestJavaMethod.java:92)
>> at org.apache.juneau.rest.RestContext.<init>(RestContext.java:3236)
>> ... 9 more
>> 2018-10-15 16:51:23,700 WARN
>> [com.rs.seagull.httpmonitor.test.NHttpReverseProxyTestRule$1][o.e.j.s.h.C.ROOT]
>> unavailable
>> java.lang.RuntimeException: org.apache.juneau.rest.RestServletException:
>> Problem occurred trying to serialize methods on class
>> com.rs.seagull.httpmonitor.admin.AdminRootResources,
>> methods=['shutdown,PUT,/shutdown','resume,PUT,/resume','reset,PUT,/reset','getStatus,GET,/status','getConfiguration,GET,/configuration','getInfo,GET,/info','reconfigure,POST,/reconfigure']
>> at
>> org.apache.juneau.rest.RestContextBuilder.build(RestContextBuilder.java:262)
>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>> at org.apache.juneau.rest.RestServlet.init(RestServlet.java:53)
>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>> at
>> org.eclipse.jetty.servlet.ServletHolder.initServlet(ServletHolder.java:670)
>> ~[jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830]
>> at
>> org.eclipse.jetty.servlet.ServletHolder.getServlet(ServletHolder.java:519)
>> ~[jetty-servlet-9.4.12.v20180830.jar:9.4.12.v20180830]
>> at
>> com.rs.seagull.httpmonitor.NHttpReverseProxy.installProxy(NHttpReverseProxy.java:1867)
>> ~[classes/:?]
>> at
>> com.rs.seagull.httpmonitor.NHttpReverseProxy.installAdmin(NHttpReverseProxy.java:1823)
>> ~[classes/:?]
>> at
>> com.rs.seagull.httpmonitor.NHttpReverseProxy.goLoop(NHttpReverseProxy.java:1533)
>> ~[classes/:?]
>> at
>> com.rs.seagull.httpmonitor.test.NHttpReverseProxyTestRule$1.lambda$0(NHttpReverseProxyTestRule.java:191)
>> ~[test-classes/:?]
>> at java.lang.Thread.run(Thread.java:748) [?:1.8.0_181]
>> Caused by: org.apache.juneau.rest.RestServletException: Problem occurred
>> trying to serialize methods on class
>> com.rs.seagull.httpmonitor.admin.AdminRootResources,
>> methods=['shutdown,PUT,/shutdown','resume,PUT,/resume','reset,PUT,/reset','getStatus,GET,/status','getConfiguration,GET,/configuration','getInfo,GET,/info','reconfigure,POST,/reconfigure']
>> at org.apache.juneau.rest.RestContext.<init>(RestContext.java:3303)
>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>> at
>> org.apache.juneau.rest.RestContextBuilder.build(RestContextBuilder.java:258)
>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>> ... 8 more
>> Caused by: org.apache.juneau.rest.RestServletException: Invalid parameter
>> specified for method
>> 'com.rs.seagull.httpmonitor.admin.AdminRootResources.reconfigure(String,Reader)'
>> at index position 0
>> at org.apache.juneau.rest.RestContext.findParams(RestContext.java:4613)
>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>> at
>> org.apache.juneau.rest.RestJavaMethod$Builder.<init>(RestJavaMethod.java:394)
>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>> at org.apache.juneau.rest.RestJavaMethod.<init>(RestJavaMethod.java:92)
>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>> at org.apache.juneau.rest.RestContext.<init>(RestContext.java:3236)
>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>> at
>> org.apache.juneau.rest.RestContextBuilder.build(RestContextBuilder.java:258)
>> ~[juneau-rest-server-7.2.1-SNAPSHOT.jar:7.2.1-SNAPSHOT]
>> ... 8 more
>>
>> Thoughts?
>>
>> Gary
>>
>> On Mon, Oct 15, 2018 at 9:12 AM Gary Gregory <garydgregory@gmail.com>
>> wrote:
>>
>>> Yep, it compiles, trying the runtime now...
>>>
>>> Gary
>>>
>>> On Mon, Oct 15, 2018 at 7:42 AM James Bognar <jamesbognar@apache.org>
>>> wrote:
>>>
>>>> Fixed.  You can try again.
>>>>
>>>> On Sun, Oct 14, 2018 at 10:07 PM Gary Gregory <garydgregory@gmail.com>
>>>> wrote:
>>>>
>>>>> Hi James:
>>>>>
>>>>> Using 7.2.1-SNAPSHOT, I only have one (1) compiler error:
>>>>>
>>>>> The import org.apache.juneau.xml.XmlSchemaDocSerializer cannot be
>>>>> resolved.
>>>>>
>>>>> Gary
>>>>>
>>>>> On Sun, Oct 14, 2018 at 1:38 PM Gary Gregory <garydgregory@gmail.com>
>>>>> wrote:
>>>>>
>>>>>> Thank you, I should be home to take a look tonight...
>>>>>>
>>>>>> Gary
>>>>>>
>>>>>> On Sat, Oct 13, 2018, 17:36 James Bognar <jamesbognar@apache.org>
>>>>>> wrote:
>>>>>>
>>>>>>> Hi Gary.  Just delivered the changes.  You can try them out now.
>>>>>>>
>>>>>>> On Fri, Oct 12, 2018 at 6:19 PM James Bognar <jamesbognar@apache.org>
>>>>>>> wrote:
>>>>>>>
>>>>>>>> I'm going to need a couple of days to make those changes.
 I'll
>>>>>>>> announce when they're ready.
>>>>>>>>
>>>>>>>> On Fri, Oct 12, 2018 at 4:25 PM Gary Gregory <
>>>>>>>> garydgregory@gmail.com> wrote:
>>>>>>>>
>>>>>>>>> On Thu, Oct 11, 2018 at 11:32 AM Gary Gregory <
>>>>>>>>> garydgregory@gmail.com> wrote:
>>>>>>>>>
>>>>>>>>>> On Thu, Oct 11, 2018 at 11:28 AM James Bognar <
>>>>>>>>>> jamesbognar@apache.org> wrote:
>>>>>>>>>>
>>>>>>>>>>> Yes, I will try my best to try to add in backwards
compatibility
>>>>>>>>>>> in 7.2.1.
>>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Great and thank you, I can test a SNAPSHOT version
when you give
>>>>>>>>>> the go ahead.
>>>>>>>>>>
>>>>>>>>>
>>>>>>>>> May you please indicate a time-frame for which I should
set aside
>>>>>>>>> some time for testing a SNAPSHOT?
>>>>>>>>>
>>>>>>>>> Thank you,
>>>>>>>>> Gary
>>>>>>>>>
>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>> Gary
>>>>>>>>>>
>>>>>>>>>>
>>>>>>>>>>>
>>>>>>>>>>> On Thu, Oct 11, 2018 at 1:21 PM Gary Gregory
<
>>>>>>>>>>> garydgregory@gmail.com> wrote:
>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> On Thu, Oct 11, 2018 at 11:17 AM James Bognar
<
>>>>>>>>>>>> jamesbognar@apache.org> wrote:
>>>>>>>>>>>>
>>>>>>>>>>>>> Yea I can do that.
>>>>>>>>>>>>>
>>>>>>>>>>>>
>>>>>>>>>>>> Hi James,
>>>>>>>>>>>>
>>>>>>>>>>>> My goal, which I hope you share is:
>>>>>>>>>>>>
>>>>>>>>>>>> - Update from 7.1.0 to 7.2.1 as a drop-in
replacement (skipping
>>>>>>>>>>>> 7.2.0 altogether.)
>>>>>>>>>>>> - Follow the @deprecated warnings and update
my source code.
>>>>>>>>>>>> - Update to the next release, whenever that
is, as a drop in
>>>>>>>>>>>> replacement. Would that then be 8.0?
>>>>>>>>>>>>
>>>>>>>>>>>> Is that how you see it?
>>>>>>>>>>>>
>>>>>>>>>>>> Gary
>>>>>>>>>>>>
>>>>>>>>>>>>>
>>>>>>>>>>>>> On Thu, Oct 11, 2018 at 1:15 PM Gary
Gregory <
>>>>>>>>>>>>> garydgregory@gmail.com> wrote:
>>>>>>>>>>>>>
>>>>>>>>>>>>>> On Thu, Oct 11, 2018 at 10:47 AM
James Bognar <
>>>>>>>>>>>>>> jamesbognar@apache.org> wrote:
>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> Hi all,
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> In hindsight, Juneau 7.2.0 should
have been released as
>>>>>>>>>>>>>>> Juneau 8 due to breaking changes.
 Particularly, the server and client side
>>>>>>>>>>>>>>> annotations were merged into
a single set of annotations.  I'm now getting
>>>>>>>>>>>>>>> negative feedback for that decision
(rightly so).
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>> My plan to fix this is to revert
the changes made in 7.2.0
>>>>>>>>>>>>>>> and to re-release 7.1.1 as 7.2.1.
 Then release Juneau 8 with the latest
>>>>>>>>>>>>>>> bug fixes included.  Given the
significant changes made in 7.2.0, I do not
>>>>>>>>>>>>>>> believe it's possible to fix
backwards compatibility (just unmerging those
>>>>>>>>>>>>>>> annotations would explode the
code complexity).
>>>>>>>>>>>>>>>
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Thank you for that. But will there
be @deprecated comments so
>>>>>>>>>>>>>> that we can move to the new code?
>>>>>>>>>>>>>>
>>>>>>>>>>>>>> Gary
>>>>>>>>>>>>>>
>>>>>>>>>>>>>

Mime
View raw message