Release Notes for Mahalo
Mahalo
v2.2.0 Release Notes
Description
"Mahalo" is the name of the contributed River transaction manager
implementation from Sun Microsystems. The River Transaction
Specification is available in HTML.
Changes since the v2.2.0 release
- [RIVER-296] - Mahalo implementation throws CannotAbortException from abort() on an expired transaction
- [RIVER-354] - TransactionManagerImpl.abort throws a NullPointerException when transaction is not found, where interface TransactionManager specifies an UnknownTransactionException to be thrown.
Changes since the v2.1.1 release
- [RIVER-284] -
[PATCH] fix bad ParticipantHandle.compareTo
- [RIVER-286] -
[PATCH] iterators on synchronized collections still need synchronization
Changes since the v2.2.0 release
- None
Changes since the v2.1 release
- None
Changes since the v2.0.1 release
- Configuration
- The following configuration entries have been added to the
Mahalo implementation:
- settlerPool - The pool of threads used to settle outstanding
transactions.
- taskPool - The pool of threads used to settle transactions.
These "thread pool" objects can now be sized for end user
applications. See Mahalo's package
documentation
for more detail.
- Bug Fixes of Interest
- The following bugs have been addressed in this release:
-
4285733: Is the Transaction spec correct about permissible votes?
- Section TX.2.7 of the
Jini (TM) Transaction Specification was changed to correct the permissible
vote outcomes for
prepare
. Specifically, the
COMMITTED
vote was changed to PREPARED
.
-
4394196: Txn specs fixes
- Section TX.1.3 of the
Jini (TM) Transaction Specification was changed to emphasize that Java(TM)
Remote Method Invocation (Java RMI) semantics are replied upon and not any particular
implementation. Section TX.2.3 removed a confusing "crash count" example.
In section TX.2.7, the paragraphs dealing with
abort
and prepareAndCommit
were modified for clarity. Section 2.8
was modified to note that the commit point record can be removed after
successfully returning from abort
(in addition to commit
). Section 2.8.1 added an additional
bullet item noting that getState
can return
ABORTED
.
-
4761012: prepareAndCommit semantics amibiguous wrt idempotentcy
- Section TX.2.6 & TX.2.7 of the
Jini (TM) Transaction Specification were changed to note that
prepareAndCommit
calls may not be idempotent.
-
5054742: Transaction spec does not specify whether or not participant
commit is atomic
- Section TX.3.5 of the
Jini (TM) Transaction Specification was changed to note that
participants are not required to implement atomic
abort
and
commit
calls.
Licensed to the Apache Software Foundation (ASF) under one
or more contributor license agreements. See the NOTICE file
distributed with this work for additional information
regarding copyright ownership. The ASF licenses this file
to you under the Apache License, Version 2.0 (the
"License"); you may not use this file except in compliance
with the License. You may obtain a copy of the License at
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.