Alexa fails to send skill request after connecting to MongoDb

Viewed 79

I have a strange thing going on in my Alexa skill. My skill requires to connect with MongoDB and save data. Whenever I connect to database, Alexa is giving me this response: "There was a problem with the requested skill's response". It is completely weired because few days ago my database and Alexa skill were perfectly working. Now, suddenly, I don't get any response from Alexa even though my database in connected and creats documents.

Below is my JSON INPUT and code from the Launchrequesthandler :

{
"version": "1.0",
"session": {
    "new": true,
    "sessionId": "amzn1.echo-api.session.b163d6da-ab3d-483c-ba19-60156810739c",
    "application": {
        "applicationId": "amzn1.ask.skill.bd7f1ea6-53ab-41af-9a59-4853d4906373"
    },
    "user": {
        "userId": "amzn1.ask.account.AFMYVNKRB3REUKGDDLGIFOYXR53ISFLYHQJXHO2YDRYVQCPCRLYQFIVLBE5HDXH6FNMTMN4YLXHR6ZMSJEFQ3Y2BRI76N2FHSHDXAWUPVFB6JKWSRTPA7EWOH6ZOF24KY5DXUBA3UMUY3TNQZ42AOOFESTFWW6VLTU63AHHQMMPKA74M2WX66TN4IYOZUNLMBXMX3LCUBWPO4FY"
    }
},
"context": {
    "Viewports": [
        {
            "type": "APL",
            "id": "main",
            "shape": "RECTANGLE",
            "dpi": 213,
            "presentationType": "STANDARD",
            "canRotate": false,
            "configuration": {
                "current": {
                    "mode": "HUB",
                    "video": {
                        "codecs": [
                            "H_264_42",
                            "H_264_41"
                        ]
                    },
                    "size": {
                        "type": "DISCRETE",
                        "pixelWidth": 1280,
                        "pixelHeight": 800
                    }
                }
            }
        }
    ],
    "Viewport": {
        "experiences": [
            {
                "arcMinuteWidth": 346,
                "arcMinuteHeight": 216,
                "canRotate": false,
                "canResize": false
            }
        ],
        "mode": "HUB",
        "shape": "RECTANGLE",
        "pixelWidth": 1280,
        "pixelHeight": 800,
        "dpi": 213,
        "currentPixelWidth": 1280,
        "currentPixelHeight": 800,
        "touch": [
            "SINGLE"
        ],
        "video": {
            "codecs": [
                "H_264_42",
                "H_264_41"
            ]
        }
    },
    "Extensions": {
        "available": {
            "aplext:backstack:10": {}
        }
    },
    "System": {
        "application": {
            "applicationId": "amzn1.ask.skill.bd7f1ea6-53ab-41af-9a59-4853d4906373"
        },
        "user": {
            "userId": "amzn1.ask.account.AFMYVNKRB3REUKGDDLGIFOYXR53ISFLYHQJXHO2YDRYVQCPCRLYQFIVLBE5HDXH6FNMTMN4YLXHR6ZMSJEFQ3Y2BRI76N2FHSHDXAWUPVFB6JKWSRTPA7EWOH6ZOF24KY5DXUBA3UMUY3TNQZ42AOOFESTFWW6VLTU63AHHQMMPKA74M2WX66TN4IYOZUNLMBXMX3LCUBWPO4FY"
        },
        "device": {
            "deviceId": "amzn1.ask.device.AHVUJSCJ4KXLFF5SOTIFUCLYUXGBZFLUK3QURQHGX5S7N5E53K7O3ZXEO5V7KFPDR6XPPZECKTX5HEWB3BTLGAM34J7DVPKOALFNNDXCYDUIQWHNH327H3LCV3RNS7XFQLMJ6FXZ36JB5SF3YRUAEULDNIQCBSGZPR7J7KPCGCAHLPJXV5YRA",
            "supportedInterfaces": {}
        },
        "apiEndpoint": "https://api.amazonalexa.com",
        "apiAccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjEifQ.eyJhdWQiOiJodHRwczovL2FwaS5hbWF6b25hbGV4YS5jb20iLCJpc3MiOiJBbGV4YVNraWxsS2l0Iiwic3ViIjoiYW16bjEuYXNrLnNraWxsLmJkN2YxZWE2LTUzYWItNDFhZi05YTU5LTQ4NTNkNDkwNjM3MyIsImV4cCI6MTYyNjY2MDY3NCwiaWF0IjoxNjI2NjYwMzc0LCJuYmYiOjE2MjY2NjAzNzQsInByaXZhdGVDbGFpbXMiOnsiY29udGV4dCI6IkFBQUFBQUFBQUFDWFBEU1FPNldCNURRZG9RaCtXRHZjS2dFQUFBQUFBQUFJVkx0RDV3L1VSTklPK1VEQkVGZWdDUTA2Z3IvZ1dRZHFCUThYSzBjSmZmQUhDRXRsR05QUDNEeXRVVjcyc1VFbWFHMktETjc1MkpMemNPNDhpdm1WYlFjbEMrZ1VrUU9BY09RUEw3R1JEVGd5SUpPVStoVkRNQ1BJdmJhd2F1YUUxM2wzcE95WmFlVDdocnA0dDF6bXJ6MkdyM1BJbXdBbm1WaGNlakpqRCtVUHFZL0VPeGRRNm5OaGs5eXVZdEF3alF1dkpwWFM3ZkQzSmlwbVR5eTkwVHRiSERlckxUN2lmaTV2cnJpdHNBS1FjbksrY2VzRjErRm9zbUZLYmZsbWJpa3lIZVo5LzE4VmJ2d0tBelVreW9BVXI2aUQvakt6VjVUTzlyYjduZmZXdWZVZXNDMEhtM3lzWEhUbFRXSHhVektGR2NySHBzQ1kwSXBGRldWaTV6aEp4S3ovZ0RUbUdnZ09uajVDcnkxWHhrd1c3bXZQa1YxdFJrUUlkSnlBNElZMzJHV3FZMXQyIiwiY29uc2VudFRva2VuIjpudWxsLCJkZXZpY2VJZCI6ImFtem4xLmFzay5kZXZpY2UuQUhWVUpTQ0o0S1hMRkY1U09USUZVQ0xZVVhHQlpGTFVLM1FVUlFIR1g1UzdONUU1M0s3TzNaWEVPNVY3S0ZQRFI2WFBQWkVDS1RYNUhFV0IzQlRMR0FNMzRKN0RWUEtPQUxGTk5EWENZRFVJUVdITkgzMjdIM0xDVjNSTlM3WEZRTE1KNkZYWjM2SkI1U0YzWVJVQUVVTEROSVFDQlNHWlBSN0o3S1BDR0NBSExQSlhWNVlSQSIsInVzZXJJZCI6ImFtem4xLmFzay5hY2NvdW50LkFGTVlWTktSQjNSRVVLR0RETEdJRk9ZWFI1M0lTRkxZSFFKWEhPMllEUllWUUNQQ1JMWVFGSVZMQkU1SERYSDZGTk1UTU40WUxYSFI2Wk1TSkVGUTNZMkJSSTc2TjJGSFNIRFhBV1VQVkZCNkpLV1NSVFBBN0VXT0g2Wk9GMjRLWTVEWFVCQTNVTVVZM1ROUVo0MkFPT0ZFU1RGV1c2VkxUVTYzQUhIUU1NUEtBNzRNMldYNjZUTjRJWU9aVU5MTUJYTVgzTENVQldQTzRGWSJ9fQ.MheHasYZKwNcTzwQLjt42C_yujmQJrGGHQ6tvWXt7uNTRzi73-MzzxXMOrztDYaBBCHmHZQS0Qy0-blTfgBT2Yqj5W5gAmcAc_CKKZhh4awlM1xGSAD87kOW8ZiLY2n68IfiKTsUHf6Bp4YiLOMcWWErSTCq91JeYeau0W7B5TvZGTm04OmfK-qkZBVPq6ME8_ulukdZUNxIpVUItkSEuhppcegUcGkzqYdrPRY0BJrsBe-Pytu5xLRiBM3T78nTysnGM288IJSccGJ4rmW4UdzHA_lnH7543QhgU9t71JRncgEDKEsEcVgxs5biFR9il4W8ASfwuDeJhdy8HpiXZw"
    }
},
"request": {
    "type": "LaunchRequest",
    "requestId": "amzn1.echo-api.request.3e29f996-69b2-4e90-bfef-628d74f57307",
    "locale": "en-US",
    "timestamp": "2021-07-19T02:06:14Z",
    "shouldLinkResultBeReturned": false
}

}

    //database connection//
 const q="mongodb+srv://sumya:sumya123@mydata.acxs0.mongodb.net/Mydata?retryWrites=true&w=majority";


 mongoose.connect(q,{ useNewUrlParser: true, useUnifiedTopology: true,useFindAndModify: false })
.then(() => console.log("Database connected!")
)
 .catch(err => console.log(err))
 

const Alexa = require('ask-sdk-core');



const LaunchRequestHandler = {
    canHandle(handlerInput) {
        return Alexa.getRequestType(handlerInput.requestEnvelope) === 'LaunchRequest';
    },
   async handle(handlerInput) {
        const speakOutput = 'Hi, I am Nao. I am here to give you counseling on your anxiety issues. Can I have your name, please? Note: We are not professional therapists or counselors. ';

    const useri=handlerInput.requestEnvelope.session.user.userID;
      const z=handlerInput.requestEnvelope.session.sessionId;
      const g=Alexa.getUserId(handlerInput.requestEnvelope);
      
      
         
          


        const curr_session=new post.session({
            alexa_sessionid:z
        });
        
        let user=await post.findOne({userID:g});
         if(!user){
              user=new post({
            userID:g
        });
             
         }
        user.session_list.push(curr_session);
        user.save();
        
        
         
      
        return handlerInput.responseBuilder
            .speak(speakOutput)
            .reprompt(speakOutput)
            .getResponse();
    }
};

Here is the Log that I got from Cloudwatch.

START RequestId: 6a416b77-5d2c-4ebe-8ac4-dec09f67e9b9 Version: 304
2021-07-19T16:40:00.570Z    6a416b77-5d2c-4ebe-8ac4-dec09f67e9b9    INFO    Database connected!
END RequestId: 6a416b77-5d2c-4ebe-8ac4-dec09f67e9b9
REPORT RequestId: 6a416b77-5d2c-4ebe-8ac4-dec09f67e9b9  Duration: 8008.11 ms    Billed Duration: 8000 ms    Memory Size: 512 MB Max Memory Used: 102 MB Init Duration: 653.49 ms    
2021-07-19T16:40:08.023Z 6a416b77-5d2c-4ebe-8ac4-dec09f67e9b9 Task timed out after 8.01 seconds

START RequestId: 4e671447-8207-414e-aaf4-9a807fe3ac01 Version: 304
2021-07-19T16:40:08.894Z    4e671447-8207-414e-aaf4-9a807fe3ac01    INFO    ~~~~ Session ended: 
{
    "version": "1.0",
    "session": {
        "new": false,
        "sessionId": "amzn1.echo-api.session.05ca6843-cdc8-47eb-9a5f-081942cf2674",
        "application": {
            "applicationId": "amzn1.ask.skill.bd7f1ea6-53ab-41af-9a59-4853d4906373"
        },
        "user": {
            "userId": "amzn1.ask.account.AFMYVNKRB3REUKGDDLGIFOYXR53ISFLYHQJXHO2YDRYVQCPCRLYQFIVLBE5HDXH6FNMTMN4YLXHR6ZMSJEFQ3Y2BRI76N2FHSHDXAWUPVFB6JKWSRTPA7EWOH6ZOF24KY5DXUBA3UMUY3TNQZ42AOOFESTFWW6VLTU63AHHQMMPKA74M2WX66TN4IYOZUNLMBXMX3LCUBWPO4FY"
        }
    },
    "context": {
        "Viewports": [
            {
                "type": "APL",
                "id": "main",
                "shape": "RECTANGLE",
                "dpi": 213,
                "presentationType": "STANDARD",
                "canRotate": false,
                "configuration": {
                    "current": {
                        "mode": "HUB",
                        "video": {
                            "codecs": [
                                "H_264_42",
                                "H_264_41"
                            ]
                        },
                        "size": {
                            "type": "DISCRETE",
                            "pixelWidth": 1280,
                            "pixelHeight": 800
                        }
                    }
                }
            }
        ],
        "Viewport": {
            "experiences": [
                {
                    "arcMinuteWidth": 346,
                    "arcMinuteHeight": 216,
                    "canRotate": false,
                    "canResize": false
                }
            ],
            "mode": "HUB",
            "shape": "RECTANGLE",
            "pixelWidth": 1280,
            "pixelHeight": 800,
            "dpi": 213,
            "currentPixelWidth": 1280,
            "currentPixelHeight": 800,
            "touch": [
                "SINGLE"
            ],
            "video": {
                "codecs": [
                    "H_264_42",
                    "H_264_41"
                ]
            }
        },
        "Extensions": {
            "available": {
                "aplext:backstack:10": {}
            }
        },
        "System": {
            "application": {
                "applicationId": "amzn1.ask.skill.bd7f1ea6-53ab-41af-9a59-4853d4906373"
            },
            "user": {
                "userId": "amzn1.ask.account.AFMYVNKRB3REUKGDDLGIFOYXR53ISFLYHQJXHO2YDRYVQCPCRLYQFIVLBE5HDXH6FNMTMN4YLXHR6ZMSJEFQ3Y2BRI76N2FHSHDXAWUPVFB6JKWSRTPA7EWOH6ZOF24KY5DXUBA3UMUY3TNQZ42AOOFESTFWW6VLTU63AHHQMMPKA74M2WX66TN4IYOZUNLMBXMX3LCUBWPO4FY"
            },
            "device": {
                "deviceId": "amzn1.ask.device.AHVUJSCJ4KXLFF5SOTIFUCLYUXGBZFLUK3QURQHGX5S7N5E53K7O3ZXEO5V7KFPDR6XPPZECKTX5HEWB3BTLGAM34J7DVPKOALFNNDXCYDUIQWHNH327H3LCV3RNS7XFQLMJ6FXZ36JB5SF3YRUAEULDNIQCBSGZPR7J7KPCGCAHLPJXV5YRA",
                "supportedInterfaces": {}
            },
            "apiEndpoint": "https://api.amazonalexa.com",
            "apiAccessToken": "eyJ0eXAiOiJKV1QiLCJhbGciOiJSUzI1NiIsImtpZCI6IjEifQ.eyJhdWQiOiJodHRwczovL2FwaS5hbWF6b25hbGV4YS5jb20iLCJpc3MiOiJBbGV4YVNraWxsS2l0Iiwic3ViIjoiYW16bjEuYXNrLnNraWxsLmJkN2YxZWE2LTUzYWItNDFhZi05YTU5LTQ4NTNkNDkwNjM3MyIsImV4cCI6MTYyNjcxMzA5OCwiaWF0IjoxNjI2NzEyNzk4LCJuYmYiOjE2MjY3MTI3OTgsInByaXZhdGVDbGFpbXMiOnsiY29udGV4dCI6IkFBQUFBQUFBQUFDWFBEU1FPNldCNURRZG9RaCtXRHZjS2dFQUFBQUFBQUE2aVpRZUVXeHoyTG9zdVRVQktXTmIzSXVCUU51cEZnMzgzdzZRUnVTN1U1eU5qQUF3a2puZVk2Si9DWS85TTN1QWFEMVQrZS9ndktVNVFOaWxCT3RpdEV4d3ZYdXVEekZ1WDdhQ1hCc2xlVWdYenNSZWg2Q1RjaGUvR3pwdkk3eEE5NzBydlRCeVlCNll0WVVvZVpyZmZMT2w5Z09iQVpUaHpyKzVOOTBPRWdwNUpXMjdvYUhDSkxHVStxZHFUd3RQVzI3M2RPSEZ5N3Zzc2VSTFdIc0o2WUVjeVFwa2p5QzZyRU1yNlRLdVBHSG1ZemIzVGxmb043cTlGdGI0THFFdGwrSkdXeU1mVTBMeEllNGZ3OWhWa1lFR3BLeEl1c0VPc1FOenh6UVV1UEJiZ3Z1T0dDN2Q1KzM4YnY4UWQyb2twUzlNZ2R1ZTlPamxnSlRvbmFFMS9nNFVxYlBZM0dqZEgzMVV3NFZLR29CekJRaGdXMDlTVDFJRmZELzhwcmF2dFFMYmNGQ0tlcklPIiwiY29uc2VudFRva2VuIjpudWxsLCJkZXZpY2VJZCI6ImFtem4xLmFzay5kZXZpY2UuQUhWVUpTQ0o0S1hMRkY1U09USUZVQ0xZVVhHQlpGTFVLM1FVUlFIR1g1UzdONUU1M0s3TzNaWEVPNVY3S0ZQRFI2WFBQWkVDS1RYNUhFV0IzQlRMR0FNMzRKN0RWUEtPQUxGTk5EWENZRFVJUVdITkgzMjdIM0xDVjNSTlM3WEZRTE1KNkZYWjM2SkI1U0YzWVJVQUVVTEROSVFDQlNHWlBSN0o3S1BDR0NBSExQSlhWNVlSQSIsInVzZXJJZCI6ImFtem4xLmFzay5hY2NvdW50LkFGTVlWTktSQjNSRVVLR0RETEdJRk9ZWFI1M0lTRkxZSFFKWEhPMllEUllWUUNQQ1JMWVFGSVZMQkU1SERYSDZGTk1UTU40WUxYSFI2Wk1TSkVGUTNZMkJSSTc2TjJGSFNIRFhBV1VQVkZCNkpLV1NSVFBBN0VXT0g2Wk9GMjRLWTVEWFVCQTNVTVVZM1ROUVo0MkFPT0ZFU1RGV1c2VkxUVTYzQUhIUU1NUEtBNzRNMldYNjZUTjRJWU9aVU5MTUJYTVgzTENVQldQTzRGWSJ9fQ.d-u2NVM8g_trqjKN_IxpFYy1_Fp-iL6MhTV8uOqScwa-kQF4ax-LzOWKaOE-ZrTW75UGhf6LxNorGxEDDhzNajObdQt9NBGIoM-E-LcLX1rjKvUarDgHvbQFLMt5HzjKNBSJjJ-ZyQodmI-7qDijf5vag3ea6ITEP1jciU5A0iMAtZNhKDNp0hgt7oyfYypRihWklSFrj21KXBjwo0nO0mJyA-Q81jAJU-wjxLDLXm6btsD4z4NWtHYMkjiEcjXfPhE6MyFNEH1_jPU6HbnOl1xRQJkEtTZeb6C44ZmzUkfrKRgWetWqfOr2GnF11vpKGk2_ueoNJZcBoJhzr57DiQ"
        }
    },
    "request": {
        "type": "SessionEndedRequest",
        "requestId": "amzn1.echo-api.request.bf2b3b37-7260-4813-a43c-b94ae49b45bf",
        "timestamp": "2021-07-19T16:40:08Z",
        "locale": "en-US",
        "reason": "ERROR",
        "error": {
            "type": "INVALID_RESPONSE",
            "message": "An exception occurred while dispatching the request to the skill."
        }
    }
}
1 Answers

If you are hosting skill in lambda, there may be a chance for timeout. Database operations may take time, meanwhile lambda closed the session.

I think following log line suggests the same.

**2021-07-19T16:40:08.023Z 6a416b77-5d2c-4ebe-8ac4-dec09f67e9b9 Task timed out after 8.01 seconds**

Also, we have to consider maximum time allowed for Alexa to receive the response from end point. It is good to cap the response by 8 secs. For more information : DeferredResponse

Related