juneau-dev mailing list archives

Site index · List index
Message view « Date » · « Thread »
Top « Date » · « Thread »
From James Bognar <jamesbog...@apache.org>
Subject Re: Breaking changes in 7.2.0. Plans for 7.2.1, 8.0.0
Date Tue, 16 Oct 2018 15:11:07 GMT
Hi Gary,

It's hard to read the output.  Is the difference "]    j:value "foo" .]" vs
"[]    j:value "foo" .]"?

I've had problems in the past writing unit tests for the RDF languages
because the output is sometimes not consistent.  For example, triples are
not guaranteed to be serialized in the same order each time, so I've had to
use tricks such as sorting results before comparison.  Our code does not
have control over how Jena serialized the RDF model.

This is a basic sanity test.  I'm surprised it's causing an issue.  It is a
new test in 7.2.0 though.  Could you tell me what the output is from the
call to m.toString("foo")?

I'm not an RDF expert, so maybe Peter Haumer can chime in?

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

> 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