3

I have created a push topic for subscribing to create/delete/update events for the Account object. When I update single Account object I get proper notification/messages through the push topic/channel.

There is a concurrent scenario where I am emulating the update account request for 3 parallel request , where each request tries to update same 5 account objects concurrently. So if all these updates are successful ideally I should get 3*5 = 15 notifications/message. But I am getting only 10 messages. I don't even get 5 events which carry the details of the fields that I have pointed in the push topic.

I have also tested with 2 concurrent request trying to update 5 Account objects and that time I get all 10 messages saying the details of the updates.

I have checked in the salesforce site in the feed section also in the salesforce , there it clearly indicates that 15 successful updates were successful.

I am testing with salesforce version 29 api and my push topic looks like this:

PushTopic pushTopic = new PushTopic(); 
pushTopic.ApiVersion = 29.0; 
pushTopic.Name = 'MyAccountTopic'; 
pushTopic.Description = 'All records for the Account object'; 
pushtopic.Query = 'SELECT Id, Name FROM Account'; 
insert pushTopic; 
System.debug('Created new PushTopic: '+ pushTopic.Id);

I have read the limitation of push topics and there it is mentioned that

Some events may be dropped if the system is being heavily used.

My question is how/where in salesforce I can check/track if there is any event dropped in this process? Is there any logging mechanism in salesforce that tells me about these events which are dropped or something like that sort ?

  • 1
    Sorry to break Answer etiquette, did you get a solution for this?I'm also facing the same issue – sanketh Jul 27 '16 at 7:19
0

Try to set notification preferences explicitly, set the following properties to true. like:

pushTopic.NotifyForOperationCreate = true;
pushTopic.NotifyForOperationUpdate = true;
pushTopic.NotifyForOperationUndelete = true;
pushTopic.NotifyForOperationDelete = true;

and then insert it. It will work.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.