Paging Feature Bug

Hey guys,


We recently updated our Aspose 5.7.0.0 library to 6.0.0.0 just before the holiday break and had to roll the entire changeset back because testing determined that thousands of email messages were missing.

I did a few experiments this morning and it’s now very clear what’s happening. With the 5.8.0.0 release, you guys introduced the paging feature. One would expect that adding a new feature like this would allow pre-paging API’s like ListMessages to work as before. I debugged into our Aspose/Exchange code and its pretty obvious that the old ListMessages signature is now returning a partial/paged list. When testing folders with some 15k+ messages under the debugger, I can see that the new LastPage property is set to false, which makes me think you’re merely forwarding this call into the new paging ListMessages overloads.

This is the ListMessages signature that we were using…

ListMessages(folder, ExchangeListMessageOptions);

I then went ahead and changed the code in question to enable/support paging and it works; however, our usage of Aspose.Email requires us to get attachment information and the paging feature change that was introduced with 5.8.0.0 does not allow you to support both paging and ExchangeListMessageOptions (please review all overloads to fully understand this problem). In short, we’re pinned into a corner because the old code no longer works and adapting to the new paging feature doesn’t allow us to retrieve attachment info.

This paging feature, unfortunately, highlights a major QA/testing issue. If you’re going to add paging support, any reasonable person would think you would make sure that older non-paging API’s continue to work. I see no possibility that this path could have been tested because it would have easily failed on your end. This, of course, assumes that the Exchange server used to test these API’s are also loaded down with plenty of data.

Regards,
Scott

Hi Scott,


Thank you for writing to Aspose support team.

We have investigated the issue and have logged an enhancement for provision of overloaded function with both paging and ExchangeListMessageOption under Id: EMAILNET-35088 in our issue tracking system. I shall write here as soon as some feedback is received in this regard.

Regarding call to different overloaded function for similar signature, in Aspose.Email for .NET 5.7.0 and later versions, we are investigating this issue and will provide feedback soon.
Hi Muhammad,

I'll be corresponding with you from here on out instead of Scott. To make sure we're totally clear on the issues here, can you verify that you will both:

1) Enhance the new API that supports the attachment info and paging, and
2) Fix the old API that does not support paging?

Thanks,
Erik

Hi Erik,

Regarding your enhancement request, a ticket has already been logged for the Product team to analyze this requirement and provide an overloaded function with support of both attachment information as well as Paging.

With respect to the issues of different messages count returned with an older and latest version, the issue will be reported to the Product team for resolution if it is reproduced at our end. It will then be considered for a fix in the upcoming versions of the API.

In order to reproduce at our end, I tried the scenario by running following sample code using different versions of the API i.e. Aspose.Email for .NET 5.7.0 (Before paging feature) and latest release Aspose.Email 6.1.0. It was expected that I may get more messages with old library and less number would be retrieved using latest library. However, I got different results as old library returns total number of mails in the account but latest release rises exception “Connection is closed”. Could you please confirm whether you get such exception or not while working with new library?

I need your assistance to re-produce this scenario here. Please provide us steps to observe this difference in behavior here as I could not succeed using following code.

IEWSClient client = GetAsposeEWSClient();
client.Timeout = 100000*200;
ExchangeMessageInfoCollection coll = client.ListMessages("Inbox",ExchangeListMessagesOptions.FetchAttachmentInformation);
Console.WriteLine(coll.Count);

The issues you have found earlier (filed as EMAILNET-35088) have been fixed in this update.


This message was posted using Notification2Forum from Downloads module by Aspose Notifier.