> On Jan 27, 2016, at 8:46 AM, Jason Kenny <jke...@yahoo-inc.com.INVALID> wrote: > > I think what you are missing is that the decoupling is more complex than a > few file tweaks. There is code in the wrong place. Instead of trying to move > everything around in iocore,proxy,lib,mgmt and cmd, which will be only > confusing when looking at different version of ATS, is to make a clean > separation to something clean and simple. Honestly no one seems know what > current and modern value there is in the code in mgmt, vs that of proxy, etc. > We have mgmt_p dependent on proxy code compiled into traffic_server and > different code in traffic_server dependent on mgmt_p. There are lots of > these, and yes we could try a miniumn take on the changes. However this does > not solve other issue on how we scale, manage new code, remove old in a > understandable and easy way. I gave a talk on this for a reason, it is a > mess. Let clean it up. You talk about these great items to clean up, however > the bar of entry for many of these are higher than need to be, because of the > lack of a simple, understandable layout, and the technical debt that has > happen to the code in the form of dependency cycles, and items such as the I_ > and P_ headers being used incorrectly, mega files that need to be broken up ( > but are not because people don't know how to fix the build system), etc.... I > am not saying the layout I propose is perfect, only that it is better and > that it sets up a better framework for making changes in the future without > massive complication people deal with now. I would like to do these > improvements now as this allows use to make all those other items easier for > all of us to address. I am sure other changes will happen, but those should > be smaller and simpler with this work done as a base.
I'm arguing that starting with moving all the code around is not the right way to make progress. Work like TS-4092 is much better. Is is well scoped, has a clear goal, can be done is a reasonable time and will give immediate benefits. One way to get started on this is to try to move the traffic_logcat and traffic_logcat out to their respective cmd subdirectories. Once you start pulling on that thread I think you will be able to make some nice improvements. During that process, as you find code that deserves to be an independent module, or could be in a better source location, that is great! > > Jason > > > ----- Original Message ----- > From: James Peach <jpe...@apache.org> > To: dev@trafficserver.apache.org; Alan Carroll <solidwallofc...@yahoo-inc.com> > Sent: Tuesday, January 26, 2016 3:36 PM > Subject: Re: Proposal for how to update source code layout. > > >> On Jan 26, 2016, at 11:07 AM, Alan Carroll >> <solidwallofc...@yahoo-inc.com.INVALID> wrote: >> >> My view is that getting or at least having a target source tree that is >> better organized is a big help in doing the things HRP wants to do. >> Certainly when I have looked at doing that sort of cleanup, the current >> structure is an impediment. For example, the RPC logic needs to be pulled >> out of mgmt and put in a separate library so it can be linked easily by any >> executable. But where does that go? I suppose lib/rpc but it's unclear. > > Sure, but we need to be really specific here in order to understand the > proposal. What exactly do you mean by the "RPC logic"? Just MgmtMarshall.cc > and NetworkMessage.cc? Everything NetworkMessage.cc depends on? Or do you > mean the libmgmt API? > > >> I have mixed feelings about the big shift vs. gradual. The former is more >> painful but only for a short while. The latter drags out the pain so it's a >> somewhat chronic condition. In either case, though, we'd need a final target >> that we are working toward. > > If you understand how to decouple a dependency, then I think the best > approach is to just decouple that dependency and move on to the next. Given a > specific change, we can understand what it means and where is belongs.