99x / 99x/serverless-dynamodb-local

Cannot start and properly seed DB on offline start

Open
#167 4 comments 0 reactions 0 assignees View on GitHub
Dominant language
JavaScript
Stars
621
Forks
232
PR merge metrics
No merged PRs in 30d

Description

**Actual Behaviour**

I am receiving a `Resource Not Found Exception` when trying to run `sls offline start` with a further error of `Cannot do operations on a non-existent table`

**Expected Behaviour**

I expect the offline server to start with a DB seeded and running so I can make API requests against it without receiving errors that the DB table is not created or cannot be written to

**Steps to reproduce it**

Just running `sls offline start`

https://gist.github.com/Jordan4jc/874a9309348a8b0949ead163bcfd7a06

**LogCat for the issue**

```
Stack Trace
ResourceNotFoundException: Cannot do operations on a non-existent table
at Request.extractError (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/protocol/json.js:48:27)
at Request.callListeners (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/sequential_executor.js:105:20)
at Request.emit (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
at Request.emit (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/request.js:683:14)
at Request.transition (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request. (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/request.js:38:9)
at Request. (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/request.js:685:12)
at Request.callListeners (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/sequential_executor.js:115:18)
at Request.emit (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/sequential_executor.js:77:10)
at Request.emit (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/request.js:683:14)
at Request.transition (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/request.js:22:10)
at AcceptorStateMachine.runTo (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/state_machine.js:14:12)
at /Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/state_machine.js:26:10
at Request. (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/request.js:38:9)
at Request. (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/request.js:685:12)
at Request.callListeners (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/sequential_executor.js:115:18)
at callNextListener (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/sequential_executor.js:95:12)
at IncomingMessage.onEnd (/Users/jordanriser/workspace/nametags/node_modules/aws-sdk/lib/event_listeners.js:269:13)
at emitNone (events.js:91:20)
at IncomingMessage.emit (events.js:185:7)
at endReadableNT (_stream_readable.js:974:12)
at _combinedTickCallback (internal/process/next_tick.js:80:11)
at process._tickDomainCallback (internal/process/next_tick.js:128:9)
From previous event:
at PluginManager.invoke (/Users/jordanriser/.nvm/versions/node/v6.11.2/lib/node_modules/serverless/lib/classes/PluginManager.js:372:22)
at PluginManager.run (/Users/jordanriser/.nvm/versions/node/v6.11.2/lib/node_modules/serverless/lib/classes/PluginManager.js:403:17)
at variables.populateService.then (/Users/jordanriser/.nvm/versions/node/v6.11.2/lib/node_modules/serverless/lib/Serverless.js:102:33)
at runCallback (timers.js:672:20)
at tryOnImmediate (timers.js:645:5)
at processImmediate [as _immediateCallback] (timers.js:617:5)
From previous event:
at Serverless.run (/Users/jordanriser/.nvm/versions/node/v6.11.2/lib/node_modules/serverless/lib/Serverless.js:89:74)
at serverless.init.then (/Users/jordanriser/.nvm/versions/node/v6.11.2/lib/node_modules/serverless/bin/serverless:42:50)
```

Contributor guide

Open the contributing guide

Research direction

Start by reproducing the failure with `sls offline start` and inspect the Serverless DynamoDB Local startup and seeding path implicated by the error. Trace why writes occur before the table exists; done means offline startup creates and seeds the DB, then permits API requests without a ResourceNotFoundException.

Written by the indexing model from the issue text.

Assessment

Tech stack
aws, javascript
Domain
database
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Mostly clear
Newbie friendliness
35/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.