[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