You are viewing a plain text version of this content. The canonical link for it is here.
Posted to derby-dev@db.apache.org by Knut Anders Hatlen <Kn...@Sun.COM> on 2005/12/01 09:10:55 UTC

Re: [jira] Commented: (DERBY-733) Starvation in RAFContainer.readPage()

Mike Matrigali <mi...@sbcglobal.net> writes:

> It should be possible to build a 1.5 specific solution, though Bryan has
> not succeeded yet in getting the build side of the solution to work.  Of
> course such a solution will only make 1.5 and future versions go faster.
> In general I think it is better to use the native java support if
> possible, but of course that is up to you.  It may also be the case
> that
> your added class is less work than reorganizing the code to provide a
> pre-1.4 version and post-1.5 version.

I think it is less work adding a lock class than reorganizing the
code. Since I'm going to use the same method names and signatures as
the native java class, we can just modify the variable declaration and
remove the class as soon as we abandon support for 1.4. I'll give this
approach a try first, and if it doesn't work out well, I can look at a
1.5 specific solution.

> I know someone had mentioned this issue before and that they had a queue
> of open I/O working (rather than a queue of waiters on the single
> I/O), did I miss you posting a patch for that?

Øystein posted a patch which allowed more than one thread to read from
the same file at the same time. His patch was posted merely as an
example, and it would probably run out of file descriptors if there
were many tables in the database. I have tested his patch, but the
variance in the response times was still way too high. The primary
objective with his patch was to increase the throughput on disk-bound
databases, and at this point it was in fact quite successful.

-- 
Knut Anders