[Trac-dev] Re: Introduction & Looking to contribute
Lance Hendrix <lance <at> lancehendrix.com>
2009-06-03 19:05:03 GMT
Thank you for the quick and elaborate response! I wanted to follow up
on this great email with a status of where I am and express my
appreciation for your direction. I have edited out a bit of this in
order to shorten the email so that it isn't too long...
My initial efforts have been to get a development environment up and
running (I have done several user installations, but obviously never
setup a "trac development environment). I initially started out
attempting to do this on Windows (Vista x64 to be exact), but ran into
some issues and decided to switch over to Linux (Gentoo is my current
preference with regard to distro), on which it was much easier to get
going. I still have quite a few failing tests in trunk and I am not
sure if this is a result of issues with the environment (which I assume
it is) or something else, but I will take the determination of these
issues as part of my "training" in Trac development and figure them out
on my own.
More comments are in-line:
Christian Boos wrote:
> Hello Lance,
>
>
> Starting to work on the 0.11.x bug reports is where the contributions
> will be the most immediately useful.
> I think 0.11.5 is mostly ready to go, though among the opened tickets,
> there are still a few outstanding ones that would be better fixed in
> 0.11.5 rather than later (e.g. #7490, #4245). In general, pick any
> ticket in 0.11.5 or 0.11.6 that match your center of interest, and go
> for it: verify that an issue is reproducible, test an already proposed
> fix, review existing patches, and of course, propose your own fixes. By
> commenting on the tickets, you'll usually get feedback from the other
> developers pretty quickly.
>
I am currently looking into #7490 which is very interesting and also
in-line with some of my professional experience which has focused on
performance and scalability of platforms and applications. In my
preliminary review and attempt to understand the issue as it relates to
#7490, I have found a couple of things that I wanted to get feedback on
(let me know if this is better placed into the comments of the issue,
but it is quite deep into the code and most of the discussion on the
ticket is at a "higher" level)...
* The a major change from Trac-10 to Trac-11 was leveraging Genshi
* One of the initial issues reported and resolved was ticket #6614 -
Memory leak using Apache (I am still sorting through the details of this
ticket)
* In reviewing the code, one of the changes related to ticket #6614 was
to explicitly force a garbage collection at the end of request processing
My current thinking is that the explicit garbage collection (which is
synchronous with the user request) is what is causing the (at least
perceived) performance problem (whether this is related to Genshi or not
is still unknown based on my preliminary testing). I have not been able
to reproduce the problem as yet, but I also have a few suspicions as to
why and am currently svnsync(ing) a repo that has more history and data
to see if that allows me to better repro the problem. Once I can repro
then I am sure we can fix...
* I also assume that part of the issue why this hasn't been addressed
is that we still don't know exactly why/how this occurs?
* Has anyone been able to repro the issue in a development environment?
* Is anyone else actively working on this issue (that I should be
collaborating with)?
* What do we know (or don't) know that might not be in the ticket
discussion?
If someone else is actively working on this, then I can act as the
"grunt" and feel free to offload any boring, repetitious, and/or tedious
activities to me and I can report back my findings rather than
(potentially) wasting your time with the tedious work of trying to
reproduce and/or test...
> For 0.12, the main focus is still i18n. Also, Remy Blank and me have
> been quite active on the MultipleRepositorySupport branch, which is
> nearing completion and is very likely to be ready for 0.12. There were
> several other improvements made to the custom queries and SQL reports,
> the timeline and the wiki, but not that many compared to 0.11, so if
> there's still any particular improvement you'd like to see in 0.12, feel
> free to work on it.
>
> Among the other recent activity, there was some effort done on the
> testing infrastructure, where we recently added the possibility to run
> the unit and functional tests with alternate DB backends (i.e. not just
> the in-memory SQLite database).
>
> Btw, although a bit involved, getting familiar with our testing
> infrastructure is a good way to start, as running the test suite will
> help you gain confidence in your changes when you tweak the code. By
> going into trunk/doc/, you should be able to build the developer guide
> which contains some details for getting the test environment up and
> running. Note that when I contributed to this documentation, I was
> pleased about how convenient it was to use Sphinx for this job, and so I
> wished to extend the developer guide even further. I think it would be
> interesting to have both someone familiar with the code base /and/
> someone discovering it, when writing such a guide, as this give you the
> possibility to focus on what's really important to document. So if
> you're interested, that's also one area where you could help by asking
> questions and pointing to the parts of the API which need to be
> documented the most.
>
I like the testing infrastructure and once I get a little more familiar
with it, I will be in a better position to provide some feedback or help
improve the documentation which is an excellent suggestion.
--~--~---------~--~----~------------~-------~--~----~
You received this message because you are subscribed to the Google Groups "Trac Development" group.
To post to this group, send email to trac-dev <at> googlegroups.com
To unsubscribe from this group, send email to trac-dev+unsubscribe <at> googlegroups.com
For more options, visit this group at http://groups.google.com/group/trac-dev?hl=en
-~----------~----~----~----~------~----~------~--~---