2

Recently I installed SDL Web 8.5 (CMS and CD in a single machine), I followed the SDL Live Content Documentation to perform an installation on a single machine. Everything went smooth, but when I am trying to publish any page, it's getting stuck at Waiting for deployment and finally the publishing fails at preparing deployment with below error;

Polling for notification for destination: GoQF2fif6ZH5scB15oh6rA== has exceeded polling attempts for transaction: tcm:0-2006-66560

I am unable to find out the reason why publishing is stuck.

  • Deployer service is up and running
  • http://localhost:8084/httpupload is up and running
  • Below is the deployer config detail;
<?xml version="1.0" encoding="UTF-8"?>
<Deployer xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" Version="8.5" xsi:noNamespaceSchemaLocation="schemas/deployer-conf.xsd">
    <Pipelines>
        <Pipeline Id="Tridion-Bootstrap" Action="TridionBootstrap" Verb="Content,Prepare,Commit">
            <Steps>
                <Step Id="TridionUnzipStep"/>
            </Steps>
        </Pipeline>
        <Pipeline Id="Tridion-Wait" Action="Deploy,Undeploy" Verb="Wait">
            <Steps>
                <Step Id="TridionWaitStep"/>
            </Steps>
        </Pipeline>
        <Pipeline Id="Tridion-Process-Deploy" Action="Deploy" Verb="Process">
            <Steps>
                <Step Id="SchemaDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                    <Module Class="com.tridion.deployer.modules.SchemaDeploy" Type="SchemaDeploy"/>
                </Step>
                <Step Id="PageDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                    <Module Class="com.tridion.deployer.modules.PageDeploy" Type="PageDeploy">
                        <Transformer Class="com.tridion.transformer.TCDLDefaultTransformer"/>
                    </Module>
                </Step>
                <Step Id="BinaryDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                    <Module Class="com.tridion.deployer.modules.BinaryDeploy" Type="BinaryDeploy"/>
                </Step>
                <Step Id="ComponentDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                    <Module Class="com.tridion.deployer.modules.ComponentDeploy" Type="ComponentDeploy"/>
                </Step>
                <Step Id="TemplateDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                    <Module Class="com.tridion.deployer.modules.TemplateDeploy" Type="TemplateDeploy"/>
                </Step>
                <Step Id="PublicationDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                    <Module Class="com.tridion.deployer.modules.PublicationDeploy" Type="PublicationDeploy"/>
                </Step>
                <Step Id="TaxonomyDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                    <Module Class="com.tridion.deployer.modules.TaxonomyDeploy" Type="TaxonomyDeploy"/>
                </Step>
                <Step Id="ComponentPresentationDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                    <Module Class="com.tridion.deployer.modules.ComponentPresentationDeploy" Type="ComponentPresentationDeploy">
                        <Transformer Class="com.tridion.transformer.TCDLDefaultTransformer"/>
                    </Module>
                </Step>
                <Step Id="StructureGroupDeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                    <Module Class="com.tridion.deployer.modules.StructureGroupDeploy" Type="StructureGroupDeploy"/>
                </Step>
            </Steps>
        </Pipeline>
        <Pipeline Id="Tridion-Process-Undeploy" Action="Undeploy" Verb="Process">
            <Steps>
                <Step Id="PageUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                    <Module Class="com.tridion.deployer.modules.PageUndeploy" Type="PageUndeploy"/>
                </Step>
                <Step Id="ComponentPresentationUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                    <Module Class="com.tridion.deployer.modules.ComponentPresentationUndeploy" Type="ComponentPresentationUndeploy"/>
                </Step>
                <Step Id="TaxonomyUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                    <Module Class="com.tridion.deployer.modules.TaxonomyUndeploy" Type="TaxonomyUndeploy"/>
                </Step>
                <Step Id="StructureGroupUndeploy" Factory="com.sdl.delivery.deployer.steps.TridionExecutableStepFactory">
                    <Module Class="com.tridion.deployer.modules.StructureGroupUndeploy" Type="StructureGroupUndeploy"/>
                </Step>
            </Steps>
        </Pipeline>
        <Pipeline Id="Tridion-PreCommit-TX" Action="Deploy,Undeploy" Verb="PreCommit">
            <Steps>
                <Step Id="TridionPreCommitStep"/>
            </Steps>
        </Pipeline>
        <Pipeline Id="Tridion-Commit-TX" Action="Deploy,Undeploy" Verb="Commit">
            <Steps>
                <Step Id="TridionCommitStep">
                    <RetryPoint PipelineId="Tridion-PreCommit-TX" StepId="TridionPreCommitStep"/>
                </Step>
            </Steps>
        </Pipeline>
        <Pipeline Id="Tridion-Rollback-TX" Action="Deploy,Undeploy" Verb="Rollback">
            <Steps>
                <Step Id="TridionRollbackStep"/>
            </Steps>
        </Pipeline>
        <Pipeline Id="Tridion-Cleanup" Action="Deploy,Undeploy" Verb="*">
            <Steps>
                <Step Id="TridionCleanupStep"/>
            </Steps>
        </Pipeline>
    </Pipelines>
    <BinaryStorage Id="PackageStorage" Adapter="FileSystem">
        <Property Name="Path" Value="C:\SDL\Web\service_folder\binary"/>
    </BinaryStorage>
    <State>
        <Storage Adapter="mssql" driver="com.microsoft.sqlserver.jdbc.SQLServerDriver">
            <Property Name="host" Value="localhost"/>
            <Property Name="port" Value="1433"/>
            <Property Name="database" Value="Tridion_Broker"/>
            <Property Name="user" Value="TridionBrokerUser"/>
            <Property Name="password" Value="*****"/>
        </Storage>
    </State>
    <Queues>
        <Queue Default="true" Verbs="Content" Adapter="FileSystem" Id="ContentQueue">
            <Property Name="Destination" Value="C:\SDL\Web\service_folder\queue\incoming"/>
        </Queue>
        <Queue Verbs="Commit,Rollback" Adapter="FileSystem" Id="CommitQueue">
            <Property Name="Destination" Value="C:\SDL\Web\service_folder\queue\incoming\FinalTX"/>
        </Queue>
        <Queue Verbs="Prepare" Adapter="FileSystem" Id="PrepareQueue">
            <Property Name="Destination" Value="C:\SDL\Web\service_folder\queue\incoming\Prepare"/>
        </Queue>
        <Adapter Id="FileSystem">
            <Property Name="LocationPollingInterval" Value="2s"/> 
        </Adapter>
        <Workers>
            <Property Name="QueuePollingInterval" Value="2s"/>
            <Property Name="RetriesInterval" Value="100ms"/>
            <Property Name="MaxRetries" Value="11"/>
            <Property Name="Cleanup" Value="true"/> 
        </Workers>
    </Queues>
    <License Path="C:\SDL\Web\cd_licenses.xml"/>
</Deployer>
  • Last Portion of Deployer log below (unable to attch the full log because of char limitation)

2017-07-14 01:43:46,034 DEBUG QueueUtil - Using queue: ContentQueue for verb: Content for command: JSONCommand{verbs=[Content], action='TridionBootstrap', binaryIds=[tcm_0-2006-66560.Content.zip], executionId='tcm:0-2006-66560', properties={}} 2017-07-14 01:43:46,034 DEBUG FSDeployerQueue - Queue [Id=ContentQueue]. Serializing command JSONCommand{verbs=[Content], action='TridionBootstrap', binaryIds=[tcm_0-2006-66560.Content.zip], executionId='tcm:0-2006-66560', properties={}} to 'C:\SDL\Web\service_folder\queue\incoming\ContentQueue\tcm_0-2006-66560.Content.json.busy' 2017-07-14 01:43:46,128 DEBUG JSONCommandSerializer - Command serialized '{"executionId":"tcm:0-2006-66560","verbs":["Content"],"action":"TridionBootstrap","binaryIds":["tcm_0-2006-66560.Content.zip"],"properties":{}}' 2017-07-14 01:43:46,144 DEBUG FSDeployerQueue - Queue [Id=ContentQueue]. Command JSONCommand{verbs=[Content], action='TridionBootstrap', binaryIds=[tcm_0-2006-66560.Content.zip], executionId='tcm:0-2006-66560', properties={}} serialized to 'C:\SDL\Web\service_folder\queue\incoming\ContentQueue\tcm_0-2006-66560.Content.json.busy' 2017-07-14 01:43:46,144 DEBUG FSDeployerQueue - Queue [Id=ContentQueue]. Command JSONCommand{verbs=[Content], action='TridionBootstrap', binaryIds=[tcm_0-2006-66560.Content.zip], executionId='tcm:0-2006-66560', properties={}} ready in 'C:\SDL\Web\service_folder\queue\incoming\ContentQueue\tcm_0-2006-66560.Content.json' 2017-07-14 01:43:46,488 INFO FSLocationPoller - Found path: C:\SDL\Web\service_folder\queue\incoming\ContentQueue\tcm_0-2006-66560.Content.json 2017-07-14 01:43:46,488 DEBUG JSONCommandSerializer - Command de-serialized 'JSONCommand{verbs=[Content], action='TridionBootstrap', binaryIds=[tcm_0-2006-66560.Content.zip], executionId='tcm:0-2006-66560', properties={}}' 2017-07-14 01:43:46,488 INFO FSDeployerQueue - Command for file 'C:\SDL\Web\service_folder\queue\incoming\ContentQueue\tcm_0-2006-66560.Content.json' and queue [Id=ContentQueue] de-serialized to JSONCommand{verbs=[Content], action='TridionBootstrap', binaryIds=[tcm_0-2006-66560.Content.zip], executionId='tcm:0-2006-66560', properties={}} 2017-07-14 02:33:14,775 DEBUG DeployerLegacyEndpointController - Retrieving list of files from storage: PackageStorage with extension.progress 2017-07-14 02:33:14,907 DEBUG DeployerLegacyEndpointController - Retrieving list of files from storage: PackageStorage with extension.content.zip 2017-07-14 02:33:15,084 DEBUG QueueUtil - Enqueue command for verb: Content 2017-07-14 02:33:15,085 DEBUG QueueUtil - Using queue: ContentQueue for verb: Content for command: JSONCommand{verbs=[Content], action='TridionBootstrap', binaryIds=[tcm_0-2008-66560.Content.zip], executionId='tcm:0-2008-66560', properties={}} 2017-07-14 02:33:15,086 DEBUG FSDeployerQueue - Queue [Id=ContentQueue]. Serializing command JSONCommand{verbs=[Content], action='TridionBootstrap', binaryIds=[tcm_0-2008-66560.Content.zip], executionId='tcm:0-2008-66560', properties={}} to 'C:\SDL\Web\service_folder\queue\incoming\ContentQueue\tcm_0-2008-66560.Content.json.busy' 2017-07-14 02:33:15,097 DEBUG JSONCommandSerializer - Command serialized '{"executionId":"tcm:0-2008-66560","verbs":["Content"],"action":"TridionBootstrap","binaryIds":["tcm_0-2008-66560.Content.zip"],"properties":{}}' 2017-07-14 02:33:15,118 DEBUG FSDeployerQueue - Queue [Id=ContentQueue]. Command JSONCommand{verbs=[Content], action='TridionBootstrap', binaryIds=[tcm_0-2008-66560.Content.zip], executionId='tcm:0-2008-66560', properties={}} serialized to 'C:\SDL\Web\service_folder\queue\incoming\ContentQueue\tcm_0-2008-66560.Content.json.busy' 2017-07-14 02:33:15,120 DEBUG FSDeployerQueue - Queue [Id=ContentQueue]. Command JSONCommand{verbs=[Content], action='TridionBootstrap', binaryIds=[tcm_0-2008-66560.Content.zip], executionId='tcm:0-2008-66560', properties={}} ready in 'C:\SDL\Web\service_folder\queue\incoming\ContentQueue\tcm_0-2008-66560.Content.json' 2017-07-14 02:33:15,288 INFO FSLocationPoller - Found path: C:\SDL\Web\service_folder\queue\incoming\ContentQueue\tcm_0-2008-66560.Content.json 2017-07-14 02:33:15,298 DEBUG JSONCommandSerializer - Command de-serialized 'JSONCommand{verbs=[Content], action='TridionBootstrap', binaryIds=[tcm_0-2008-66560.Content.zip], executionId='tcm:0-2008-66560', properties={}}' 2017-07-14 02:33:15,299 INFO FSDeployerQueue - Command for file 'C:\SDL\Web\service_folder\queue\incoming\ContentQueue\tcm_0-2008-66560.Content.json' and queue [Id=ContentQueue] de-serialized to JSONCommand{verbs=[Content], action='TridionBootstrap', binaryIds=[tcm_0-2008-66560.Content.zip], executionId='tcm:0-2008-66560', properties={}}

8
  • I don't see any error in deployer log Jul 13, 2017 at 21:35
  • clean you incoming queue folder & publish again and check if package is reaching at incoming folder, also check folder permissions.
    – Raj Kumar
    Jul 14, 2017 at 6:20
  • @RajKumar I can see the transaction zip file is present at C:\SDL\Web\service_folder\binary\Binaries\tcm_0-2008-66560.Content.zip and I see a json file inside incoming folder (C:\SDL\Web\service_folder\queue\incoming\ContentQueue\tcm_0-2008-66560.Content.json). Seems like something is wrong with the cd-deployer config. Could you guide me please. Jul 14, 2017 at 6:39
  • 2
    In 8.5, we have two ways of setting up deployer - deployer-combined and split deployer (deployer service and deployer-worker service). Can you confirm which role you are using in this installation ? If using split deployer, then both deployer and deployer-worker service should be running and the configs should look similar (binary storage and queue configuration). docs.sdl.com/LiveContent/content/en-US/SDL%20Web-v5/…
    – vinayknl
    Jul 18, 2017 at 12:50
  • 1
    In 8.5 CD, are you using deployer-combined or installed deployer and worker service separately? seems to be you only installed deployer
    – Velmurugan
    Jul 19, 2017 at 12:46

2 Answers 2

1

Does the content publish eventually, if you wait long enough? The above could be just a warning, although not the most elegant way to put it. Otherwise it could still be masking a different reason this is happening..

I would try extending the transaction polling timeout for the transport service, here is how (referenced from this SDL Community article):

Increase polling in the transport configuration file, (CMS)\SDL Web\config\cd_transport_conf.xml

For instance, this is the default entry and the numbers may need to be raised via a tuning exercise.

<!-- Specifies the polling attempts and timeout in minutes and interval between polls in milliseconds -->
<Polling MaxAttempts="900" Timeout="15" Interval="5000"/>

This setting signifies the time interval between checks for feedback.

With the setup above, the poller will check every 5 seconds for the status of each transport package.

It will stop polling after 900 tries, or after the combination of attempts and interval which in this case is (900 x 5)/60 = 75 min ( 1 hr & 15 min), or after the assigned interval of 15 minutes.

MaxAttempts - The maximum number of polling attempts

Interval - the interval between polling attempts, in milliseconds

Timeout - the polling timeout period, in minutes

A transaction will be failed once the first of two limits is exceeded.

1
  • Good point. If it fails on the deployment side before your polling runs out, you'll see the failure reported back. When it says "exceeded polling attempts" the indication is that either 1) the deployer is still busy and has not yet failed, or 2) it's failed in some way that prevents it reporting failure back the CM. Apr 15, 2018 at 19:20
0

The process for publishing is:

  1. Publisher Service creates ZIP package and places it in the incoming transport folder
  2. Transport service picks it up and puts it in the incoming Deployer folder
  3. Deployer service is listening on the folder, gets the transport package, and using the storage_conf settings, stores the content

I'd suggest to start with a fresh Deployer setup, and fresh set of config files. Also, maybe put your transport service in info or debug mode and see the log messages.

You can find out more info on the publish status steps in the online documentation here: http://docs.sdl.com/LiveContent/content/en-US/SDL%20Web%20Cloud-v1/GUID-714ACA0C-264F-4C63-8C93-AFFDA95C3DA3

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge that you have read and understand our privacy policy and code of conduct.

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