karmazilla / nanopool
- Source
- Commits
- Network (0)
- Issues (7)
- Downloads (0)
- Wiki (3)
- Graphs
-
Branch:
master
click here to add a description
click here to add a homepage
-
1 comment Created 3 months ago by karmazilla1.1xData race in Connector.returnToPoolbugxThe attributes
ownerandcurrentLeaseare set tonullafter the Connecter has entered the AVAILABLE state whereby the gates are opened for the Connector to be re-leased.The data race essentially means that we are at risk of returning
nullfrom Connector.getConnection.Comments
-
1 comment Created 3 months ago by karmazilla1.1xFsm always sets a Connectors state to AVAILABLE after invalidating it due to an SQLException from Connector.getConnectionbugxThis uncritical set is bad behavior since it might overwrite an OUTDATED or SHUTDOWN state.
Comments
Please log in to comment.
karmazilla
Mon Nov 02 13:53:37 -0800 2009
| link
Fsm no longer unconditionally marks a Connector as AVAILABLE if it fails to getConnection, but will now respect OUTDATED and SHUTDOWN states and leave them untouched. Closed by 0f76094
-
1 comment Created 3 months ago by karmazilla1.1xConnector.returnToPool should catch RuntimeException from pre-release hooks.bugxThrowing a RuntimeException in a pre-release hook will prevent the hook from returning to the pool and risk an unrecoverable Connector leak.
Comments
Please log in to comment.
karmazilla
Mon Nov 02 13:53:37 -0800 2009
| link
make sure that throwing from a pre-release hook cannot break anything. Closed by 8b48f3a
-
1 comment Created 4 months ago by karmazilla1.1xResize may cause pre-connect hooks to re-runbugxResize is signaled with an exception that is thrown from the FsmMixin.getConnection method, which is then re-executed. This will cause the pre-connect hooks to re-run. This is bad because it is reasonable to expect the pre-connect and post-connect hooks to have symmetrical invocation patterns.
Comments
Please log in to comment.
karmazilla
Thu Oct 01 16:17:58 -0700 2009
| link
Closed by c61c4c2
-
1 comment Created 4 months ago by karmazilla1.1xConnector.invalidate may close physical connection too early upon shutdownbugxThe Connector.invalidate method is called during the pool shutdown procedure, and that in turn always closes the associated PooledConnection instance - this may be too early if the connection is leased out and therefor in use.
In this case, we should instead (probably) wait with closing the physical connection until the connection returns to the pool.
Comments
Please log in to comment.
karmazilla
Sun Sep 20 07:13:58 -0700 2009
| link
write a test that prooves that gh-issue 9 was never really an issue. closed by 80d1df6
-
A pool that is resized and closed simultaneously might loose the reference to the new Connectors array. With unlucky timing this could cause connection leaks, although the risk is low since it is a very narrow window.
Comments
karmazilla
Sun Sep 13 10:12:42 -0700 2009
| link
It can be fixed by replacing the volatile connectors reference with an AtomicReference, or perhaps through the use of an AtomicReferenceFieldUpdater.
Please log in to comment.
karmazilla
Tue Sep 15 14:25:59 -0700 2009
| link
kill a very narrow data-race on PoolStateConnectors. closed by 4aa8c00
-
0 comments Created 5 months ago by karmazilladocxJavadoc everything public in src/main1.1x -
Create a ContentionHandler that resizes the pool by some predetermined factor, until it reaches a max.
Comments
karmazilla
Thu Aug 20 15:14:18 -0700 2009
| link
What will it do when max is reached? Delegate to another contention handler, or throw an exception, or... ?
Please log in to comment.
karmazilla
Sun Aug 23 13:43:18 -0700 2009
| link
Implement a ResizingContentionHandler. Closed by b2e9547




Fix data-race in Connector that could cause getConnection to return null. Closed by 56e06fe