vmware / vmware/singleton

[BUG] [L10n service]Source can't be collected into S3 storage.

Open
#2,722 0 comments 0 reactions 1 assignee View on GitHub

@tigershi is already working on this.

Since Sep 26, 2023.

area/java-service kind/bug priority/high
Dominant language
Java
Stars
72
Forks
69
Avg merge
23h 32m
Merged PRs (30d)
4

Description

Describe the bug
commit: 30dcfe321eeac05e989e9375563ba76465b4b62f
Source can't be collected into S3 storage.

To Reproduce
Steps to reproduce the behavior:

  1. Send out source collection request to l10n service via POST api.
  2. Make the blow error shown up on l10n console and continue posting the request via concurrent threads.
2023-09-26 00:00:11,046 [VIP] [L10n] [WARN] [scheduling-1] com.vmware.l10n.utils.S3Util$Locker.lockFile(S3Util.java:118) - putVersiongId:TP9sBhlGekr435r3BLUlkuMtliEKKuG0, getVersionId?TP9sBhlGekr435r3BLUlkuMtliEKKuG0
2023-09-26 00:00:21,355 [VIP] [L10n] [WARN] [scheduling-1] com.vmware.l10n.utils.S3Util$Locker.waitLockfileDisappeared(S3Util.java:173) - failed to wait for lockfile disappeared
2023-09-26 00:00:21,355 [VIP] [L10n] [WARN] [scheduling-1] com.vmware.l10n.source.dao.impl.S3SourceDaoImpl.updateToBundle(S3SourceDaoImpl.java:84) - failed to lock bundle file, return.
2023-09-26 00:00:21,356 [VIP] [L10n] [ERROR] [scheduling-1] com.vmware.l10n.source.service.impl.SyncLocalBundleServiceImpl.mergeSourceToLocalBundle(SyncLocalBundleServiceImpl.java:108) - Failed to update source:Testing.default.1.0.0
com.vmware.vip.common.l10n.exception.L10nAPIException: Failed to update source:Testing.default.1.0.0
	at com.vmware.l10n.source.service.impl.SyncLocalBundleServiceImpl.mergeSourceToLocalBundle(SyncLocalBundleServiceImpl.java:102) [classes!/:0.1.0]
	at com.vmware.l10n.crons.SourceLocalBundleCron.syncSourceToLocalBundleCron(SourceLocalBundleCron.java:31) [classes!/:0.1.0]
	at jdk.internal.reflect.GeneratedMethodAccessor46.invoke(Unknown Source) ~[?:?]
	at jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) ~[?:?]
	at java.lang.reflect.Method.invoke(Method.java:568) ~[?:?]
	at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84) [spring-context-6.0.11.jar!/:6.0.11]
	at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54) [spring-context-6.0.11.jar!/:6.0.11]
	at org.springframework.scheduling.concurrent.ReschedulingRunnable.run(ReschedulingRunnable.java:96) [spring-context-6.0.11.jar!/:6.0.11]
	at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539) [?:?]
	at java.util.concurrent.FutureTask.run(FutureTask.java:264) [?:?]
	at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:304) [?:?]
	at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136) [?:?]
	at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635) [?:?]
	at java.lang.Thread.run(Thread.java:833) [?:?]
2023-09-26 00:01:00,178 [VIP] [L10n] [WARN] [scheduling-1] com.vmware.l10n.utils.S3Util$Locker.waitLockfileDisappeared(S3Util.java:164) - deleted dead lock file
2023-09-26 00:01:02,177 [VIP] [L10n] [WARN] [scheduling-1] com.vmware.l10n.utils.S3Util$Locker.lockFile(S3Util.java:118) - putVersiongId:XvGzKvUpIDVfOsGqKnPvQhiHI86prjZr, getVersionId?gpCGTNjwdWPaqOJDoN_tax.gBLTOVIIU
2023-09-26 00:01:11,970 [VIP] [L10n] [WARN] [scheduling-1] com.vmware.l10n.utils.S3Util$Locker.waitLockfileDisappeared(S3Util.java:173) - failed to wait for lockfile disappeared
2023-09-26 00:01:11,970 [VIP] [L10n] [WARN] [scheduling-1] com.vmware.l10n.source.dao.impl.S3SourceDaoImpl.updateToBundle(S3SourceDaoImpl.java:84) - failed to lock bundle file, return.
2023-09-26 00:01:11,970 [VIP] [L10n] [ERROR] [scheduling-1] 
  1. The source can be collected to S3 and it also blocks others product's collection.

Expected behavior
All products' source should be collected and stored into s3.

Contributor guide

Open the contributing guide

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.