GitHub user ChugR opened a pull request:
https://github.com/apache/qpid-dispatch/pull/168
crolke dev annotations - work in progress PR for review
**DO NOT COMMIT THIS PULL REQUEST** It is for review only.
This work adds a new annotation scheme for inter-router annotations. The
old method put a variable number (0..4) of key-value pairs into the message
annotations map at the end of the map. The new method puts in a single list of
four elements at the beginning of the message annotations map.
In order to be backwards compatible there is some amount of version sensing
and translating between annotation formats. This could be improved in a number
of ways.
This commit still fails two self tests: system_tests_one_router and
system_tests_two_routers in their annotation handling sections. The V1 vs V2
annotation feature is not tested much at all. That is in the works after the
general strategy is approved.
You can merge this pull request into a Git repository by running:
$ git pull https://github.com/ChugR/qpid-dispatch crolke-dev-annotations
Alternatively you can review and apply these changes as the patch at:
https://github.com/apache/qpid-dispatch/pull/168.patch
To close this pull request, make a commit to your master/trunk branch
with (at least) the following in the commit message:
This closes #168
----
commit b3018514a09419f2bec669b50c7ac9178d8db5b4
Author: Chuck Rolke <[email protected]>
Date: 2017-05-18T19:45:39Z
Add v2 annotation message variables
commit 3f6fef7075456034c28e6ad5c29f9203db8d37c0
Author: Chuck Rolke <[email protected]>
Date: 2017-05-18T19:49:32Z
fix typo in comment
commit eb87c3a99ddece5545e93be14ba875d2c00566dd
Author: Chuck Rolke <[email protected]>
Date: 2017-05-18T19:50:06Z
add v2 annotation map key string
commit d050adc61c4d6682b569ab6c3a3eca715e3ad0a4
Author: Chuck Rolke <[email protected]>
Date: 2017-05-22T20:05:26Z
Slice router annotations from head of incoming message annotations.
Reorganize data fields in message content.
commit 5d440a385338427eb8c30132e0cc3cb3db0c0d4f
Author: Chuck Rolke <[email protected]>
Date: 2017-05-24T22:09:31Z
Further progress on new annatation scheme
Add accessors for private content fields
Add compose_annotations
Add router_annotate_message
Add AMWQP_rx_handler
commit c69304180466535ebabc9c74c6a4436a6a5ea731
Author: Chuck Rolke <[email protected]>
Date: 2017-05-26T21:36:18Z
Get new scheme limping along. ANNO v2 runs at 1.54x over v1 with no
annotations.
Still has an issue with user annotations.
commit c11b667a7b3040883a98e8cb7f2b556018172c17
Author: Chuck Rolke <[email protected]>
Date: 2017-06-01T14:14:10Z
Running test code with new scheme
still has self-test case fails and no new tests
send delivery annotations if present. Future jira
Fix size vs capacity bug
parse annotations after copy
commit 6ecdd9585e378a59960ed4618bc5114e378ce99f
Author: Chuck Rolke <[email protected]>
Date: 2017-06-01T17:18:08Z
Bugfix: don't clobber the cursor
commit ba1f7239c471dc685417a060e5709cd51236b5ef
Author: Chuck Rolke <[email protected]>
Date: 2017-06-01T20:20:07Z
Avoid making copies of user annotations.
Instead refer to them in-place in original received message.
commit da89a162306c788f1ab278e46f07999759182d9e
Author: Chuck Rolke <[email protected]>
Date: 2017-06-01T20:36:42Z
Improve comments
commit eddcf103e4d1dc61735c948ef840105be658f9a4
Author: Chuck Rolke <[email protected]>
Date: 2017-06-01T20:42:23Z
Remove debug scaffolding
commit 460c51ba40b12c248bafb74b53b86c8cc1ddcd8e
Author: Chuck Rolke <[email protected]>
Date: 2017-06-05T17:25:36Z
Run either message annotation scheme based on sensed version.
Always choose v2 unless the connection is to a router running
version "0*" code.
commit 7f9680435ddc45eb17cea0f556d68748facfd531
Author: Chuck Rolke <[email protected]>
Date: 2017-06-05T20:09:39Z
Fix annotation tests to use new scheme.
The old annotations are switched out.
TODO: Make annotation scheme testable for all variations of old
and new both going in and coming out.
commit 19a0f3ddbeb7230194c833e7446883766c22198e
Author: Chuck Rolke <[email protected]>
Date: 2017-06-05T21:02:58Z
Tidy up one- and two-router annotation tests
commit f4b35f0cc274e5c137566aa57e5d4ccc93598ea8
Author: Chuck Rolke <[email protected]>
Date: 2017-06-20T17:41:59Z
Restructure the new feature more carefully
All tests pass except system_test_one_router and _two_routers.
Time for some review
----
---
If your project is set up for it, you can reply to this email and have your
reply appear on GitHub as well. If your project does not have this feature
enabled and wishes so, or if the feature is enabled but not working, please
contact infrastructure at [email protected] or file a JIRA ticket
with INFRA.
---
---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]