exam questions

Exam MCIA - Level 1 All Questions

View all questions & answers for the MCIA - Level 1 exam

Exam MCIA - Level 1 topic 1 question 32 discussion

Actual exam question from Mulesoft's MCIA - Level 1
Question #: 32
Topic #: 1
[All MCIA - Level 1 Questions]

Refer to the exhibit. A Mule application is deployed to a multi-node Mule runtime cluster. The Mule application uses the competing consumer pattern among its cluster replicas to receive JMS messages from a JMS queue. To process each received JMS message, the following steps are performed in a flow:
Step 1: The JMS Correlation ID header is read from the received JMS message.
Step 2: The Mule application invokes an idempotent SOAP webservice over HTTPS, passing the JMS Correlation ID as one parameter in the SOAP request.
Step 3: The response from the SOAP webservice also returns the same JMS Correlation ID.
Step 4: The JMS Correlation ID received from the SOAP webservice is validated to be identical to the JMS Correlation ID received in Step 1.
Step 5: The Mule application creates a response JMS message, setting the JMS Correlation ID message header to the validated JMS Correlation ID and publishes that message to a response JMS queue.
Where should the Mule application store the JMS Correlation ID values received in Step 1 and Step 3 so that the validation in Step 4 can be performed, while also making the overall Mule application highly available, fault-tolerant, performant, and maintainable?

  • A. Both Correlation ID values should be stored in a persistent object store
  • B. The Correlation ID value in Step 1 should be stored in a persistent object store The Correlation ID value in Step 3 should be stored as a Mule event variable/attribute
  • C. Both Correlation ID values should be stored as Mule event variables/attributes
  • D. Both Correlation ID values should be stored in a non-persistent object store
Show Suggested Answer Hide Answer
Suggested Answer: C 🗳️

Comments

Chosen Answer:
This is a voting comment (?). It is better to Upvote an existing comment if you don't have anything to add.
Switch to a voting comment New
Alandt
6 months, 1 week ago
Selected Answer: C
Made the practice exam from Mulesoft and correct answer was C
upvoted 1 times
...
adnankhan
9 months, 3 weeks ago
Correct ans is B 1 Persistent object store cant be shared between rtf cluster nodes because it is in the files not in memory (if the obj store is not persistent then it gets shared between the nodes) 2 in step 2 they are calling an idempotent SOAP service, it cant be called again with the same request, we need to store its response or request in our case its corrId 3 In time of crash we don't need to call soap service again because its an idempotent SOAP service and we already have our correlation id with us so its is easy to compare
upvoted 1 times
...
gilofernandes
1 year, 1 month ago
Selected Answer: C
There's no need to store the correlation id from any step in a persistent OS. If a message is not successfully processed is not deleted from the JMS and in the next subscription the same message with the same correlation Id header value is processed. In step 1 is necessary to store the correlation id in a variable because it is extracted from the payload, and the original payload is lost after the SOAP request. In step 3 the correlation id received from the WS response must be stored in a var to be compared with the original one. C is the correct answer.
upvoted 2 times
...
gilofernandes
1 year, 3 months ago
Selected Answer: C
There's no need to persist any coorrelation id. In case of any failure, message is not acknowledge and next time the same message will be read again from the JMS queue and all the flow processed again.
upvoted 1 times
...
lwong1
1 year, 9 months ago
Object Store is a shared key value store. So if it's saved as "correlationId=123"; other nodes will override the value. Also it doesn't support XA transactions. To be high available, fault tolerant, performant and maintainable it should rely more on JMS as it can be load balance and should deliver an acknowledge only after the flow was processed (AUTO mode). For this I believe that the answer is C.
upvoted 1 times
...
_d4d_
2 years ago
Selected Answer: B
Answer is B.
upvoted 1 times
...
majda091983
2 years, 2 months ago
Selected Answer: C
I dont understand why we should store in object store since we are in the same flow same application
upvoted 1 times
...
mamor
2 years, 2 months ago
Selected Answer: B
fault-tolerant, performant, and maintainable.
upvoted 2 times
...
jarit75
2 years, 3 months ago
was in practise exam C was not correct in that..
upvoted 2 times
...
madgeezer
2 years, 4 months ago
Selected Answer: C
C. Both Correlation ID values should be stored as Mule event variables/attributes
upvoted 1 times
...
rodriguescont
2 years, 6 months ago
Selected Answer: B
Should be B Although persistent OS is not performant, it’s the only way to guarantee fault tolerance HTTP request will reset the variables/attributes Customer-hosted and RTF just share OS via REST API, which implies that the OS be persistent for HA
upvoted 2 times
rodriguescont
2 years, 6 months ago
Let me correct myself… In clusters the non persistent OS is shared among all nodes So, as long as at least one remains active, D is the most performant and reliable
upvoted 3 times
...
...
bob_d_builder
2 years, 8 months ago
Scenario says that app is deployed in multi-node Runtime. If you save the Correlation ID in persistent object store, wouldn't it be read by apps running on other nodes and defeat the whole purpose? Only sensible answer is C. If the application crashes, no acknowledgement is sent to JMS and the message will re-queue and processed by another node.
upvoted 4 times
...
sanni27
2 years, 11 months ago
It should be C as its multi node cluster and competence consumer pattern so multiple consumer will consume the message and in this case multiple correlation id comparison will happens. Better to keep the ids in same thread rather shared resource.
upvoted 3 times
...
Outdoor25
3 years ago
B is correct. You need Persistent OS. SOAP is over HTTP. Calls to HTTP within mule flow will rest all variables and attributes. Cannot be D, because its non Persistent OS. You need persistent for better reliability.
upvoted 4 times
majda091983
2 years, 1 month ago
call http will rest only attributes not variables
upvoted 3 times
...
...
Pavan_Nagineni
3 years, 4 months ago
Why do you need to go for Persistent OS, when you are dealing with the state across your flows/apps. Here everything happens in same thread pretty much you cna manage with mule event/variables
upvoted 2 times
...
Community vote distribution
A (35%)
C (25%)
B (20%)
Other
Most Voted
A voting comment increases the vote count for the chosen answer by one.

Upvoting a comment with a selected answer will also increase the vote count towards that answer by one. So if you see a comment that you already agree with, you can upvote it instead of posting a new comment.

SaveCancel
Loading ...
exam
Someone Bought Contributor Access for:
SY0-701
London, 1 minute ago