activemq-artemis.git
2 hours agoThis closes #2511 master
Justin Bertram [Mon, 21 Jan 2019 20:20:57 +0000 (14:20 -0600)] 
This closes #2511

2 hours agoARTEMIS-2234 fix warning from LoggingConfigurationFileReloader
Emmanuel Hugonnet [Mon, 21 Jan 2019 17:16:09 +0000 (18:16 +0100)] 
ARTEMIS-2234 fix warning from LoggingConfigurationFileReloader

return the LogContextConfiguration if we have one

17 hours agoThis closes #2509
Howard Gao [Mon, 21 Jan 2019 05:27:53 +0000 (13:27 +0800)] 
This closes #2509

17 hours agoNO-JIRA Fix Possible NPE in connectToNodeInReplicatedCluster
Michael André Pearce [Fri, 18 Jan 2019 23:09:53 +0000 (23:09 +0000)] 
NO-JIRA Fix Possible NPE in connectToNodeInReplicatedCluster

Variable possibleLive may be null, as signified by trace log above, also dedupe code.

2 days agoThis closes #2444
Michael Andre Pearce [Sat, 19 Jan 2019 08:16:09 +0000 (08:16 +0000)] 
This closes #2444

2 days agoARTEMIS-2186 Large message incomplete when server is crashed
yang wei [Wed, 28 Nov 2018 12:37:09 +0000 (20:37 +0800)] 
ARTEMIS-2186 Large message incomplete when server is crashed

3 days agoThis closes #2508
Michael Andre Pearce [Fri, 18 Jan 2019 22:42:40 +0000 (22:42 +0000)] 
This closes #2508

3 days agoNO-JIRA fix writableBuffer so that its only visible after sub statements
Michael André Pearce [Fri, 18 Jan 2019 22:41:17 +0000 (22:41 +0000)] 
NO-JIRA fix writableBuffer so that its only visible after sub statements

Potential race condition. This assignment to writableBuffer is visible to other threads before the subsequent statements are executed.

3 days agoThis closes #2434
Michael Andre Pearce [Fri, 18 Jan 2019 09:03:30 +0000 (09:03 +0000)] 
This closes #2434

3 days agoARTEMIS-1867 FQQN for producers
Justin Bertram [Mon, 12 Nov 2018 22:05:53 +0000 (16:05 -0600)] 
ARTEMIS-1867 FQQN for producers

There's a *slight* semantic change with the behavior of the queue query
and binding query to make them consistent with the address query, namely
that they will return the name of the queue and the name of the address
in every case and the returned names will be not use the FQQN syntax but
will be parsed to reflect their actual names in the broker.

3 days agoNO-JIRA de-duplicate createQueue()
Justin Bertram [Sat, 10 Nov 2018 02:17:39 +0000 (20:17 -0600)] 
NO-JIRA de-duplicate createQueue()

There were two different but nearly identical implementations of
createQueue(). I consolidated these into a single method. There should
be no semantic differences.

3 days agoThis closes #2507
Michael Andre Pearce [Fri, 18 Jan 2019 08:53:15 +0000 (08:53 +0000)] 
This closes #2507

3 days agoNO-JIRA Fix possible IOE
Michael André Pearce [Fri, 18 Jan 2019 08:33:49 +0000 (08:33 +0000)] 
NO-JIRA Fix possible IOE

This array access might be out of bounds, as the index might be equal to the array length.

3 days agoNO-JIRA Fix possible IOE
Michael André Pearce [Fri, 18 Jan 2019 08:20:14 +0000 (08:20 +0000)] 
NO-JIRA Fix possible IOE

id must be less than values.length,  values[id] array access might be out of bounds, as the index might be equal to the array length.

3 days agoNO-JIRA Fix double check locking in ActiveMQJMSContext
Michael André Pearce [Fri, 18 Jan 2019 08:16:10 +0000 (08:16 +0000)] 
NO-JIRA Fix double check locking in ActiveMQJMSContext

Double checked locking was operating on a non-volatile field this is not threadsafe, make field volatile.

3 days agoARTEMIS-2200 NPE fix
Clebert Suconic [Fri, 18 Jan 2019 02:51:24 +0000 (21:51 -0500)] 
ARTEMIS-2200 NPE fix

This was a typo on my last commit around ARTEMIS-2200

3 days agoThis closes #2505
Michael Andre Pearce [Fri, 18 Jan 2019 01:04:06 +0000 (01:04 +0000)] 
This closes #2505

3 days agoNO-JIRA Null Check in logging
Michael André Pearce [Fri, 18 Jan 2019 00:59:21 +0000 (00:59 +0000)] 
NO-JIRA Null Check in logging

3 days agoThis closes #2504
Michael Andre Pearce [Fri, 18 Jan 2019 01:03:47 +0000 (01:03 +0000)] 
This closes #2504

3 days agoNO-JIRA Check data != null during encode
Michael André Pearce [Fri, 18 Jan 2019 00:47:24 +0000 (00:47 +0000)] 
NO-JIRA Check data != null during encode

Picked up by code analysis checks

3 days agoThis closes #2503
Michael Andre Pearce [Fri, 18 Jan 2019 00:38:32 +0000 (00:38 +0000)] 
This closes #2503

3 days agoNO-JIRA Fix field access
Michael André Pearce [Fri, 18 Jan 2019 00:33:22 +0000 (00:33 +0000)] 
NO-JIRA Fix field access

3 days agoThis closes #2502
Michael Andre Pearce [Fri, 18 Jan 2019 00:25:39 +0000 (00:25 +0000)] 
This closes #2502

3 days agoNO-JIRA Fix String and SimpleString equals check
Michael André Pearce [Fri, 18 Jan 2019 00:24:20 +0000 (00:24 +0000)] 
NO-JIRA Fix String and SimpleString equals check

3 days agoThis closes #2501
Michael Andre Pearce [Thu, 17 Jan 2019 23:56:01 +0000 (23:56 +0000)] 
This closes #2501

3 days agoARTEMIS-2221 Fix Merge
Michael André Pearce [Thu, 17 Jan 2019 23:50:09 +0000 (23:50 +0000)] 
ARTEMIS-2221 Fix Merge

3 days agoThis closes #2445
Clebert Suconic [Thu, 17 Jan 2019 23:12:58 +0000 (18:12 -0500)] 
This closes #2445

3 days agoARTEMIS-2187 remove page from softcache before consumedpage
yang wei [Thu, 29 Nov 2018 03:24:45 +0000 (11:24 +0800)] 
ARTEMIS-2187 remove page from softcache before consumedpage

4 days agoThis closes #2446
Clebert Suconic [Thu, 17 Jan 2019 22:51:52 +0000 (17:51 -0500)] 
This closes #2446

4 days agoARTEMIS-2188 fix address size leak caused by large page message
yang wei [Thu, 29 Nov 2018 14:52:16 +0000 (22:52 +0800)] 
ARTEMIS-2188 fix address size leak caused by large page message

4 days agoThis closes #2469
Michael Andre Pearce [Thu, 17 Jan 2019 22:50:41 +0000 (22:50 +0000)] 
This closes #2469

4 days agoARTEMIS-2221 avoid unnecessary Bindings instance creation
Justin Bertram [Tue, 18 Dec 2018 17:48:12 +0000 (11:48 -0600)] 
ARTEMIS-2221 avoid unnecessary Bindings instance creation

When trying to get the bindings for an address the getBindingsForAddress
method will create a Bindings instance if there are no bindings for the
address. This is unnecessary in most circumstances so use the
lookupBindingsForAddress method instead and check for null.

4 days agoThis closes #2470
Michael Andre Pearce [Thu, 17 Jan 2019 22:41:56 +0000 (22:41 +0000)] 
This closes #2470

4 days agoNO-JIRA fix lgtm.com errors
Justin Bertram [Thu, 6 Sep 2018 03:04:03 +0000 (22:04 -0500)] 
NO-JIRA fix lgtm.com errors

Errors enumerated at
https://lgtm.com/projects/g/apache/activemq-artemis/alerts/?mode=tree&severity=error

4 days agoNO-JIRA fix lgtm.com warnings
Justin Bertram [Wed, 5 Sep 2018 18:49:13 +0000 (13:49 -0500)] 
NO-JIRA fix lgtm.com warnings

Warnings enumerated at
https://lgtm.com/projects/g/apache/activemq-artemis/alerts/?mode=tree&severity=warning

4 days agoThis closes #2438
Michael Andre Pearce [Thu, 17 Jan 2019 22:22:01 +0000 (22:22 +0000)] 
This closes #2438

4 days agoARTEMIS-2178 routing-type config for core bridge
Justin Bertram [Tue, 20 Nov 2018 03:24:35 +0000 (21:24 -0600)] 
ARTEMIS-2178 routing-type config for core bridge

MULTICAST messages forwarded by a core bridge will not be routed to any
ANYCAST queues and vice-versa. Diverts have the ability to configure how
routing-type is treated. Core bridges now support this same kind of
functionality. By default the bridge does not alter the routing-type of
forwarded messages to maintain compatibility with existing behavior.

4 days agoThis closes #2459
Clebert Suconic [Thu, 17 Jan 2019 20:39:31 +0000 (15:39 -0500)] 
This closes #2459

4 days agoARTEMIS-2200 NPE when calling journal.delete from Multiple Threads
Clebert Suconic [Thu, 17 Jan 2019 20:27:56 +0000 (15:27 -0500)] 
ARTEMIS-2200 NPE when calling journal.delete from Multiple Threads

4 days agoARTEMIS-2200 NPE while dropping/failing large messages on paging
Francesco Nigro [Fri, 7 Dec 2018 08:35:08 +0000 (09:35 +0100)] 
ARTEMIS-2200 NPE while dropping/failing large messages on paging

Large messages pendingRecordID is not accessed atomically, leading
to races that would lead to records that cannot been found on the
journal for deletion: it would lead to cause NPE that won't clean
the pending tasks on the current OperationContextImpl.
Adding a cleanup on error of those tasks and avoiding the race
to happen by adding proper synchronization will both enforce
correct clean up when something bad happen and avoid NPE.

4 days agoThis closes #2474
Clebert Suconic [Thu, 17 Jan 2019 15:37:37 +0000 (10:37 -0500)] 
This closes #2474

4 days ago[ARTEMIS-1536]: Incorrect Journal filesize calculation where specified size is lest...
Emmanuel Hugonnet [Thu, 20 Dec 2018 08:11:38 +0000 (09:11 +0100)] 
[ARTEMIS-1536]: Incorrect Journal filesize calculation where specified size is lest that the block size when using AIO.
* If the specified file size is under the fs block size then the
resulting file size is 0. Setting it to the block size in this case.

Jira: https://issues.apache.org/jira/browse/ARTEMIS-1536

4 days agoThis closes #2478
Clebert Suconic [Thu, 17 Jan 2019 15:30:20 +0000 (10:30 -0500)] 
This closes #2478

4 days agoARTEMIS-2210 PagingStore creation is not properly synchronized
Howard Gao [Tue, 25 Dec 2018 02:09:03 +0000 (10:09 +0800)] 
ARTEMIS-2210 PagingStore creation is not properly synchronized

In PagingManagerImpl#getPageStore() the operations on the map 'stores'
are not synchronzed and it's possible that more than one paging store is
created for one address.

4 days agoThis closes #2480
Clebert Suconic [Thu, 17 Jan 2019 15:25:52 +0000 (10:25 -0500)] 
This closes #2480

4 days agoARTEMIS-2212 Avoid using CLQ on ServerConsumerImpl
Francesco Nigro [Wed, 12 Dec 2018 16:47:33 +0000 (17:47 +0100)] 
ARTEMIS-2212 Avoid using CLQ on ServerConsumerImpl

It would deliver a better performance for the most
common operations eg offer, poll, iterations, size.

4 days agoThis closes #2500
Clebert Suconic [Thu, 17 Jan 2019 14:32:28 +0000 (09:32 -0500)] 
This closes #2500

4 days agoNO-JIRA Adding test to verify Openwire consuming from FQQN
Howard Gao [Wed, 16 Jan 2019 12:33:36 +0000 (20:33 +0800)] 
NO-JIRA Adding test to verify Openwire consuming from FQQN

The test verifies that a Openwire queue consumer can consume
from pre-configured multicast queues using FQQN.

5 days agoThis closes #2482
Clebert Suconic [Wed, 16 Jan 2019 21:35:11 +0000 (16:35 -0500)] 
This closes #2482

5 days agoARTEMIS-2214 Cache durable&deliveryTime in PagedReference
Qihong Xu [Fri, 4 Jan 2019 08:57:36 +0000 (16:57 +0800)] 
ARTEMIS-2214 Cache durable&deliveryTime in PagedReference

5 days agoThis closes #2496
Clebert Suconic [Wed, 16 Jan 2019 20:11:53 +0000 (15:11 -0500)] 
This closes #2496

5 days agoARTEMIS-2227 add Implementation-Version for artemis-protocols module
Chao Wang [Mon, 14 Jan 2019 02:48:07 +0000 (10:48 +0800)] 
ARTEMIS-2227 add Implementation-Version for artemis-protocols module

6 days agoThis closes #2477
Clebert Suconic [Tue, 15 Jan 2019 22:10:58 +0000 (17:10 -0500)] 
This closes #2477

6 days agoARTEMIS-2190 move tests
Justin Bertram [Fri, 21 Dec 2018 15:15:45 +0000 (09:15 -0600)] 
ARTEMIS-2190 move tests

The "jms-tests" module is deprecated and these tests should have never
gone in there. Moving them to the "integration-tests" module.

6 days agoThis closes #2499
Clebert Suconic [Tue, 15 Jan 2019 19:31:45 +0000 (14:31 -0500)] 
This closes #2499

6 days agoARTEMIS-2229 Qpid jms consumer cannot receive from multicast queue using FQQN
Howard Gao [Tue, 15 Jan 2019 13:45:00 +0000 (21:45 +0800)] 
ARTEMIS-2229 Qpid jms consumer cannot receive from multicast queue using FQQN

If a client sends a message to a multicast address and using a qpid-jms
client to receive the message from one of the queues using fully
qualified queue name will fail with following error message:

Address xxxx is not configured for queue support
[condition = amqp:illegal-state]

It should be able to receive the message without any error.

6 days agoThis closes #2498
Clebert Suconic [Tue, 15 Jan 2019 19:30:53 +0000 (14:30 -0500)] 
This closes #2498

6 days agoARTEMIS-2228 Large Messages over Management
Clebert Suconic [Mon, 14 Jan 2019 21:11:29 +0000 (16:11 -0500)] 
ARTEMIS-2228 Large Messages over Management

7 days agoThis closes #2494
Clebert Suconic [Mon, 14 Jan 2019 16:40:42 +0000 (11:40 -0500)] 
This closes #2494

7 days agoARTEMIS-2216 Avoid unnecessary page cache queries on ack TX
Francesco Nigro [Sun, 6 Jan 2019 10:48:14 +0000 (11:48 +0100)] 
ARTEMIS-2216 Avoid unnecessary page cache queries on ack TX

PageSubscriptionImpl::ackTx is already performing a counter update
using the message persistent size: the size can be reused on
PagePosition::setPersistentSize, avoiding to query the page cache just
to compute it.

7 days agoARTEMIS-2224 lock-free LivePageCache + tests
Francesco Nigro [Fri, 4 Jan 2019 18:17:55 +0000 (19:17 +0100)] 
ARTEMIS-2224 lock-free LivePageCache + tests

LivePageCacheImpl has been reimplemented to be
lock-free, multi-producer and multi-consumer
in any of its operations.

7 days agoThis closes #2484
Clebert Suconic [Mon, 14 Jan 2019 16:39:48 +0000 (11:39 -0500)] 
This closes #2484

7 days agoARTEMIS-2224 Javadoc changes after the paging lock changes
Clebert Suconic [Mon, 14 Jan 2019 16:38:46 +0000 (11:38 -0500)] 
ARTEMIS-2224 Javadoc changes after the paging lock changes

7 days agoARTEMIS-2216 Use a specific executor for pageSyncTimer
Qihong Xu [Fri, 4 Jan 2019 10:09:24 +0000 (18:09 +0800)] 
ARTEMIS-2216 Use a specific executor for pageSyncTimer

10 days agoARTEMIS-2215 Fixing LiveCrashOnBAckupSyncTest"
Clebert Suconic [Fri, 11 Jan 2019 19:00:40 +0000 (14:00 -0500)] 
ARTEMIS-2215 Fixing LiveCrashOnBAckupSyncTest"

11 days agoThis closes #2467
Francesco Nigro [Thu, 10 Jan 2019 15:39:56 +0000 (16:39 +0100)] 
This closes #2467

11 days agoARTEMIS-2205 Optimizing some Lambda usages
Francesco Nigro [Mon, 17 Dec 2018 14:12:19 +0000 (09:12 -0500)] 
ARTEMIS-2205 Optimizing some Lambda usages

https://issues.apache.org/jira/browse/ARTEMIS-2205

11 days agoARTEMIS-2205 Refactor AMQP Processing into Netty Thread
Clebert Suconic [Mon, 17 Dec 2018 14:11:54 +0000 (09:11 -0500)] 
ARTEMIS-2205 Refactor AMQP Processing into Netty Thread

These improvements were also part of this task:
- Routing is now cached as much as possible.
- A new Runnable is avoided for each individual message,
  since we use the Netty executor to perform delivery

https://issues.apache.org/jira/browse/ARTEMIS-2205

11 days agoARTEMIS-2205 Netty is used in a more idiomatic way
Francesco Nigro [Sat, 3 Mar 2018 17:58:21 +0000 (18:58 +0100)] 
ARTEMIS-2205 Netty is used in a more idiomatic way

This helped decreasing a lot of pressure on GC by not creating
as many runnables for each write.

Besides this helps fixing some of the issues I would have had on refactoring AMQP
over flushing writes and other asynchronous issues.

11 days agoThis closes #2495
Clebert Suconic [Thu, 10 Jan 2019 14:50:57 +0000 (09:50 -0500)] 
This closes #2495

11 days agoARTEMIS-2144 fixing TransactionManagerLocatorTest
andytaylor [Thu, 10 Jan 2019 10:43:35 +0000 (10:43 +0000)] 
ARTEMIS-2144 fixing TransactionManagerLocatorTest

12 days agoThis closes #2483
Clebert Suconic [Wed, 9 Jan 2019 22:25:02 +0000 (17:25 -0500)] 
This closes #2483

12 days agoARTEMIS-2215 largemessage have been consumed but not deleted from the disk during...
yb [Sat, 29 Dec 2018 08:09:48 +0000 (16:09 +0800)] 
ARTEMIS-2215 largemessage have been consumed but not deleted from the disk during backup and live sync

12 days agoThis closes #2489
Clebert Suconic [Wed, 9 Jan 2019 21:56:09 +0000 (16:56 -0500)] 
This closes #2489

12 days agoARTEMIS-2220 Fix PageCursorStressTest::testSimpleCursorWithFilter NPE
Francesco Nigro [Fri, 4 Jan 2019 22:50:56 +0000 (23:50 +0100)] 
ARTEMIS-2220 Fix PageCursorStressTest::testSimpleCursorWithFilter NPE

FakeQueue is not correctly setting the queue on its PageSubscription,
leading to fail the test due to NPEs when PageSubscription::getQueue
is being used.

12 days agoThis closes #2491
Clebert Suconic [Wed, 9 Jan 2019 21:48:56 +0000 (16:48 -0500)] 
This closes #2491

12 days agoARTEMIS-2217 remove state on clean MQTT session disconnect
Justin Bertram [Tue, 8 Jan 2019 19:22:32 +0000 (13:22 -0600)] 
ARTEMIS-2217 remove state on clean MQTT session disconnect

12 days agoThis closes #2492
Clebert Suconic [Wed, 9 Jan 2019 21:31:30 +0000 (16:31 -0500)] 
This closes #2492

12 days agoARTEMIS-2222 removing unecessary check for positioning on page
yb [Tue, 8 Jan 2019 09:31:08 +0000 (17:31 +0800)] 
ARTEMIS-2222 removing unecessary check for positioning on page

2 weeks agoThis closes #2475
Francesco Nigro [Mon, 7 Jan 2019 14:21:54 +0000 (15:21 +0100)] 
This closes #2475

2 weeks agoARTEMIS-2144 - tx begin failure in ra doesn't get cleaned up 2475/head
andytaylor [Wed, 24 Oct 2018 10:21:52 +0000 (11:21 +0100)] 
ARTEMIS-2144 - tx begin failure in ra doesn't get cleaned up

https://issues.apache.org/jira/browse/ARTEMIS-2144

4 weeks agoThis closes #2472
Justin Bertram [Wed, 19 Dec 2018 15:11:51 +0000 (09:11 -0600)] 
This closes #2472

4 weeks agoARTEMIS-2208 Fix Unit Tests Pom 2472/head
Martyn Taylor [Wed, 19 Dec 2018 09:51:27 +0000 (09:51 +0000)] 
ARTEMIS-2208 Fix Unit Tests Pom

4 weeks agoThis closes #2471
Justin Bertram [Wed, 19 Dec 2018 01:07:42 +0000 (19:07 -0600)] 
This closes #2471

4 weeks agoARTEMIS-2207 Page Showing Log.warns for regular acked messages
Clebert Suconic [Tue, 18 Dec 2018 23:17:03 +0000 (18:17 -0500)] 
ARTEMIS-2207 Page Showing Log.warns for regular acked messages

5 weeks agoThis closes #2256
Justin Bertram [Mon, 17 Dec 2018 16:30:31 +0000 (10:30 -0600)] 
This closes #2256

5 weeks agoARTEMIS-2045 Add support for setting delivery annotations on outgoing message
Carsten Lohmann [Tue, 2 Oct 2018 14:45:18 +0000 (16:45 +0200)] 
ARTEMIS-2045 Add support for setting delivery annotations on outgoing message

5 weeks agoThis closes #2382
Justin Bertram [Mon, 17 Dec 2018 02:41:11 +0000 (20:41 -0600)] 
This closes #2382

5 weeks agoARTEMIS-2137 web console retryMessage is broken
Shailendra Kumar Singh [Fri, 19 Oct 2018 02:48:03 +0000 (08:18 +0530)] 
ARTEMIS-2137 web console retryMessage is broken

5 weeks agoThis closes #1982
Justin Bertram [Sat, 15 Dec 2018 02:02:30 +0000 (20:02 -0600)] 
This closes #1982

5 weeks agoNO-JIRA add user/pass as part of junit rule
Mohammad Naghavi [Thu, 29 Mar 2018 21:19:46 +0000 (23:19 +0200)] 
NO-JIRA add user/pass as part of junit rule

5 weeks agoThis closes #2264
Justin Bertram [Sat, 15 Dec 2018 00:04:07 +0000 (18:04 -0600)] 
This closes #2264

5 weeks ago[ARTEMIS-2050] It is possible to get AMQ224000: Failure in initialisation: java.lang...
JiriOndrusek [Fri, 24 Aug 2018 07:14:02 +0000 (09:14 +0200)] 
[ARTEMIS-2050] It is possible to get AMQ224000: Failure in initialisation: java.lang.NullPointerException during shutdown of backup server with shared store

5 weeks agoThis closes #2442
Justin Bertram [Fri, 14 Dec 2018 21:20:34 +0000 (15:20 -0600)] 
This closes #2442

5 weeks agoARTEMIS-2139 Fix setJMSReplyTo for 1.x clients with enable1xPrefixes
Francesco Nigro [Thu, 22 Nov 2018 15:12:59 +0000 (16:12 +0100)] 
ARTEMIS-2139 Fix setJMSReplyTo for 1.x clients with enable1xPrefixes

5 weeks agoThis closes #2454
Justin Bertram [Fri, 14 Dec 2018 21:10:30 +0000 (15:10 -0600)] 
This closes #2454

5 weeks agoARTEMIS-2196 Avoid creating RandomAccessFile when FileChannel is needed
Francesco Nigro [Fri, 7 Dec 2018 15:52:02 +0000 (16:52 +0100)] 
ARTEMIS-2196 Avoid creating RandomAccessFile when FileChannel is needed

5 weeks agoThis closes #2456
Justin Bertram [Fri, 14 Dec 2018 21:04:05 +0000 (15:04 -0600)] 
This closes #2456

5 weeks agoARTEMIS-2198 Reduce GC pressure on TransactionImpl and OperationContextImpl
Francesco Nigro [Fri, 7 Dec 2018 09:36:29 +0000 (10:36 +0100)] 
ARTEMIS-2198 Reduce GC pressure on TransactionImpl and OperationContextImpl

TransactionImpl::properties are often not used and could be
avoided to be allocated.
OperationContextImpl.TaskHolders instances are turned into static
classes to avoid refecencing back the context, making the life
easier for the GC.
OperationContexImpl volatile loads can be reduced to make the
code faster on the hot path.

5 weeks agoThis closes #2465
Clebert Suconic [Fri, 14 Dec 2018 14:28:49 +0000 (09:28 -0500)] 
This closes #2465