Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

fix: Treat 413 HTTP status as recoverable for events. #348

Merged
merged 3 commits into from
Jan 16, 2024

Conversation

kinyoklion
Copy link
Member

No description provided.

Copy link

This pull request has been linked to Shortcut Story #229691: Do not permanently fail event delivery on a http 413..

@kinyoklion kinyoklion marked this pull request as ready for review January 16, 2024 22:48
@@ -168,7 +168,9 @@ export default class EventProcessor implements LDEventProcessor {

async flush(): Promise<void> {
if (this.shutdown) {
throw new LDInvalidSDKKeyError('Events cannot be posted because SDK key is invalid');
throw new LDInvalidSDKKeyError(
Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

This type isn't ideal. I am hesitant to change the actual type though.

Comment on lines 171 to 173
throw new LDInvalidSDKKeyError(
'Events cannot be posted because a permanent error has been encountered.',
);
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe we should create a different error kind rather than use LDInvalidSDKKeyError? It is misleading and confusing.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I did comment on this before the review. Do you have something to assuage my concern? I could alternatively throw this exception type specifically for only that condition.

Adding different exception types could be considered a breaking change.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Maybe I will check the text to recommend checking their key. In practice this will be a bad SDK key, a bad URL, or rate limiting.

Copy link
Member Author

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

I've extended the message at least to be less confusing.

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Do you have something to assuage my concern

Apologies I missed your earlier comment about this. I checked the extended message and I think this is fine for now. Thank you.

Copy link
Contributor

@yusinto yusinto left a comment

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

One minor comment about the error kind.

@kinyoklion kinyoklion merged commit 4a6d4c3 into main Jan 16, 2024
16 checks passed
@kinyoklion kinyoklion deleted the rlamb/sc-229691/handle-413-status branch January 16, 2024 23:24
@github-actions github-actions bot mentioned this pull request Jan 16, 2024
kinyoklion added a commit that referenced this pull request Jan 17, 2024
🤖 I have created a release *beep* *boop*
---


<details><summary>akamai-edgeworker-sdk-common: 1.0.6</summary>

##
[1.0.6](akamai-edgeworker-sdk-common-v1.0.5...akamai-edgeworker-sdk-common-v1.0.6)
(2024-01-16)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-server-sdk-common bumped from ^2.1.2 to ^2.1.3
</details>

<details><summary>akamai-server-base-sdk: 2.0.6</summary>

##
[2.0.6](akamai-server-base-sdk-v2.0.5...akamai-server-base-sdk-v2.0.6)
(2024-01-16)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
* @launchdarkly/akamai-edgeworker-sdk-common bumped from ^1.0.5 to
^1.0.6
    * @launchdarkly/js-server-sdk-common bumped from ^2.1.2 to ^2.1.3
</details>

<details><summary>akamai-server-edgekv-sdk: 1.0.14</summary>

##
[1.0.14](akamai-server-edgekv-sdk-v1.0.13...akamai-server-edgekv-sdk-v1.0.14)
(2024-01-16)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
* @launchdarkly/akamai-edgeworker-sdk-common bumped from ^1.0.5 to
^1.0.6
    * @launchdarkly/js-server-sdk-common bumped from ^2.1.2 to ^2.1.3
</details>

<details><summary>cloudflare-server-sdk: 2.3.3</summary>

##
[2.3.3](cloudflare-server-sdk-v2.3.2...cloudflare-server-sdk-v2.3.3)
(2024-01-16)


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @launchdarkly/js-server-sdk-common-edge bumped from 2.1.2 to 2.1.3
</details>

<details><summary>js-client-sdk-common: 0.1.2</summary>

##
[0.1.2](js-client-sdk-common-v0.1.1...js-client-sdk-common-v0.1.2)
(2024-01-16)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-sdk-common bumped from 2.1.0 to 2.1.1
</details>

<details><summary>js-sdk-common: 2.1.1</summary>

##
[2.1.1](js-sdk-common-v2.1.0...js-sdk-common-v2.1.1)
(2024-01-16)


### Bug Fixes

* remove type modifiers on imports for better TS compatibility
([#346](#346))
([3506349](3506349))
* Treat 413 HTTP status as recoverable for events.
([#348](#348))
([4a6d4c3](4a6d4c3))
</details>

<details><summary>js-server-sdk-common: 2.1.3</summary>

##
[2.1.3](js-server-sdk-common-v2.1.2...js-server-sdk-common-v2.1.3)
(2024-01-16)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-sdk-common bumped from 2.1.0 to 2.1.1
</details>

<details><summary>js-server-sdk-common-edge: 2.1.3</summary>

##
[2.1.3](js-server-sdk-common-edge-v2.1.2...js-server-sdk-common-edge-v2.1.3)
(2024-01-16)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-server-sdk-common bumped from 2.1.2 to 2.1.3
</details>

<details><summary>node-server-sdk: 9.0.6</summary>

##
[9.0.6](node-server-sdk-v9.0.5...node-server-sdk-v9.0.6)
(2024-01-16)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-server-sdk-common bumped from 2.1.2 to 2.1.3
</details>

<details><summary>node-server-sdk-dynamodb: 6.0.6</summary>

##
[6.0.6](node-server-sdk-dynamodb-v6.0.5...node-server-sdk-dynamodb-v6.0.6)
(2024-01-16)


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @launchdarkly/node-server-sdk bumped from 9.0.5 to 9.0.6
  * peerDependencies
    * @launchdarkly/node-server-sdk bumped from 8.x to 9.0.6
</details>

<details><summary>node-server-sdk-redis: 4.0.6</summary>

##
[4.0.6](node-server-sdk-redis-v4.0.5...node-server-sdk-redis-v4.0.6)
(2024-01-16)


### Dependencies

* The following workspace dependencies were updated
  * devDependencies
    * @launchdarkly/node-server-sdk bumped from 9.0.5 to 9.0.6
  * peerDependencies
    * @launchdarkly/node-server-sdk bumped from 8.x to 9.0.6
</details>

<details><summary>react-native-client-sdk: 0.1.5</summary>

##
[0.1.5](react-native-client-sdk-v0.1.4...react-native-client-sdk-v0.1.5)
(2024-01-16)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-client-sdk-common bumped from 0.1.1 to 0.1.2
</details>

<details><summary>vercel-server-sdk: 1.2.3</summary>

##
[1.2.3](vercel-server-sdk-v1.2.2...vercel-server-sdk-v1.2.3)
(2024-01-16)


### Dependencies

* The following workspace dependencies were updated
  * dependencies
    * @launchdarkly/js-server-sdk-common-edge bumped from 2.1.2 to 2.1.3
</details>

---
This PR was generated with [Release
Please](https://github.com/googleapis/release-please). See
[documentation](https://github.com/googleapis/release-please#release-please).

Co-authored-by: Ryan Lamb <[email protected]>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants