{
    "componentChunkName": "component---src-templates-note-note-js",
    "path": "/notes/transient-errors",
    "result": {"data":{"mdx":{"body":"var _excluded = [\"components\"];\nfunction _extends() { _extends = Object.assign ? Object.assign.bind() : function (target) { for (var i = 1; i < arguments.length; i++) { var source = arguments[i]; for (var key in source) { if (Object.prototype.hasOwnProperty.call(source, key)) { target[key] = source[key]; } } } return target; }; return _extends.apply(this, arguments); }\nfunction _objectWithoutProperties(source, excluded) { if (source == null) return {}; var target = _objectWithoutPropertiesLoose(source, excluded); var key, i; if (Object.getOwnPropertySymbols) { var sourceSymbolKeys = Object.getOwnPropertySymbols(source); for (i = 0; i < sourceSymbolKeys.length; i++) { key = sourceSymbolKeys[i]; if (excluded.indexOf(key) >= 0) continue; if (!Object.prototype.propertyIsEnumerable.call(source, key)) continue; target[key] = source[key]; } } return target; }\nfunction _objectWithoutPropertiesLoose(source, excluded) { if (source == null) return {}; var target = {}; var sourceKeys = Object.keys(source); var key, i; for (i = 0; i < sourceKeys.length; i++) { key = sourceKeys[i]; if (excluded.indexOf(key) >= 0) continue; target[key] = source[key]; } return target; }\n/* @jsxRuntime classic */\n/* @jsx mdx */\n\nvar _frontmatter = {};\nvar layoutProps = {\n  _frontmatter: _frontmatter\n};\nvar MDXLayout = \"wrapper\";\nreturn function MDXContent(_ref) {\n  var components = _ref.components,\n    props = _objectWithoutProperties(_ref, _excluded);\n  return mdx(MDXLayout, _extends({}, layoutProps, props, {\n    components: components,\n    mdxType: \"MDXLayout\"\n  }), mdx(\"p\", null, \"\", mdx(\"a\", {\n    parentName: \"p\",\n    \"href\": \"/notes/mitigation\",\n    \"title\": \"mitigation\"\n  }, \"mitigation\"), \"\"), mdx(\"ol\", null, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/notes/timeout\",\n    \"title\": \"timeout\"\n  }, \"timeout\"), \"\", mdx(\"ol\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"look at the p95 or p90 of the client and use it as timeout.\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/notes/granularity\",\n    \"title\": \"granularity\"\n  }, \"granularity\"), \"\", mdx(\"ol\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"start with org level\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"service level\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"endpoint level\"))))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/notes/retries\",\n    \"title\": \"retries\"\n  }, \"retries\"), \"\", mdx(\"ol\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"good in case of anything that is short term and transient\", mdx(\"ol\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"network errors\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"temp issues in service\"))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"retry parameters\", mdx(\"ol\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"max no of retires\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"interval between retries\", mdx(\"ol\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"immediate\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"fixed interval\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"linear incremental\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"exponential incremental\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"exponential incremental with \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/notes/jitter\",\n    \"title\": \"jitter\"\n  }, \"jitter\"), \"\"))))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"exit from retires\", mdx(\"ol\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/notes/exponential-backoff\",\n    \"title\": \"exponential backoff\"\n  }, \"exponential backoff\"), \"\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/notes/kill-switch\",\n    \"title\": \"kill switch\"\n  }, \"kill switch\"), \"\"))))), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"\", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/notes/fallback\",\n    \"title\": \"fallback\"\n  }, \"fallback\"), \"\", mdx(\"ol\", {\n    parentName: \"li\"\n  }, mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"identify critical flows\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"set thresholds where without the actual response from the server we can still go ahead\"), mdx(\"li\", {\n    parentName: \"ol\"\n  }, \"think \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/notes/percentile\",\n    \"title\": \"percentile\"\n  }, \"percentile\"), \" and \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/notes/scale-of-loss\",\n    \"title\": \"scale of loss\"\n  }, \"scale of loss\"), \" or \", mdx(\"a\", {\n    parentName: \"li\",\n    \"href\": \"/notes/scale-of-damage\",\n    \"title\": \"scale of damage\"\n  }, \"scale of damage\"), \"\")))));\n}\n;\nMDXContent.isMDXComponent = true;","inboundReferences":[]}},"pageContext":{"slug":"transient-errors","node":{"childMdx":{"slug":"transient-errors"}}}},
    "staticQueryHashes": []}