[resteasy-dev] RESTEasy and possible "community" contribution

Weinan Li weli at redhat.com
Thu May 5 09:46:29 EDT 2016


--
Weinan Li / JBoss



> On May 5, 2016, at 9:21 PM, Rostislav Svoboda <rsvoboda at redhat.com> wrote:
> 
>> 
>> 
>> On 05/04/2016 11:36 AM, Weinan Li wrote:
>>> --
>>> Weinan Li / JBoss
>>> 
>>>> On May 4, 2016, at 8:02 PM, Rostislav Svoboda <rsvoboda at redhat.com> wrote:
>>>> 
>>>> Moving the discussion to the mailing list ++ adding few notes about the
>>>> project structure and TS.
>>>> 
>>>> Structure:
>>>> - why is there one module jaxrs in the root of repo -
>>>> https://github.com/resteasy/Resteasy ?
>>> It's added by Bill but I forget the reason. I don't like it either :-) We
>>> can remove it now as JAX-RS is moved outside RESTEasy repo.
>>> 
>>>> - there are too many modules (in root jaxrs module) from my perspective
>>>>   -- multi module project structure can affect build time
>>>>   -- find . | grep pom.xml | wc -l reports 226 pom.xml files
>>> The 'example' module contains all the Bill's book examples. We need to ask
>>> him for permission to move these away.
>> 
>> They go into the distribution zip file.
>> 
> 
> ok, proper isolation in project as suggested by Alession is probably the best option.
> And there will be no regression in stuff delivered in zip.
> 
>>> 
>>>>   -- find . | grep pom.xml | grep -v arquillian | grep -v exam | grep -v
>>>>   test | wc -l reports 58 pom.xml files
>>>> - not clear where is the real code and what is just add-odd like examples,
>>>> book stuff
>>>> - naming of modules in not in sync, some are starting resteasy-*, some do
>>>> not have such prefix
>>>> 
>>>> Commits:
>>>> - commit messages do not follow same/similar format - see
>>>> https://github.com/resteasy/Resteasy/commits/master
>>>>   -- I would expect jira id at the beginning of the commit message, it's
>>>>   there sometime but in different format - e.g. RESTEASY-1328 vs.
>>>>   [RESTEASY-1331]
>> 
>> Even better is the whole URL, so you can click and go there.
> 
> Not so sure, [RESTEASY-xxx] is the best option from my side, jira can handle integration / parsing of commit messages
> 
>> 
>>>> - massive commit message like
>>>> https://github.com/resteasy/Resteasy/commit/fdd1f9f31edb894fa6f8684f2608224c39519e6c
>>>> - commit related to RESTEASY-1323 are really "fun"
>>>>   -- https://github.com/resteasy/Resteasy/pull/756/files
>>>>   -- one fix in code (4 lines removed) + two tests done in 7 commits :(
>>>>   -- these commits should have been squashed
>>> +1
>>> 
>>>> Versions:
>>>> - will leave this to Tomaz :)
>>>> 
>>>> TS:
>>>> - unit tests are mixed with integration tests
>>>>   -- integration tests should be in separate module
>>>>   -- tests should be running in different maven phases
>>>> - there are only few tests against WF
>>>> - such tests are not executed against latest WF, but mainly against WF 8
>> 
>> At some point I started adding new arquillian tests to RESTEASY-TEST-WF8
>> to reduce the number of times wildfly starts up. I have a
>> RESTEASY-TEST-WF10, but it depends on JDK 1.8, so it's not activated yet.
> 
> Shouldn't be JDK 8 the default ?
> Public JDK 7 is not receiving updates for 1 year - see http://www.oracle.com/technetwork/java/eol-135779.html or http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html
> Last release was April 2015
> 
>>>> - I would like to see ARQ + WF10+ and get rid of tjws
>>> Get ridding of TJWS is not practical because it will make the test time
>>> unacceptable. But replacing them with undertow container would be great
>>> :-)
>> 
>> A lot of tests just don't depend on the environment. I create arquillian
> 
> But there are tests which pass on tjws, but failed with WF10 / EAP7, you can check the jira link I shared in previous email or see below
> 
>> tests only when the environment seems to matter. I agree it would be
>> nice to use undertow, but who's going to take the time to do that?
> 
> There is product TS which can be reused / pulled back.
> 
>>>> 
>>>> EAP 7 situation for TS:
>>>> - we migrated upstream ts to use ARQ and run against EAP 7 and not tjws
>>>> - we discovered half of reported issues thanks to this migrated TS, these
>>>> issues wouldn't be noticed bu community TS executed against tjws
>>> Totally removing TJWS is also not possible, because many users are using
>>> this 'internal' feature in their production env. We can't estimate how the
>>> impact will be.
> 
> Well, I'm surprised about tjws use in production environment
> 
> quick check shows this:
> resteasy-jaxrs-3.0.16.Final-redhat-1.jar | grep tjws
>        0  02-22-2016 03:06   org/jboss/resteasy/plugins/server/tjws/
>     2015  02-22-2016 03:06   org/jboss/resteasy/plugins/server/tjws/TJWSServletDispatcher.class
>     2110  02-22-2016 03:06   org/jboss/resteasy/plugins/server/tjws/TJWSServletServer$FileMappingServe.class
>     5244  02-22-2016 03:06   org/jboss/resteasy/plugins/server/tjws/TJWSServletServer.class
>     1467  02-22-2016 03:06   org/jboss/resteasy/plugins/server/tjws/AuthenticatedHttpServletRequest.class
>     3172  02-22-2016 03:06   org/jboss/resteasy/plugins/server/tjws/TJWSRequestPreProcessor.class
>     3136  02-22-2016 03:06   org/jboss/resteasy/plugins/server/tjws/TJWSEmbeddedJaxrsServer.class
>     2854  02-22-2016 03:06   org/jboss/resteasy/plugins/server/tjws/PatchedHttpServletRequest.class
> resteasy-spring-3.0.16.Final-redhat-1.jar | grep tjws
>        0  02-22-2016 03:09   org/jboss/resteasy/springmvc/tjws/
>     2034  02-22-2016 03:09   org/jboss/resteasy/springmvc/tjws/TJWSEmbeddedSpringMVCServer.class
>     1794  02-22-2016 03:09   org/jboss/resteasy/springmvc/tjws/TJWSSpringMVCDispatcher.class
>     2809  02-22-2016 03:09   org/jboss/resteasy/springmvc/tjws/TJWSEmbeddedSpringMVCServerBean.class
> 

And also the 'tjws' module itself.

> 
> Do you know more about customer use-cases ?

I recently fixed a tjws ssl use case requested by customer: https://github.com/resteasy/Resteasy/pull/761/files



> 
>> Yeah, I learned that only recently. I'm amazed. But it's true: "If it's
>> there, they'll use it."
> 
> Agree, it's bad that we realized that so late :(
> 
>> 
>>> 
>>> We can try to remove TJWS for testing purposes in RESTEasy project itself.
>>> But the RESTEasy TJWS module should be maintained as a feature.
>>> 
>>>>   -- 19 from 38 jiras -
>>>>   https://issues.jboss.org/issues/?jql=project%20%3D%20JBEAP%20AND%20issuetype%20%3D%20Bug%20AND%20resolution%20in%20%28Unresolved%2C%20Done%2C%20%22Out%20of%20Date%22%29%20AND%20component%20%3D%20REST
>>>> - we will keep this TS for 7.0.z
>>>> - we would like to consume & prod-patch upstream (ARQ + WF based) TS for
>>>> the future releases
>>>> 
>>>> Upstream and QE specific TS should somehow converge into a single one.
>>> +1
>>> 
>>>> My feeling is that (upstream) TS should be a bit isolated from the rest to
>>>> make it easier for QE to test against products - like EAP.
>>>> Something similar what is in JBWS and maybe even beyond - no dependency on
>>>> parent to have deps clearly defined.
>>>> For JBWS we consume upstream ts, patch it little bit + use prod based
>>>> dependencies.
>>>> 
>>>> Cheers.
>>>> Rostislav
>>>> 
>>>> ----- Original Message -----
>>>>> Hey Alessio,
>>>>> 
>>>>> yes setting up mailing list or even better forums on developer.jboss.org
>>>>> would be great.
>>>>> 
>>>>> for the changes I had in mind from top of my head
>>>>> - restructure project to move it one folder up so we, get rid of "jaxrs"
>>>>> folder, but that can be done later
>>>>> - unify versions of jetty used for tests
>>>>> - make project build on various platforms and be able to release new
>>>>> version maven-release-plugin
>>>>> - get rid of tjws
>>>>> - get rid of book
>>>>> https://github.com/resteasy/Resteasy/tree/master/jaxrs/examples/oreilly-jaxrs-2.0-workbook
>>>>> - probably best to move it to different repo
>>>>> - think about examples, maybe move them to different repo or clean them
>>>>> up
>>>>> so build would work properly.
>>>>> 
>>>>> and lots of other ideas, but that would just be cleaning up the codebase
>>>>> so
>>>>> it would be easier to work from there.
>>>>> 
>>>>> But yes, lets talk about it next week, as I also have some stuff to
>>>>> finish
>>>>> this week.
>>>>> 
>>>>> --
>>>>> tomaz
>>>>> 
>>>>> 
>>>>> 
>>>>> On Thu, Apr 28, 2016 at 9:38 PM, Alessio Soldano <asoldano at redhat.com>
>>>>> wrote:
>>>>> 
>>>>>> Hi Rostislav, hi Tomaz,
>>>>>> thanks for the references. We'll have to go and parse the changes (and
>>>>>> also see what still applies and what would be out-of-date ;-) ).
>>>>>> Generally speaking, why not, let's listen to what "stage 0" tasks you
>>>>>> have
>>>>>> in mind. I'm very busy till the end of the week, but I hope to have time
>>>>>> to
>>>>>> spend on this next week. I'm still fixing few things with the team,
>>>>>> including having jboss mailing lists for the project.. if it makes sense
>>>>>> to
>>>>>> you, I would propose to have some discussion on the proposed tasks on a
>>>>>> dev
>>>>>> mailing list, ok?
>>>>>> Cheers
>>>>>> Alessio
>>>>>> 
>>>>>> 
>>>>>> Il 28/04/2016 18:10, Rostislav Svoboda ha scritto:
>>>>>> 
>>>>>>> Hi Alessio.
>>>>>>> 
>>>>>>> Several months ago I spoke with Tomaz about RESTEasy and Tomaz's effort
>>>>>>> with project cleanup + version sync. For example
>>>>>>> https://github.com/resteasy/Resteasy/commit/1f95cefc716d88533551c282977aa9b0ba2a8f10
>>>>>>> was merged, probably some more ideas are waiting for sunlight in
>>>>>>> branches
>>>>>>> like https://github.com/ctomc/Resteasy/tree/build-cleanup
>>>>>>> 
>>>>>>> I pinged Tomaz today because of that and we spoke a bit about RESTEasy,
>>>>>>> Tomaz has some ideas for few "stage 0" tasks that should be done before
>>>>>>> anything else is going on. He [CCed to confirm that ;)] is also wiling
>>>>>>> to
>>>>>>> take few days to work on it if we agree on them being merged.
>>>>>>> 
>>>>>>> So here we go, discussion can begin. Hope RESTEasy project structure
>>>>>>> will
>>>>>>> be in good condition soon!
>>>>>>> 
>>>>>>> Cheers.
>>>>>>> Rostislav
>>>>>>> 
>>>>>>> 
>>>>>> --
>>>>>> Alessio Soldano
>>>>>> Web Service Lead, JBoss
>>>>>> 
>>>>>> 
>>>> _______________________________________________
>>>> resteasy-dev mailing list
>>>> resteasy-dev at lists.jboss.org
>>>> https://lists.jboss.org/mailman/listinfo/resteasy-dev
>>> 
>>> _______________________________________________
>>> resteasy-dev mailing list
>>> resteasy-dev at lists.jboss.org
>>> https://lists.jboss.org/mailman/listinfo/resteasy-dev
>> 
>> --
>> My company's smarter than your company (unless you work for Red Hat)
>> 
>> _______________________________________________
>> resteasy-dev mailing list
>> resteasy-dev at lists.jboss.org
>> https://lists.jboss.org/mailman/listinfo/resteasy-dev
>> 
> _______________________________________________
> resteasy-dev mailing list
> resteasy-dev at lists.jboss.org
> https://lists.jboss.org/mailman/listinfo/resteasy-dev




More information about the resteasy-dev mailing list