gtully
29b833fe8e
fix shadowing and ensure close of connection, ci...
2016-05-26 11:30:32 +01:00
gtully
fe9d99e7a0
AMQ-3166 - implement rollbackOnlyOnAsyncException such that async exceptions on transactional sends or acks result in the transaction being marked rollback only and commit failing with an exception. Test that shows current state of play using alwaySendSync or AsyncCallback. rollbackOnlyOnAsyncException enabled by default.
2016-05-25 11:24:43 +01:00
gtully
b4e35fe8a3
AMQ-4181 - revert mod to testQueueBrowserWith2ConsumersInterleaved which cause intermittent ci failure - browse is a snapshot at time of creation. tidy up some gaps in pagein logic sync
2016-05-23 13:29:39 +01:00
Timothy Bish
0883011147
Fix data dir path change that shouldn't have been committed with the
...
other fixes.
2016-05-18 11:02:14 -04:00
gtully
c2230fda4b
https://issues.apache.org/jira/browse/AMQ-6286 - refine fix to distinguish multiple consumers in a transaction, verify insertion at head will preserve order
2016-05-18 10:09:39 +01:00
Timothy Bish
2c3046b816
Fix test timing out on slow spinning disks.
...
On a local drive with heave I/O this test took over 2.5 minutes to
complete, CI machines can see similar times, bumped timeout to 5 minutes
to account for this range.
2016-05-17 13:00:56 -04:00
Christopher L. Shannon (cshannon)
1241e4120a
https://issues.apache.org/jira/browse/AMQ-6293
...
Fixing Queue destination statistics in dropMessage by adding sync in
between the check for dropped and actually dropping the message plus
fixing dequeue stats so messages aren't counted twice
2016-05-14 16:20:41 +00:00
Timothy Bish
b9334960e0
Add some additional time to the wait for completion assert. On a
...
sufficiently loaded system 30s is not quite enough. This is
reproducable if run while a heavily I/O based application is also
running in the background.
2016-05-13 12:50:13 -04:00
Christopher L. Shannon (cshannon)
d3ea5c4f9f
https://issues.apache.org/jira/browse/AMQ-5621
...
Fixing LinkStealingTest by adding a wait because removeConnection
may not have been called yet when checking if the removeException
exists the first time
2016-05-10 11:44:17 +00:00
gtully
604f707d4d
https://issues.apache.org/jira/browse/AMQ-6286 - refactor insertAtHead from pendinglist to ordered variant
2016-05-10 11:45:27 +01:00
gtully
f47b370573
https://issues.apache.org/jira/browse/AMQ-6286 extend strictOrderDispatch to retain order of redispatched messages for a single consumer
2016-05-09 23:06:19 +01:00
Timothy Bish
6cf8bed0c5
https://issues.apache.org/jira/browse/AMQ-5621
...
Update test with additional checks and logging to try and see what is
happening when it is failing in CI.
2016-05-09 16:57:39 -04:00
gtully
9fc2661049
validate selector aware vt can give topic semantics by dropping messages when there is no consumer. Do selector cache plugin once to avoid adaptor check on each dispatch
2016-05-06 17:12:15 +01:00
Timothy Bish
5009b0c03b
https://issues.apache.org/jira/browse/AMQ-6247
...
Allow the provider position to be read from the system.
2016-05-06 09:37:51 -04:00
Timothy Bish
5096463b00
https://issues.apache.org/jira/browse/AMQ-6281
...
Deprecate the copyMessage option and remove usage, always copy a
forwarded message.
2016-05-05 12:59:29 -04:00
Quinn Stevenson
1ccd17791b
AMQ-6274 - set originalDestination for composite destinations
...
This closes #184
2016-05-05 11:38:48 -04:00
Timothy Bish
a28a091c55
https://issues.apache.org/jira/browse/AMQ-6264
...
Fire advisory for slow consumer outside the pending lock.
2016-05-04 16:32:01 -04:00
Christopher L. Shannon (cshannon)
297eadf746
https://issues.apache.org/jira/browse/AMQ-6267
...
Added two new properties for configuration to a network bridge,
advisoryPrefetchSize and advisoryAckPercentage. By default
advisoryPrefetchSize is set to 0, which is disabled, and will use the
prefetchSize value unless otherwise set. Also added validation to
prefetchSize to make sure it is greater than 0 as 0 is not allowed.
2016-04-27 14:11:05 +00:00
Timothy Bish
8031d77f98
https://issues.apache.org/jira/browse/AMQ-6251
...
Make field volatile since it is written to outside of any locks and read
both in and out of locking.
2016-04-26 10:04:21 -04:00
Christopher L. Shannon (cshannon)
11622b3af3
https://issues.apache.org/jira/browse/AMQ-6256
...
Moving beforeMarshall back to the store implementations because we don't
want all store implementations to marshall (such as memory store)
This reverts commit b9b98a45ce
.
2016-04-18 12:34:25 +00:00
Christopher L. Shannon (cshannon)
9c8bd3360f
https://issues.apache.org/jira/browse/AMQ-6222
...
Reverting the change to move clearMarshalledState into the callback
listener as beforeMarshall is now called before the async message add
Revert 75990ef14a
2016-04-18 11:49:16 +00:00
Christopher L. Shannon (cshannon)
b9b98a45ce
https://issues.apache.org/jira/browse/AMQ-6256
...
Moving beforeMarshall call out of the store and into the actual
destination
2016-04-15 14:17:00 +00:00
Timothy Bish
19fd084a83
https://issues.apache.org/jira/browse/AMQ-6252
...
Update for some added thread safety. Adds method healthStatus that will
regenrate the status from the healthList data which is more intuitive
than the getCurrentStatus which doesn't update state and requires
periodic calls to healthList to capture current metrics.
2016-04-14 16:53:17 -04:00
Timothy Bish
f9682b802f
https://issues.apache.org/jira/browse/AMQ-6127
...
LOG at info level for when broker is being stopped and a new connection
is not being accepted.
2016-04-12 16:28:23 -04:00
Timothy Bish
c1b58d3373
https://issues.apache.org/jira/browse/AMQ-6239
...
Refactor the iterator implementation in the PrioritizedPendingList to
not copy elements and instead use the level iterators. Add some
additional tests.
2016-04-12 11:35:03 -04:00
gtully
2a8218a9a8
https://issues.apache.org/jira/browse/AMQ-6151 - retain list for redeliveries and combine for dispatch/iteration such that redeliveries retain per priority order after prefetch
2016-04-06 15:09:36 +01:00
gtully
a3a8c1c525
https://issues.apache.org/jira/browse/AMQ-6215 - support 0 maxBrowsePageSize and maxExpirePageSize such that lazyDispatch ensures highest priority messages is available to a pull consumer
2016-04-05 13:23:06 +01:00
Christopher L. Shannon (cshannon)
b2327db3b7
https://issues.apache.org/jira/browse/AMQ-6133
...
Disabling async queue message store when persistJMSRedelivered is turned
on for a destination. That flag will cause a sync update later on
dispatch which can cause a race condition if the original message add is
processed after the update. This can cause a duplicate message to be
stored.
2016-04-01 16:40:45 +00:00
Timothy Bish
48ba714b30
https://issues.apache.org/jira/browse/AMQ-6210
...
Clean up and apply filtering for temp destinations to removeConsumer as
well.
This closes #175
2016-03-28 14:40:00 -04:00
Timothy Bish
f3ecc293f0
https://issues.apache.org/jira/browse/AMQ-6210
...
Don't cache selectors for temp destinations.
2016-03-28 14:34:20 -04:00
Timothy Bish
c53b99c14d
NO-JIRA Fix test such that the broker ports are selected dynamically
...
instead of hardcoded.
2016-03-23 10:23:10 -04:00
Christopher L. Shannon (cshannon)
75990ef14a
https://issues.apache.org/jira/browse/AMQ-6222
...
Moving clearedMarshalledState execution to the async listener on an
async add to the message store. This is necessary to make sure this
logic doens't execute until after the message is marshalled for the
store.
2016-03-22 17:54:13 +00:00
Dejan Bosanac
a4c748883a
https://issues.apache.org/jira/browse/AMQ-6211 - synchronize creating of jmx composite types
2016-03-14 17:10:13 +01:00
gtully
ae441cbc7d
https://issues.apache.org/jira/browse/AMQ-6208 - fix and test
2016-03-11 12:01:18 +00:00
Christopher L. Shannon (cshannon)
a2781e3966
https://issues.apache.org/jira/browse/AMQ-6204
...
Fixing the removal logic on virtual destination remove inside of
Advisory Broker to clean up virtual destination maps properly. Added a
test to verify. Also added new debug logging to help track down any
future issues.
2016-03-09 19:54:08 +00:00
Timothy Bish
8b23e072ee
https://issues.apache.org/jira/browse/AMQ-5785
...
Avoid holding the intrinsic lock on the cursor when expiring the
messages.
2016-03-08 13:37:58 -05:00
gtully
078f39f589
https://issues.apache.org/jira/browse/AMQ-6199 - apply CursorMemoryHighWaterMark to topic subscriptions
2016-03-08 16:45:06 +00:00
gtully
67ae2bd8a4
https://issues.apache.org/jira/browse/AMQ-6070 - fix npe in org.apache.activemq.usecases.ExpiredMessagesWithNoConsumerTest#testExpireMessagesForDurableSubscriber
2016-03-07 16:44:33 +00:00
gtully
13ec994939
Revert " https://issues.apache.org/jira/browse/AMQ-4495 - revisit. Reinstate check for space on pagein, so that highWaterMark is respected and full state is not reached, hense pfc is not triggered in error"
...
This reverts commit d8cf54b0a9
.
2016-03-07 16:26:25 +00:00
Christopher L. Shannon (cshannon)
903dec615c
https://issues.apache.org/jira/browse/AMQ-6194
...
Fixing an issue that caused statistics for a transactional temporary
queue to be updated twice by mistake. Moved the statistics update into
tryOrderedCursorAdd so that the update is called immediately only if
not inside a transaction.
2016-03-07 14:15:35 +00:00
gtully
d8cf54b0a9
https://issues.apache.org/jira/browse/AMQ-4495 - revisit. Reinstate check for space on pagein, so that highWaterMark is respected and full state is not reached, hense pfc is not triggered in error
2016-03-01 11:44:41 +00:00
Brian D. Johnson
552c0f0f7a
https://issues.apache.org/jira/browse/AMQ-6188 - reset BaseDestination.lastActiveTime each time a message is delivered to the broker.
2016-02-26 20:46:32 +00:00
Timothy Bish
c2ad0c3251
AMQ-6183 Add isDispatchSync to the subscription view and deprecate the
...
meaningless one in the producer view
2016-02-24 17:25:01 -05:00
Jeff Genender
49974279a7
AMQ-6175 - Web console needs to only obtain lists of MBeans that are not
...
suppressed.
2016-02-18 14:25:30 -07:00
gtully
b0c0441d09
https://issues.apache.org/jira/browse/AMQ-6171 - fix vm transport replacement of : from brokerName in error, fix networkConnector retry logic in the event of localTransport creation failure
2016-02-15 14:14:19 +00:00
gtully
499e39e52c
https://issues.apache.org/jira/browse/AMQ-6164 - allow journal write batching on a single destination
2016-02-09 12:50:27 +00:00
Timothy Bish
386210fafe
https://issues.apache.org/jira/browse/AMQ-6159
...
Ensure proper repeat counts are scheduled.
2016-02-04 17:16:58 -05:00
Christopher L. Shannon (cshannon)
33dded13df
https://issues.apache.org/jira/browse/AMQ-6036
...
Slight refactoring to make the WildcardFinder class use a static method
so that we don't have to allocate throw away objects that will
immediately be garbage collected.
2016-02-04 16:53:02 +00:00
Patrik Dudits
278d29dadc
https://issues.apache.org/jira/browse/AMQ-6036
...
Parsing message selector for wildcard matches for ignoreWildcardSelectors feature
2016-02-04 16:51:51 +01:00
gtully
c17b7fdc7f
add trace level log to shared file locker keepAlive
2016-02-04 13:28:59 +00:00
Marc Breslow
4a937def7d
Fix Impossible Cast issues in MemoryTopicSub:
...
- recoverSubscription()
-- map is defined as LinkedHashMap<MessageId, Message>
-- msg is defined as <map> entry.getValue() so must be a Message
-- condition if (msg.getClass() == MessageId.class) could never be true
-- no need to cast at all when using generics
- recoverNextMessages()
-- basically same code copy/pasted so same fix
Removed 2 conditions from ServerSessionPoolImpl that would result in impossible casts. Conditions removed were trying to cast ActiveMQQueueSession and ActiveMQTopicSession to ActiveMQSession which is illegal.
Since it isn't obvious what to do if you get an ActiveMQQueueSession or ActiveMQTopicSession from getServerSession() I make it fall back to the else condition which raises an async exception. This is better than getting a ClassCastException at runtime.
Remove impossible cast in MemoryMessageStore
2016-02-01 12:57:50 +00:00
gtully
5af5b59d3b
https://issues.apache.org/jira/browse/AMQ-6151 - respect prioritizeMessages for pending and redelivered messages
2016-02-01 12:19:49 +00:00
Daniel Kulp
a772b0ef72
Remove a printStackTrace for an exception that is also logged. Produces noise on console
2016-01-27 10:06:36 -05:00
Timothy Bish
4ecff14030
NO-JIRA Update master version to 5.14.0-SNAPSHOT to match the eventual
...
release version.
2016-01-20 12:40:20 -05:00
Christopher L. Shannon (cshannon)
7b7e362465
https://issues.apache.org/jira/browse/AMQ-6129
...
fixing typo
2016-01-15 15:09:37 +00:00
Christopher L. Shannon (cshannon)
10c998b0bc
https://issues.apache.org/jira/browse/AMQ-6129
...
Adding NetworkBridgeStatistics and also a received count for bridges
when they are in duplex mode.
2016-01-15 14:54:04 +00:00
gtully
2b84cd60ba
https://issues.apache.org/jira/browse/AMQ-6128 - fix and test - fix values on priority ordered pending - messages assigned to browsers need to be ordered
2016-01-15 14:31:09 +00:00
Timothy Bish
505a76a8bb
https://issues.apache.org/jira/browse/AMQ-6059
...
Ensure that a message sent to the store for the DLQ is rewritten so that
its updated values are written to prevent exirpation loops and loss of
reollback cause etc.
2016-01-12 11:51:48 -05:00
Timothy Bish
66cfc7bab3
AMQ-6121
...
AMQ-6122
Prevent messages on DLQ for looping back onto the same DLQ. Prevents
expired messages from bouncing back and duplicate messages from the
store from causing a deadlock.
2016-01-11 10:57:38 -05:00
Altaflux
3bb7e4a5c8
Network of brokers on duplex mode reports InstanceAlreadyExistsException on already existing destinations
...
https://issues.apache.org/jira/browse/AMQ-6052
closes #164
2016-01-11 12:59:33 +00:00
Altaflux
6b1e87410d
Network of brokers on duplex mode reports InstanceAlreadyExistsException on already existing destinations
2016-01-11 12:59:33 +00:00
Dejan Bosanac
5f8a3df5a4
https://issues.apache.org/jira/browse/AMQ-6116 - improve security context
2016-01-08 17:05:58 +01:00
gtully
e3df09b9db
https://issues.apache.org/jira/browse/AMQ-6094 - regression via https://issues.apache.org/jira/browse/AMQ-6014 - incorrect ref count on message expiry event during cursor move for dispatch. Fix and test - thanks for the test
2016-01-05 14:09:16 +00:00
Timothy Bish
8906a53ae5
https://issues.apache.org/jira/browse/AMQ-6105
...
Remove deprecated methods from JMX tree
2015-12-22 13:33:36 -05:00
Timothy Bish
564d55023e
https://issues.apache.org/jira/browse/AMQ-6102
...
Call to the statistics instance of the subscription to reset the
counters.
2015-12-21 17:03:24 -05:00
Dejan Bosanac
4e63ee7cc7
https://issues.apache.org/jira/browse/AMQ-6100 - Virtual topic message destination should be the target queue
2015-12-21 15:19:22 +01:00
Timothy Bish
46654b2dee
https://issues.apache.org/jira/browse/AMQ-6093
...
Remove deprecated URL accessors from BrokerViewMBean
2015-12-17 13:55:08 -05:00
Christopher L. Shannon (cshannon)
a253ad3c71
https://issues.apache.org/jira/browse/AMQ-6091
...
The JavaRuntimeConfigurationBroker can now apply a subset of policy
properties retrospectively to existing destinations versus applying
all properties of the policy update.
2015-12-17 14:35:50 +00:00
gtully
455a628305
https://issues.apache.org/jira/browse/AMQ-6086 - avoid logging npe on attempted start of persistence adapter post stop
2015-12-14 16:32:10 +00:00
gtully
35df815fb8
https://issues.apache.org/jira/browse/AMQ-6086 - start exception can prevent stop from exiting fully, need to be more selective in creation on stop.
2015-12-14 15:40:05 +00:00
gtully
da076f4a63
https://issues.apache.org/jira/browse/AMQ-6086 - add some determinism to interleaved stop and start calls on broker service
2015-12-11 16:22:31 +00:00
gtully
93092f7ea0
https://issues.apache.org/jira/browse/AMQ-6070 - rework regression - KahaDBStoreRecoveryExpiryTest had NPE in the logs, region dest not set on recovery listener for expiry case
2015-12-11 15:27:28 +00:00
gtully
768fa17085
https://issues.apache.org/jira/browse/AMQ-6005 - have plist whack it existing state on start. Start the temp store after the primary persistence adapter which does the locking
2015-12-10 14:24:03 +00:00
gtully
d7febddb67
https://issues.apache.org/jira/browse/AMQ-6084 - add broker.adjustUsageLimits to disable the adjustment of limits to what is available. In this way, a broker will fail to start if constrained, ensuring it won't accept connections and block pending resources if it has earlier exited for that reason
2015-12-10 11:23:56 +00:00
Christopher L. Shannon (cshannon)
5772e7bed8
https://issues.apache.org/jira/browse/AMQ-6080
...
fixing typos
2015-12-08 13:18:11 +00:00
gtully
88ec9dad9d
https://issues.apache.org/jira/browse/AMQ-5454 https://issues.apache.org/jira/browse/AMQ-6070 - in the case of duplicates from the store the regiondestination was not set
2015-12-08 11:25:50 +00:00
gtully
179dc3acb2
https://issues.apache.org/jira/browse/AMQ-6070 - rework for virtual topic case, use the destination from the transient region destination rather than the message, such that consumer queue advisories work for delivered etc
2015-12-08 11:05:25 +00:00
gtully
75ff17af41
https://issues.apache.org/jira/browse/AMQ-6070 - set correct originalDestination property value in advisories
2015-12-03 12:14:18 +00:00
Christopher L. Shannon (cshannon)
d346a765e3
https://issues.apache.org/jira/browse/AMQ-6062
...
Updated QueueBrowserSubscription to use a ConcurrentMap to avoid a
potential race condition when multiple queue browsers browse
multiple queues.
2015-12-02 15:51:55 +00:00
Christopher L. Shannon (cshannon)
8363c99b51
https://issues.apache.org/jira/browse/AMQ-6069
...
Fixed contains method in PrioritizedPendinList which was not returning
correctly. This was causing messages to not be removed from the
dispatchPendingList when purge was called inside a Queue leading to an
eventual OOM error if enough messages were purged. This fix also
improves performance of the contains method.
2015-12-02 13:24:32 +00:00
Christopher L. Shannon (cshannon)
cfb4ca9f54
[maven-release-plugin] prepare for next development iteration
2015-11-30 13:48:58 +00:00
Christopher L. Shannon (cshannon)
abfe038ddf
[maven-release-plugin] prepare release activemq-5.13.0
2015-11-30 13:48:11 +00:00
gtully
f09000d1e6
https://issues.apache.org/jira/browse/AMQ-6065 - ensure no call to exit. fix mock test to account for extra call
2015-11-30 13:24:19 +00:00
gtully
1bef4de4dc
Revert " https://issues.apache.org/jira/browse/AMQ-6065 "
...
CPL dependency is not fully compatable with ASF and is not really necessary
This reverts commit 39a20bd788
.
2015-11-30 13:24:18 +00:00
Christopher L. Shannon
39a20bd788
https://issues.apache.org/jira/browse/AMQ-6065
...
Fixed test case so that a System.exit call will not take down the
JVM and cause the test suite to abort in Jenkins early
2015-11-29 10:05:27 -05:00
Christopher L. Shannon
673c2928a1
https://issues.apache.org/jira/browse/AMQ-6066
...
Improving performance of OrderedPendingList contains method
Thanks for David Sitsky for the patch
2015-11-28 13:25:53 -05:00
gtully
2aa172f905
https://issues.apache.org/jira/browse/AMQ-6065 - allow ioexception handler to flip the systemExitOnShutdown broker attribute before calling stop, i.e: exit on store io errors
2015-11-27 14:21:20 +00:00
gtully
0a12bcb928
https://issues.apache.org/jira/browse/AMQ-2191 https://issues.apache.org/jira/browse/AMQ-3529 - rework fixes to remove uncertanty from dealing with intettuptedexception. Sync requests will trap interrupts that ocurr while waiting for responses and fail the connection with an interruptedioexception. Interrupts pending before requests will be suppressed, allowing possible clean shutdown. It is not safe to replay openwire ops b/c they are not idempotent, the only safe option is to have a teardown of the broker side state from a close
2015-11-27 12:21:56 +00:00
Christopher L. Shannon (cshannon)
29d943429c
https://issues.apache.org/jira/browse/AMQ-5393
...
Reverting commit because allowing 0 doesn't actually set the usage to
0 size. It ends up disabling the check all together which was the
opposite intention of the commit.
This reverts commit 3b658f8e1a
.
2015-11-25 17:59:41 +00:00
Christopher L. Shannon (cshannon)
35b7ac250b
https://issues.apache.org/jira/browse/AMQ-5898
...
Removing assertion in VirtualDestinationInterceptor to allow
multiple composite destinations to forward to a physical destination
2015-11-25 13:33:32 +00:00
Christopher L. Shannon (cshannon)
3b658f8e1a
https://issues.apache.org/jira/browse/AMQ-5393
...
Allowing disk limit percentages to be 0
2015-11-25 13:18:59 +00:00
Christopher L. Shannon (cshannon)
bc9edf00d1
https://issues.apache.org/jira/browse/AMQ-6058
...
Updating patch to make sure SelectorAwareVirtualTopics are covered
and code cleanup
2015-11-23 20:35:32 +00:00
Chad Zobrisky
dca6e4506e
AMQ-6058 added a check to make sure the destination starts with the virtual topic prefix.
2015-11-23 20:10:26 +00:00
gtully
4318eba4a3
https://issues.apache.org/jira/browse/AMQ-6014 - topic store prefetch should take ownership like in the non persistent case - DurableSubscriberNonPersistentMessageTest regression
2015-11-23 12:27:03 +00:00
Christopher L. Shannon (cshannon)
cc6213ebf2
https://issues.apache.org/jira/browse/AMQ-5712
...
Switching addMessageLast to tryAddMessageLast when messages are added
to a Queue pending cursor to allow a potential deadlock to be
avoided. There is more work to be done here but this will at least
prevent a deadlock from occurring.
Fix and test based off of a patch created by Timothy Bish.
2015-11-20 20:58:27 +00:00
gtully
15412bae64
AMQ4221Test - remove system exit as it breaks surefire fork, https://issues.apache.org/jira/browse/AMQ-6004 interrupt causes errors on shutdown. Two are sorted but the check for errors in the logs may still cause intermittent failures
2015-11-18 16:08:29 +00:00
Christopher L. Shannon (cshannon)
09054fc4a8
https://issues.apache.org/jira/browse/AMQ-6050
...
Clearing the subscription from the local map in
DemandForwardingBridgeSupport to make sure that demand can be properly
recreated again.
2015-11-18 15:06:33 +00:00
Timothy Bish
078a101cf7
https://issues.apache.org/jira/browse/AMQ-6000
...
Fix and test, wakeup queue dispatch when resume is called.
2015-11-10 15:39:51 -05:00
Timothy Bish
938aa626c2
https://issues.apache.org/jira/browse/AMQ-6039
...
If the rename option fails, then we must try a complete copy since the
move can cross file systems.
2015-11-10 11:12:50 -05:00
Christopher L. Shannon (cshannon)
cc81680e10
https://issues.apache.org/jira/browse/AMQ-6027
...
Adding support for consumers on virtual destinations to create network
demand. This behavior is turned off by default but can be enabled.
For example, if a consumer comes online for a queue that is part of a
VirtualTopic, this will cause a network of brokers to forward messages
because a demand subscription will be created. Same for if a consumer
comes online for a forwarded destination from a composite
destination.
There is also an option to enable flow based on the existence of a
virtual destination if the virtual destination is forwarding to a
Queue.
Full configuration instructions for this feature will be on the wiki page.
2015-11-09 20:07:43 +00:00