| Commit message (Collapse) | Author | Age | Files | Lines |
| |
|
|
|
|
| |
to their own git repositories
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1751566 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Removed _IN_QPID_BROKER compile definition:
Inconsistently set for libqpidcommon (compiled .cpp files) and libqpidbroker (uses .h) files
- The broker has a binary incompatible notion of what is in the library.
It sort-of works by accident:
- shared_ptr<T> only contains a T*, the mismatch is effectively doing reinterpret_cast<T*>
- plain T* works for op->, but doesn't guarantee no concurrent deletes.
- we create and destroy shared_ptr in libraries with _IN_QPID_BROKER set so
we get cleanup, and no cores if we're lucky but there is limited protection from races.
Was only used by management:
- I think exposing non-shared ptr GetObject was a feature that never materialized,
- if not we need a separate function or class for non-shared-ptr users.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1749781 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
| |
- Adjust environment script for windows paths
- Pythonify the test runner for the windows store tests
- Run the HA tests only on posix systems
- Remove a finicky assertion in brokertest.py
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1746375 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
tools and extras
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1740289 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
- This is already the way we do this stuff in Qpid Proton
- Upgrade minimum version of CMake to 2.8.7
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1735324 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
two-hyphen to one. Fixes QPID-6399.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1667349 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
Implements the "transactional retire and settle immediately" option for
transactions as specified in AMQP 1.0 in the qpid::messaging C++ client.
NOTE: Transactions over AMQP 1.0 require proton 0.9 or greater. With older
versions, attempting a transactions over AMQP 1.0 will raise a link-detached
exception "Node not found: tx-transaction"
1. Added descriptor list to Variant with support in Encoder and PnData.
Required to support transactions, need to be able to create described lists.
Variant changes are source and binary compatible.
A Variant now has a Variant::List of descripors which can be numeric or string.
Nested descriptors are implemented by putting multiple descriptors in the list.
Other minor changes:
- Variant refactor: don't delete impl on every assignment.
- Add Variant constructors that take a string encoding.
(new constructors, not defaulted arguments, so the change is binary and source compatible.)
- Growable buffer support for Encoder.
- Printing described Variant prints descriptors in form @descriptor value
2. Added transaction support to AMQP 1.0 client code
Added messaging/amqp/Transaction.h,cpp: transaction logic
- communicate with coordinator, send declare/dischange messages.
- add tx state info to transfers and acknowledgements.
- Sync session after discharge.
- A transactional session automatically acks any message retrieved by fetch/get
to bring them into the transaction. This is consistent the 0-10 client.
Minor fixes to existing client code:
- Fix use of pn_drain API in C++ client to work with C++ and Java brokers.
- Make amqp::Exception derive from qpid::Exception
3. Fixes to existing broker code:
- Incoming.cpp fix: start async completion before processing message.
- Delay accept of dischage message till commit is complete.
- newSession - handle failover during session creation.
4. Added tests
interop_tests.py: transaction tests that can run against an external broker, see comments.
ha_tests.py: Enable transaction tests over AMQP 1.0.
Minor test fixes:
- brokertest.py don't set default logging if QPID_LOG env vars set.
- brokertest.py Pass kwargs to broker() create function.
- qpid-receive: capacity should never be larger than message count.
- Accept user:pass as well as user/pass in Url.
- brokertest.py: Always do a ready() check on all brokers.
If proton < 0.9 is used, transaction tests will be skipped or will downgrade to
the amqp0-10 protocol with a printed warning.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1662743 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
Original patch by Gordon Sim.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1656505 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1610959 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This commit adds:
* Acl rule file "create connection host=hostname" support for allowing and denying connections.
* AclHost class to represent a host specified in the rule file.
* Global and user-specific lists of AclHost rules. Created by AclReader and consumed by AclConnectionCounter.
* Address range checks and other giblets in SocketAddress:
** asString support to hide IPv6 decoration and service (port) details.
** binary comparison of network addresses.
** new firstAddress function to complement existing nextAddress. Socket addrinfo for AclHost objects is computed once only for lifetime of Acl file load.
** Posix and Windows implementations are identical.
* New unit test for address comparisons. Testing a live broker is great but forcing connections to be from some arbitrary IPv4 or IPv6 address is hard. So there's a unit test for that.
Further discussion about this feature is in https://reviews.apache.org/r/23322
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1610874 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
* make single instances of strings associated with enums
* make more compact search functions
* make string definitions const
* return 'const string&' instead of copies of temporaries
* add self test as string defs sanity check
* export AclHelper to satisfy tests (!!)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1609828 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
txtest using messaging API
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1609748 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
qpid/Options.h
- The intent here is to remove the necessity for things using qpid::Options to
need to link boost::program_options directly.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1602021 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
This reverts most of commit r1574138. The changes were intended to simplify
handling of setup.py by letting it detect when things were out of date,
but even when there are no changes setup.py does touch some files:
changing mode of /home/andrew/Work/qpid/bld-ninja/src/tests/python/commands/qpid-python-trunning install_egg_info
removing /home/andrew/Work/qpid/bld-ninja/src/tests/python/qpid_python-0.27-py2.7.egg-info
writing /home/andrew/Work/qpid/bld-ninja/src/tests/python/qpid_python-0.27-py2.7.egg-info
This commit restores the previous logic that avoids running setup.py if not needed
but retains the if (EXISTS ${python_src}) check to avoid all this logic if
there is no python source directory available.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1574656 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1574138 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
The qpid::messaging AMQP 1.0 protocol logging did not give clear information
about reconnection during failover.
This patch simplifies the reconnect logic by collapsing all known addresses from
broker URL and reconnect URLs into a single URL with no duplicates.
It rationalizes the info and notice logging as follows:
# Initial connection with multiple addresses, info logs show the
# full URL, each attempt to connect and the finally connected address.
[Messaging] info Starting connection to amqp:tcp:20.0.10.33:5672,tcp:20.0.10.34:5672,tcp:20.0.10.35:5672
[Messaging] info Connecting to tcp:20.0.10.33:5672
[Messaging] info Failed to connect to tcp:20.0.10.33:5672
[Messaging] info Connecting to tcp:20.0.10.34:5672
[Messaging] info Failed to connect to tcp:20.0.10.34:5672
[Messaging] info Connecting to tcp:20.0.10.35:5672
[Messaging] info Connected to tcp:20.0.10.35:5672
# Re-connection due to a failure. notice logs for the start of reconnection (with full URL)
# and eventual sucess (with individual address). info logs for individual connection attempts.
[Messaging] notice Auto-reconnecting to amqp:tcp:20.0.10.33:5672,tcp:20.0.10.34:5672,tcp:20.0.10.35:5672
[Messaging] info Connecting to tcp:20.0.10.33:5672
[Messaging] info Failed to connect to tcp:20.0.10.33:5672
....
[Messaging] info Connected to tcp:20.0.10.33:5672
[Messaging] notice Auto-reconnected to amqp:tcp:20.0.10.33:5672
The idea here is that there are no logs by default (info is not on by default)
for "normal" behavior, but failover does get a (short) notice log by default.
By turning on info logs you can follow the detailed blow-by-blow of failover
without getting drowned in the detail of debug logs.
Note that final failure to connect is signalled to the application via an exception.
There was not previously any log message for that and I didn't add one.
Additional changes: updated qpid-ping test client to use the messaging library.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1570231 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
| |
channels.
Fix link error (incorrect libraries listed) in ha_test_max_queues on windows.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1561754 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
channels.
The problem:
- create cluster of 2 brokers.
- create more than 32768 queues (exceeds number of channels on a connection)
- backup exits with critical error but
- client creating queues receives no error, primary continues with unreplicated queue.
The solution: Primary raises an error to the client if it attempts to create
queues in excess of the channel limit. The queue is not created on primary
or backup, primary and backup continue as normal.
In addition: raised the channel limit from 32k to 64k. There was no reason for
the smaller limit. See discussion: http://qpid.2158936.n2.nabble.com/CHANNEL-MAX-and-CHANNEL-HIGH-BIT-question-tp7603121p7603138.html
New unit test to reproduce the issue, must create > 64k queues.
Other minor improvements:
- brokertest framework doesn't override --log options in the arguments.
- increased default heartbeat in test framework for tests that have busy brokers.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1561206 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
| |
- So just after the previous checkin Gordon changed the python
code. This made me think that the python install needs to have
the dependencies!
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1561130 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
| |
- Use an intermediate build area in the build area not in the source.
-- With this change the source tree is now completely untouched during
a build.
- Fiddle with CMake so that the python install into the build area doesn't
happen on every build.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1560851 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
| |
- Don't use uuid_compare() as it will get the wrong version of the
function under FreeBSD which has a uuid library build into libc with
different function signatures from libuuid but some overlapping names.
- Reorganise the uuid code to limit the used external symbols to uuid_generate(),
uuid_parse(), uuid_unparse()
- Minimise the framing::Uuid code so that it is a simple wrapper around types::Uuid
- Use uuid_generate() as the symbol to search in CMake (uuid_compare() isn't used
in qpid anymore).
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1559017 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
| |
qpid-send/qpid/receive are useful utilities in their own right and
not just used for testing so install them in an easily accessible
location.
Patch from Irina Boverman
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1558193 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
| |
Previosly the qpid/python code was being installed only during cmake
configuration phase and was not updated if the python code changed later. Added
a custom target to run setup.py whenever make is run. setup.py is smart enough
not to do un-necessary work if the python files have not changed.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1555989 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1555202 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1549638 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1541766 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
Using getopt with long options is a gnu extension and so best avoided
for portability reasons.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1541764 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
this makes it much easier not to call the python testing code
when it isn't available
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1541241 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
- This meshes nicely with the Jenkins CI system which can better
display tests results generated in XML.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1539686 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1539511 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
| |
Add options to run_test script:
--working-dir - run the test in this directory
--build-dir - set the top of the build tree
--source-dir - set the top of the source tree
--python - run a python test
--start-broker - start/stop broker before and after test
--broker-options - allow non default broker options
Remove a bunch of now obsolete testing related scripts
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1539510 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1538656 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
* Move to cmake 2.6 as minimum required version
(2.4 is extremely long in the tooth now)
* Add control over building individual language bindings
* Make settings you don't usually want to change advanced
so they are hidden by default
* Changed to a uniform naming scheme for options:
** Options controlling what to build are all BUILD_
** Options controlling features of he build are ENABLE_
** Options controlling internal aspects of the qpid runtime are QPID_
* Respect the BUILD_TESTING option so that we won't build the
tests unless it is set (it is by default)
* If we don't find the boost_unit_test_framework then don't fail,
just don't build the unit tests (this is motivated by one of the
Apache Jenkins ubuntu builders which has this set up)
* Tidied up some of the detection of external dependencies to make it
more idiomatic cmake (but there is more to do here)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1536329 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
separately
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1535750 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
[also remove unused files]
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1535398 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
| |
- Use -as-needed to link libraries to avoid unnecessary libraries
- Tidyup mess with nss and qpid-proton libraries
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1519866 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
On primary a PrimaryTxObserver observes a transaction's TxBuffer and generates
transaction events on a tx-replication-queue. On the backup a TxReplicator
receives the events and constructs a TxBuffer equivalent to the one in the
primary.
Unfinished:
- Primary does not wait for backups to prepare() before committing.
- All connected backups are assumed to be in the transaction, there are race
conditions around brokers joining/leavinv where this assumption is invalid.
- Need more tests.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1509423 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
| |
Added TransactionObserver interface, called at each point in a transaction's
lifecycle. Currently only a single observer can be associated with a
transaction.
Added startTx, startDtx to BrokerObserver so plugins can observe transactions
starting and set a TransactionObserver.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1509421 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
QPID-4941: Remove qmf1 console examples
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1507467 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1503652 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
|
| |
qpidd-p0 script binds a new port to a socket using bind(0), and then
execs qpidd using the --socket-fd option to pass the socket to qpidd.
It is intended to replace
/path/to/qpidd --port 0 <args...>
with
qpidd-p0 /path/to/qpidd <args...>
Most tests do not yet use qpidd-p0, they will be updated in a future commit.
Changes:
- Added qpidd-p0
- Fixed qpidd port printing logic: print port only if --port=0, regardless of --transport.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1494306 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
Build was failing with "sasl_test_setup.sh not found", added an explict path.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1494305 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1493903 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1493267 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1493264 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
|
|
| |
The stop_broker test was being run without the test_wrap wrapper. That meant it
was loading the default /etc/qpidd.conf, so the test would fail if that config
had any options defined by a module (since the tests dont load default modules.)
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1487501 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1485836 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
|
|
| |
It was too easy to forget the store tests in a separate file.
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1482023 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1477979 13f79535-47bb-0310-9956-ffa450edef68
|
| |
|
|
| |
git-svn-id: https://svn.apache.org/repos/asf/qpid/trunk@1477236 13f79535-47bb-0310-9956-ffa450edef68
|