SDDC Manager 5.X failed to download the Bundle due to "Got IOException while downloading bundle Premature end of Content-Length delimited message body (expected: #####; received: #####)"
search cancel

SDDC Manager 5.X failed to download the Bundle due to "Got IOException while downloading bundle Premature end of Content-Length delimited message body (expected: #####; received: #####)"

book

Article ID: 455050

calendar_today

Updated On:

Products

VMware SDDC Manager / VCF Installer

Issue/Introduction

Bundle download failed and lcm.log show error like below.

YYYY-MM-DDTHH:MM:SS.MS+HH:MM ERROR [vcf_lcm,######,####,bundleId=########-####-####-####-############] [c.v.e.s.l.b.d.d.DepotBundleDownloadServiceImpl,vac-scheduler-1] Got IOException while downloading bundle [/COMP/SDDC_MANAGER_VCF/bundles/bundle-########.tar]: Premature end of Content-Length delimited message body (expected: ##########; received: ##########;)
YYYY-MM-DDTHH:MM:SS.MS+HH:MM ERROR [vcf_lcm,,######,####,] [c.v.e.s.l.s.i.BundleDownloadExceptionHandlerImpl,vac-scheduler-1] Bundle download failed
      com.vmware.evo.sddc.lcm.model.depot.exception.DepotConnectionFailureException: Error downloading bundle [/COMP/SDDC_MANAGER_VCF/bundles/bundle-########.tar] from <FQDN>:443
      at com.vmware.evo.sddc.lcm.bundle.download.depot.DepotBundleDownloadServiceImpl.getBundle(DepotBundleDownloadServiceImpl.java:562)
      at com.vmware.evo.sddc.lcm.core.scheduler.BundleDownloadScheduler.bundleDownloadTask(BundleDownloadScheduler.java:367)
      at com.vmware.evo.sddc.lcm.core.scheduler.BundleDownloadScheduler.processTask(BundleDownloadScheduler.java:452)
      at com.vmware.evo.sddc.lcm.model.task.AbstractLcmControllableScheduledTask.recieveMessage(AbstractLcmControllableScheduledTask.java:51)
      at jdk.internal.reflect.GeneratedMethodAccessor160.invoke(Unknown Source)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:568)
      at com.google.common.eventbus.Subscriber.invokeSubscriberMethod(Subscriber.java:85)
      at com.google.common.eventbus.Subscriber$SynchronizedSubscriber.invokeSubscriberMethod(Subscriber.java:142)
      at com.google.common.eventbus.Subscriber.lambda$dispatchEvent$0(Subscriber.java:71)
      at com.google.common.util.concurrent.DirectExecutor.execute(DirectExecutor.java:31)
      at com.google.common.eventbus.Subscriber.dispatchEvent(Subscriber.java:68)
      at com.google.common.eventbus.Dispatcher$PerThreadQueuedDispatcher.dispatch(Dispatcher.java:109)
      at com.google.common.eventbus.EventBus.post(EventBus.java:270)
      at com.vmware.evo.sddc.lcm.core.scheduler.BundleDownloadScheduler.scheduleBundleDownload(BundleDownloadScheduler.java:117)
      at jdk.internal.reflect.GeneratedMethodAccessor158.invoke(Unknown Source)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:568)
      at org.springframework.aop.support.AopUtils.invokeJoinpointUsingReflection(AopUtils.java:343)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.invokeJoinpoint(ReflectiveMethodInvocation.java:196)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:163)
      at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
      at org.springframework.aop.aspectj.MethodInvocationProceedingJoinPoint.proceed(MethodInvocationProceedingJoinPoint.java:89)
      at com.vmware.vcf.common.tracing.TraceSchedulingAspect.wrapScheduledIntoSpan(TraceSchedulingAspect.java:28)
      at jdk.internal.reflect.GeneratedMethodAccessor159.invoke(Unknown Source)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:568)
      at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethodWithGivenArgs(AbstractAspectJAdvice.java:637)
      at org.springframework.aop.aspectj.AbstractAspectJAdvice.invokeAdviceMethod(AbstractAspectJAdvice.java:627)
      at org.springframework.aop.aspectj.AspectJAroundAdvice.invoke(AspectJAroundAdvice.java:71)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
      at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
      at org.springframework.aop.interceptor.ExposeInvocationInterceptor.invoke(ExposeInvocationInterceptor.java:97)
      at org.springframework.aop.framework.ReflectiveMethodInvocation.proceed(ReflectiveMethodInvocation.java:184)
      at org.springframework.aop.framework.CglibAopProxy$CglibMethodInvocation.proceed(CglibAopProxy.java:751)
      at org.springframework.aop.framework.CglibAopProxy$DynamicAdvisedInterceptor.intercept(CglibAopProxy.java:703)
      at com.vmware.evo.sddc.lcm.core.scheduler.BundleDownloadScheduler$$SpringCGLIB$$0.scheduleBundleDownload(<generated>)
      at jdk.internal.reflect.GeneratedMethodAccessor158.invoke(Unknown Source)
      at java.base/jdk.internal.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
      at java.base/java.lang.reflect.Method.invoke(Method.java:568)
      at org.springframework.scheduling.support.ScheduledMethodRunnable.run(ScheduledMethodRunnable.java:84)
      at org.springframework.scheduling.support.DelegatingErrorHandlingRunnable.run(DelegatingErrorHandlingRunnable.java:54)
      at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:539)
      at java.base/java.util.concurrent.FutureTask.runAndReset(FutureTask.java:305)
      at java.base/java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:305)
      at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1136)
      at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:635)
      at java.base/java.lang.Thread.run(Thread.java:840)

According to the packet capture, the download session didn't receive any data from the peer and SDDC Manager sent FIN to give up the session.

 

Environment

SDDC Manager 5.X

Cause

In some SDDC Manager version, the idle timeout was mistakenly set to 3 minutes, which was intended to set 10 minutes and SDDC Manager gave up the download session after 3 minutes idle time.

The idle timeout issue was currently fixed in 5.2.2.0 and 9.0 or later, but not fixed in other 5.X versions including 5.2.3.0 or later.

Resolution

Manually download and upload the bundle following by KB411672.