[EXCONTRANS-329] Batches with multiple submissions only return one item Created: 27/Jan/20  Updated: 25/Mar/20  Resolved: 21/Feb/20

Status: Closed
Project: Content Translation Extended (CTX)
Component/s: Core
Affects Version/s: 2.9, 3.0.1
Fix Version/s: 2.9, 3.0.2

Type: Bug Priority: Neutral
Reporter: Richard Gange Assignee: Teresa Miyar
Resolution: Fixed Votes: 0
Labels: None
Remaining Estimate: Not Specified
Time Spent: Not Specified
Original Estimate: Not Specified

Attachments: Java Source File TranslationsComCustomTranslator.java     PNG File image-20200219-101213.png     PNG File image-20200219-103918.png     PNG File image-20200219-104608.png    
Issue Links:
Problem/Incident
relation
Template:
Acceptance criteria:
Empty
Task DoD:
[ ]* Doc/release notes changes? Comment present?
[ ]* Downstream builds green?
[ ]* Solution information and context easily available?
[ ]* Tests
[ ]* FixVersion filled and not yet released
[ ]  Architecture Decision Record (ADR)
Bug DoR:
[ ]* Steps to reproduce, expected, and actual results filled
[ ]* Affected version filled
Date of First Response:

 Description   

When we submit multiple nodes (ready batches) for translation in GLOBAL LINK PDF, all of them are correctly transfered to GLOBAL LINK Project Director with the executeSubmissionTranslationCommand job.

Then we execute the next job executeGetTranslationCommand and this job/command is NOT working properly.

If we send 2 batch items for translation to PD we expect 2 translated documents to be returned from Global Link PD to Magnolia CMS with this job (executeGetTranslationCommand).

But the job/command returns only one document back because not all submitted items are processed but only one of them, which is processed multiple times (as much as we have SUBMITTED, IMPORTED… items for processing).

Sometimes no translated document is returned at all to Magnolia although in Global Link PD submitted items exist that are ready for delivery back to Magnolia. The last scenario (when no document is returned) is because the first submission for processing has a status IMPORTED and then the rest of the items are not processed.

We think there is a problem in the threading of the submissions in the CTSX module (all of the SubmissionThread's are working on one same submission). This should be fixed for the translation workflow to be able to return translated batches.



 Comments   
Comment by Ronald Kerstens [ 03/Feb/20 ]

Hi,

 

This is the last bug we found while implementing the CTSX module for GlobalLink of translation.com or our customer Goudsmit. Can you please indicate when it will be fixed in the module, as this one currently impedes delivery of the translations.com interface an therefore content authoring and a golive of the new Goudsmit website. Thanks in advance

 

regards

 

ronald kerstens

Comment by Richard Gange [ 04/Feb/20 ]

Hello ronald.kerstens-

We will let you know as soon as it's ready.

Cheers
Rich

Comment by Richard Gange [ 11/Feb/20 ]

Hello ronald.kerstens-

We have a new SNAPSHOT for this issue ready. 3.0.2-SNAPSHOT. Could you see if that resolves your problem?

Thanks!
Rich

Comment by Ronald Kerstens [ 19/Feb/20 ]

Hi Richard

We have tested the 3.0.2 snapshot, but we seem to face the same issue: if we submit a batch for translation into multiple target languages (let say 2), the module job still retrieves only the first translation instead for GPD and then changes the job status to DELIVERED, effectively not retrieving the second translation from GPD.

Ljubica will provide a detailed description of our test findings of the 3.0.2 snapshot, which I will add to this ticket. However, would it not be better if we setup a call to discuss this pending CTSX issue with you, Theresa, me and Ljubica? Can we arrange such a call on short notice?

Comment by Ronald Kerstens [ 19/Feb/20 ]

The test findings/scenarios of Ljubica for implementing snapshot 3.0.2. I hope this helps to clarify  the issue we are still facing:

Hello,

Unfortunately I'm still facing the same bug. This is my first test scenario:

  1. I try to translate an i18n field from a page with these relations en_gb → de_de & en_gb → fr_fr so I created a new batch.
  2. When I submit the batch, 2 subnodes were created, for each language its own source document. These 2 subnodes I was able to see in the Translation module queues by status OPEN. They had same batch ID.
  3. I started the executeSubmissionTranslationCommand job and my submission was properly send and completed in the global link.
  4. Then I started executeGetTranslationCommand job and here the issue appeared.
  5. I received only translated document for one language en_gb → de_de.
  6. I restarted the executeGetTranslationCommand job and I faced with an info (log file) saying the the batch has been delivered.
  7. Then I started executeImportTranslationCommand job which import the translation for en_gb → de_de relation.
  8. I repeated to restart the executeGetTranslationCommand job and then was able to get the second language translation en_gb → fr_fr.

My second testing scenario:

  1. I try to translate an i18n field from 2 different pages with these relations en_gb → fr_fr for the first page & en-gb → cs_cz for the second one, so I created two new batches.
  2. When I submit the batches, 2 subnodes were created, for each page batch its own source document. These 2 subnodes I was able to see in the Translation module queues APP by status OPEN. They had different batch ID.
  3. I started the executeSubmissionTranslationCommand job and the both submissions were properly send and completed in the global link .
  4. Then I started executeGetTranslationCommand job and here the issue appeared.
  5. I received only one translated document for one randomly selected batch (cs_cz in my case). The log was saying that only 1 translated document was downloaded:
  6. I restarted the executeGetTranslationCommand job and I faced with an info (log file) saying the the batch has been delivered. So it was trying to download the en-gb → cs_cz submission once again.
  7. I repeated to restart the executeGetTranslationCommand job after importing the received translated document but still same issue.
  8. After some time I tried again and then I was able to download finally but the module tried to download the document twice????
  1. In the same log there was an error saying that the file was delivered already.

2020-02-19 11:40:13,952 ERROR it.translationscom.TranslationsComCustomTranslator: Cannot download document {website-goudsmit-moja2} due to error: {Client received SOAP Fault from server: Target for locale 'fr-FR' already delivered Please see the server log to find more detail regarding exact cause of the failure.}
com.sun.xml.internal.ws.fault.ServerSOAPFaultException: Client received SOAP Fault from server: Target for locale 'fr-FR' already delivered Please see the server log to find more detail regarding exact cause of the failure.
at com.sun.xml.internal.ws.fault.SOAP11Fault.getProtocolException(SOAP11Fault.java:178) ~[?:1.8.0_231]
at com.sun.xml.internal.ws.fault.SOAPFaultBuilder.createException(SOAPFaultBuilder.java:116) ~[?:1.8.0_231]
at com.sun.xml.internal.ws.client.sei.StubHandler.readResponse(StubHandler.java:238) ~[?:1.8.0_231]
at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:189) ~[?:1.8.0_231]
at com.sun.xml.internal.ws.db.DatabindingImpl.deserializeResponse(DatabindingImpl.java:276) ~[?:1.8.0_231]
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:104) ~[?:1.8.0_231]
at com.sun.xml.internal.ws.client.sei.SyncMethodHandler.invoke(SyncMethodHandler.java:77) ~[?:1.8.0_231]
at com.sun.xml.internal.ws.client.sei.SEIStub.invoke(SEIStub.java:147) ~[?:1.8.0_231]
at com.sun.proxy.$Proxy157.sendDownloadConfirmation(Unknown Source) ~[?:?]
at com.globallink.api.GLExchange.sendDownloadConfirmation(GLExchange.java:1248) ~[globallink-connect-api-4.18.4.jar:?]
at nl.dept.magnolia.goudsmit.translationscom.TranslationsComCustomTranslator.downloadDocument(TranslationsComCustomTranslator.java:349) [goudsmit-translation-1.0.14-SNAPSHOT.jar:?]
at nl.dept.magnolia.goudsmit.translationscom.TranslationsComCustomTranslator.getResult(TranslationsComCustomTranslator.java:322) [goudsmit-translation-1.0.14-SNAPSHOT.jar:?]
at nl.dept.magnolia.goudsmit.translationscom.TranslationsComCustomTranslator.getResult(TranslationsComCustomTranslator.java:48) [goudsmit-translation-1.0.14-SNAPSHOT.jar:?]
at info.magnolia.translation.ext.core.command.SetTranslationCommand.retrievalProcess(SetTranslationCommand.java:134) [magnolia-content-translation-support-ext-core-3.0.2-20200211.123836-3.jar:?]
at info.magnolia.translation.ext.core.command.SetTranslationCommand.getResult(SetTranslationCommand.java:106) [magnolia-content-translation-support-ext-core-3.0.2-20200211.123836-3.jar:?]
at info.magnolia.translation.ext.core.command.SetTranslationCommand.executeCommand(SetTranslationCommand.java:66) [magnolia-content-translation-support-ext-core-3.0.2-20200211.123836-3.jar:?]
at info.magnolia.translation.ext.core.command.GroupTranslationCommand.executeOnItem(GroupTranslationCommand.java:56) [magnolia-content-translation-support-ext-core-3.0.2-20200211.123836-3.jar:?]
at info.magnolia.translation.ext.core.command.AbstractTranslationCommand.execute(AbstractTranslationCommand.java:63) [magnolia-content-translation-support-ext-core-3.0.2-20200211.123836-3.jar:?]
at info.magnolia.commands.MgnlCommand.executeSynchronized(MgnlCommand.java:80) [magnolia-core-6.1.2.jar:?]
at info.magnolia.commands.MgnlCommand.execute(MgnlCommand.java:69) [magnolia-core-6.1.2.jar:?]
at info.magnolia.translation.ext.core.thread.AbstractThread.executeCommands(AbstractThread.java:74) [magnolia-content-translation-support-ext-core-3.0.2-20200211.123836-3.jar:?]
at info.magnolia.translation.ext.core.thread.SubmissionThread$1.doExec(SubmissionThread.java:52) [magnolia-content-translation-support-ext-core-3.0.2-20200211.123836-3.jar:?]
at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:407) [magnolia-core-6.1.2.jar:?]
at info.magnolia.context.MgnlContext$VoidOp.exec(MgnlContext.java:404) [magnolia-core-6.1.2.jar:?]
at info.magnolia.context.MgnlContext.doInSystemContext(MgnlContext.java:378) [magnolia-core-6.1.2.jar:?]
at info.magnolia.translation.ext.core.thread.SubmissionThread.processCommand(SubmissionThread.java:47) [magnolia-content-translation-support-ext-core-3.0.2-20200211.123836-3.jar:?]
at info.magnolia.translation.ext.core.thread.AbstractThread.run(AbstractThread.java:61) [magnolia-content-translation-support-ext-core-3.0.2-20200211.123836-3.jar:?]
at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) [?:1.8.0_231]
at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) [?:1.8.0_231]
at java.lang.Thread.run(Thread.java:748) [?:1.8.0_231]

 

Comment by Teresa Miyar [ 19/Feb/20 ]

Hi,

Let me review your test scenarios and get back to you, there is no problem to set up a call any time.

Comment by Teresa Miyar [ 19/Feb/20 ]

It does not work for you because you run the command once, I do let the command in the scheduler to run every 2 minutes, after several runs I have all the documents translated, probably because of the asynchronous nature of this translation and also we have one submission per document while PD has a submission with several files. I need to investigate further, but maybe you can confirm that after several runs of the command all translations are back.

Comment by Teresa Miyar [ 19/Feb/20 ]

Could you share the class nl.dept.magnolia.goudsmit.translationscom.TranslationsComCustomTranslator?

Comment by Ronald Kerstens [ 19/Feb/20 ]

Hi Teresa,

Ljubica has sent met TranslationsComCustomTranslator.java, which I have uploaded as an attachment.

She is also going to e-mail you to set up a call to align on the issue, as she does not have access herself to Magnolia Jira to add comments etc.

Thanks for the quick response

regards
ronald

Generated at Mon Feb 12 00:30:10 CET 2024 using Jira 9.4.2#940002-sha1:46d1a51de284217efdcb32434eab47a99af2938b.