| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
|
|
|
|
| |
QPID-2104: LVQ enhancement
These both required some refactoring of the Queue class to allow cleaner implementation of different types of behaviour. The in-memory storage of messages is now abstracted out behind an interface specified by qpid::broker::Messages which qpid::broker::Queue uses. Different implementations of that are available for the standard FIFO queue, priority queues and LVQ (I have also separated out the 'legacy' implementation of LVQ from the new version driven by QPID-2104).
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1069322 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
Added the extra state 'RESUMING', to ensure that any new session creation is delayed until the connection is able to reattach all existing sessions. If a connection is reconnecting then it will first go to RESUMING state (instead of OPEN) in connection-open-ok. Once the 'resume' method in Connection.java is completed the state will be set to OPEN.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1069159 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The commit made in rev 1068661 will only close and throw an exception if the user tries to invoke an action (Ex sending a message or calling commit) on the transactional session while failover is in progress (i.e session in detached state).
We also need to handle the case where the application is not doing anything during failover. But the application may still be in the middle of an uncommitted transaction. Therefore any session that is marked transactional should not be resumed.
This commit removes tranactional sessions and close them inside the 'resume' method in Connection.java
Any subsequent operation on this session will cause an exception being thrown, saying the session is closed.
However the exception doesn't really contain the reason, other than to say the session is closed.
The Java client in general needs a better error reporting scheme to convey more information to a client application.
That will be handled under a separate JIRA.
For the purpose of this JIRA the session being closed is good enough for the time being.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1069105 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1069102 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1069052 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
| |
when a Receiver is closed.
This only releases messages in the client's cache that have not been read. It does not release messages that have been read by the client application, but not acknowledged.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1069030 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1069029 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
versions of Swig.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1068956 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
cpp/configure.ac:
add tar-ustar to automake init options (name length > 99 fix)
create a makefile in bindings/qpid/dotnet
cpp/src/Makefile.am
add various windows-specific source files that have crept in
cpp/binding/qpid/Makefile.am
add the dotnet directory to subdirs list
cpp/bindings/qpid/dotnet/Makefile.am
EXTRA_DIST list of all the dotnet binding files
Requires a ./bootstrap and ./configure to take effect.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1068944 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1068719 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
The createSession method in Connection.java now waits until the connection state == OPEN before it actually sends the session-attach on the wire.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1068696 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
If the session is transactional, in the invoke method the session state is checked to see if it has dettached.
If so the session is removed from the internal map maintained by the connection object. This prevents it from being resumed.
An exception is also thrown notifying that failover may have happened in the middle of a transaction and the session is closed.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1068661 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
| |
Sporadically the test was failing because the session associated with
an inter-broker bridge was created out of order with other
objects. This is unlikely to cause a fatal cluster inconsistency in
practice but it has been corrected in any case. The fix was to delay
creation of the management object for a bridge session till a point
which is consistent on all cluster members.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1068554 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
until issue is fixed.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1068463 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
with maven.local.repo), generate poms into the scratch dir, make the artifacts a SNAPSHOT version by default (configurable with maven.snapshot), and tweak the SNAPSHOT output version naming not to be unique (configurable with maven.unique.version)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1068445 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
We will fix this bug in the C++ client messaging library rather than the broker.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1068417 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
| |
atomic QueueContext._releasedEntry. Race was between thread SubFlushRunner (or QueueRunner) executing method SimpleAMQQueue.setLastSeenEntry and the thread executing the MessageRelase command executing method SimpleAMQQueue.updateSubRequeueEntry. Bolstered the unit tests surrounding the area of change to reduce risk of regression. Overrode TestableMemoryMessageStore#close() to avoid a NPE during tearDown silently cluttering some unit test logs (including SimpleAMQQueueTest).
Applied patch from Keith Wall <keith.wall@gmail.com>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1068315 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
generated POMs, specify 'qpid' prefix to ensure correctly named poms + artifacts + dependencies, add project url to generated POM.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1068180 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
full POMs. Update the SLF4J, Derby, Felix dep info to match the jars currently in use.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1068179 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
modules during the release process
Applied patches from Emmanuel Bourg <ebourg@apache.org>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1068178 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
| |
is deleted.
Otherwise, these messages are not routed to an alternate exchange, and the queue is not actually deleted.
Resolves QPID-3040 / Red Hat BZ 674678.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1068042 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
class files, as the defaults can differ depending on the used compiler
Applied patch from Rajika Kumarasiri <rajika@wso2.com>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1067667 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
connection during connection handshake. Enable/make the 0-10 client use channel numbers 0 to N-1 in line with the spec, rather than 1-N.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1067210 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
regardless of a particular sessions existence
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1067208 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1067111 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
the permature termination of Qpid client threads.
Applied patch from Keith Wall <keith.wall@gmail.com>
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1067108 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
the QMFv2 interfaces:
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1067095 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1067091 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
| |
Fixed bug in the propagation of exceptions in query-processing.
Added user-id to messages sent by the console.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1067087 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1067067 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
problems in PDF.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066853 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066841 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066833 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
Enhanced the example agent to illustrate the raising of events.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066726 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
Note: This logic is getting a bit hairy, it should be replaced with a regular expression match.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066725 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
If a faulty client sent invalid frames to a connection that was not
yet in the open state, the broker would core dump.
The fix is to close the connection with a 'framing-error' in this case.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066661 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
forgot to put it back earlier.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066655 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066636 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066605 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
Instead of all short runs, use duration/4 for the first runs, then use 5 secs for remaining runs to get plenty of broker kills.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066599 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066594 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066581 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066564 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
1) Use the topic exchange as the base for direct and reply-to addresses.
2) Add a strict-security option to the Console and Agent APIs that narrows the messaging
patterns used such that they can easily be controlled by broker ACL policy.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066562 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
hard-coded the
assumed value of the "exchange" component of reply-to headers to either "amq.direct" or
"qmf.default.direct", depending on the circumstance.
This commit fixes this such that message replies are sent to the exchange/key pair supplied
in the reply-to header.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066557 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
cert-name.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066508 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Management was using remote socket address (host:port) to identify
connections, but this is not a unique identifier. Both the local and
remote addresses are needed to uniquely identify a connection - see
http://www.faqs.org/rfcs/rfc793.html.
This was causing management errors (multiple objects using same
identifier) and cluster failures (invalid-arg exception) due to
inconsistencies caused by the incorrect management map.
This commit uses "localhost:localport-remotehost:remoteport" as a unique identifier.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066220 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
Also moved regex compilation out of the loop to be more efficient.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066219 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
| |
UpdateClient::consumerNumbering
Holding shared pointers in UpdateClient::consumerNumbering can hold
consumers in memory and delete them out of sync with other cluster
members. Made it hold plain pointers instead since we don't actually
need to ensure object liveness, we're just doing an address/number
correspondence.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066217 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
| |
A few frames are sent in cluster-unsafe contexts, e.g. heartbeat timer
callbacks and during initial connection negotiation. Don't update the
connection's management counters in these contexts to avoid
inconsistent management data in a cluster. There are very few such
frames so this does not unduly distort the management data.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1066215 13f79535-47bb-0310-9956-ffa450edef68
|