[jboss-as7-dev] Moving EJB3 code into the AS7 source tree
Carlo de Wolf
cdewolf at redhat.com
Fri Aug 26 05:56:24 EDT 2011
An example of what I would consider design regression would be:
https://github.com/jbossas/jboss-as/blob/master/remoting/src/main/java/org/jboss/as/remoting/ChannelOpenListenerService.java
I came across this while working on AS7-423. The Remoting facility
ChannelOpenListenerService now has a direct dependency on the management
protocol. Which makes it unusable (not re-usable) for the EJB protocol.
Carlo
==
No external components were harmed during the creation of this mail. ;-)
On 08/26/2011 08:34 AM, Carlo de Wolf wrote:
> On 08/26/2011 06:58 AM, Stuart Douglas wrote:
>> I have moved the code and tests over.
>>
>> Stuart
>>
>> On 26/08/2011, at 3:42 AM, Jason T. Greene wrote:
>>
>>> On 8/25/11 3:09 AM, Carlo de Wolf wrote:
>>>> http://community.jboss.org/people/wolfc/blog/2010/11/26/strategies-for-separation-of-concern
>>>>
>>>>
>>>> The only objection I have is putting everything in a single module and
>>>> just separate concerns on a package level.
>>> There is also some logical separation in that ejb3 is still a
>>> separate subsystem, and therefore a separate module. The code is
>>> just in the same place and versioned with all other subsystems. I
>>> think it's fine to break things into separately versioned external
>>> components when we have reuse (or great potential of reuse). The
>>> ejb3 timer implementation though is unlikely to be useful to anyone
>>> other than our impl. So using package separation for that case seems
>>> more than adequate (at least now)
> I wasn't talking about an external component. So based on that false
> assumption the commit has been approved.
> I also see that we've lost the history of the source code, while git
> is capable of (and designed for) slicing and dicing code bases
> including history.
>
> I would rather go for an open minded approach which gives the freedom
> for re-use, then such a close minded one. But I agree with you that we
> are incapable of fostering such an environment.
>>>> As I've pointed out a couple of times, in the AS 7 code base we're not
>>>> vigilant enough nor does the review process catch design issues.
>>>> For the
>>>> review process to do a proper design check would form an unwanted
>>>> choke
>>>> point. So we still need to find ways to guard the code against design
>>>> regression.
>>> We certainly could improve here in various areas. We need to make
>>> sure we capture designs in wikis or in javadoc or in code comments.
>>> This is done in many cases but not others. Ideally we start with an
>>> agreed upon requirements doc, then a set of docs detailing the
>>> abstract design. Then when code is created we try to reflect the doc
>>> information in comments and javadoc. Any significant refactor then
>>> can be reviewed against that information.
>>>
>>> Right now we certainly discuss all major EE refactors, and we
>>> validate they introduce no test regressions and no TCK regressions
>>> before we merge these kind of patches.
> That works on the assumption that tests get written (and get written
> well).
>
> Something I recently encountered showed that we're still lacking
> coverage:
> https://github.com/wolfc/jboss-as/commit/658a23d43711e5b1f2dc8a3f7c5506364df9175d
>
>
> Note that I'm a guilty party here as well as I did not write a
> test-case to guard my initial MDB implementation (just a demo).
>>> As to preventing choke points, I think this has to do with what the
>>> patch touches. The burden is ultimately on the person sending in the
>>> pull request / patch to break up changes in such a way that they are
>>> applied in reasonable time frames. For example simple bug fixes
>>> require much less review than a complete re-architecture of EE proxies.
> Yes, pull requests creating a burden on the reviewer. That's the
> nature of our current review process. Whether a contribution is
> applied in a timely manner is up to the pushers. To go by example I've
> got a contribution that is a first stage of on-going work, yet it has
> been sitting idly for some time now:
> https://github.com/jbossas/jboss-as/pull/90
>
> Carlo
>>> --
>>> Jason T. Greene
>>> JBoss AS Lead / EAP Platform Architect
>>> JBoss, a division of Red Hat
>
More information about the jboss-as7-dev
mailing list