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 01:20:23 GMT
On Mon, Oct 15, 2018 at 6:40 PM James Bognar <jamesbognar@gmail.com> wrote:

> I’ll continue work on number 2.
>

Thank you James!

I tried to build Juneau git master locally with:

Apache Maven 3.5.4 (1edded0938998edf8bf061f1ceb3cfdeccf443fe;
2018-06-17T12:33:14-06:00)
Maven home: C:\Java\apache-maven-3.5.4\bin\..
Java version: 1.8.0_181, vendor: Oracle Corporation, runtime: C:\Program
Files\Java\jdk1.8.0_181\jre
Default locale: en_US, platform encoding: Cp1252
OS name: "windows 10", version: "10.0", arch: "amd64", family: "windows"

but I got:

[INFO] Running org.apache.juneau.xml.XmlTest
[INFO] Tests run: 27, Failures: 0, Errors: 0, Skipped: 0, Time elapsed:
0.015 s - in org.apache.juneau.xml.XmlTest
[INFO]
[INFO] Results:
[INFO]
[ERROR] Failures:
[ERROR]   N3Test.toString1:45 expected:<...che.org/juneaubp/> .[
@prefix j:       <http://www.apache.org/juneau/> .

[]    j:value "foo" .]
> but was:<...che.org/juneaubp/> .[
@prefix j:       <http://www.apache.org/juneau/> .

]]    j:value "foo" .
>
[ERROR]   N3Test.write1:33 expected:<...che.org/juneaubp/> .[
@prefix j:       <http://www.apache.org/juneau/> .

[]    j:value "foo" .]
> but was:<...che.org/juneaubp/> .[
@prefix j:       <http://www.apache.org/juneau/> .

]]    j:value "foo" .
>
[ERROR]   N3Test.write2:40 expected:<...che.org/juneaubp/> .[
@prefix j:       <http://www.apache.org/juneau/> .

[]    j:value "foo" .]
> but was:<...che.org/juneaubp/> .[
@prefix j:       <http://www.apache.org/juneau/> .

]]    j:value "foo" .
>
[ERROR]   TurtleTest.toString1:45 expected:<...che.org/juneaubp/> .[
@prefix j:       <http://www.apache.org/juneau/> .

[]    j:value "foo" .]
> but was:<...che.org/juneaubp/> .[
@prefix j:       <http://www.apache.org/juneau/> .

]]    j:value "foo" .
>
[ERROR]   TurtleTest.write1:33 expected:<...che.org/juneaubp/> .[
@prefix j:       <http://www.apache.org/juneau/> .

[]    j:value "foo" .]
> but was:<...che.org/juneaubp/> .[
@prefix j:       <http://www.apache.org/juneau/> .

]]    j:value "foo" .
>
[ERROR]   TurtleTest.write2:40 expected:<...che.org/juneaubp/> .[
@prefix j:       <http://www.apache.org/juneau/> .

[]    j:value "foo" .]
> but was:<...che.org/juneaubp/> .[
@prefix j:       <http://www.apache.org/juneau/> .

]]    j:value "foo" .
>
[INFO]
[ERROR] Tests run: 18397, Failures: 6, Errors: 0, Skipped: 1
[INFO]


Any ideas? This is not urgent.

Gary

>
>
> On Mon, Oct 15, 2018 at 8:38 PM Gary Gregory <garydgregory@gmail.com>
> wrote:
>
>> 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