tarantool / docbot

Bot to automate some GitHub things
4 stars 1 forks source link

500 on a particular commit #14

Open Totktonada opened 2 years ago

Totktonada commented 2 years ago

I filed it manually: https://github.com/tarantool/doc/issues/2835.

Request:

Request URL: https://docbot.tarantool.io/
Request method: POST
Accept: */*
content-type: application/json
User-Agent: GitHub-Hookshot/c4711b9
X-GitHub-Delivery: <...>
X-GitHub-Event: push
X-GitHub-Hook-ID: <...>
X-GitHub-Hook-Installation-Target-ID: <...>
X-GitHub-Hook-Installation-Target-Type: repository

Payload

{
  "ref": "refs/heads/master",
  "before": "589bd6b6bd53dcef79b69b9ec3839709654fafe6",
  "after": "b2b77dbb21c087b70235372e0e82032411fd04d0",
  "repository": {
    "id": 911980,
    "node_id": "MDEwOlJlcG9zaXRvcnk5MTE5ODA=",
    "name": "tarantool",
    "full_name": "tarantool/tarantool",
    "private": false,
    "owner": {
      "name": "tarantool",
      "email": "support@tarantool.io",
      "login": "tarantool",
      "id": 2344919,
      "node_id": "MDEyOk9yZ2FuaXphdGlvbjIzNDQ5MTk=",
      "avatar_url": "https://avatars.githubusercontent.com/u/2344919?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/tarantool",
      "html_url": "https://github.com/tarantool",
      "followers_url": "https://api.github.com/users/tarantool/followers",
      "following_url": "https://api.github.com/users/tarantool/following{/other_user}",
      "gists_url": "https://api.github.com/users/tarantool/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/tarantool/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/tarantool/subscriptions",
      "organizations_url": "https://api.github.com/users/tarantool/orgs",
      "repos_url": "https://api.github.com/users/tarantool/repos",
      "events_url": "https://api.github.com/users/tarantool/events{/privacy}",
      "received_events_url": "https://api.github.com/users/tarantool/received_events",
      "type": "Organization",
      "site_admin": false
    },
    "html_url": "https://github.com/tarantool/tarantool",
    "description": "Get your data in RAM. Get compute close to data. Enjoy the performance.",
    "fork": false,
    "url": "https://github.com/tarantool/tarantool",
    "forks_url": "https://api.github.com/repos/tarantool/tarantool/forks",
    "keys_url": "https://api.github.com/repos/tarantool/tarantool/keys{/key_id}",
    "collaborators_url": "https://api.github.com/repos/tarantool/tarantool/collaborators{/collaborator}",
    "teams_url": "https://api.github.com/repos/tarantool/tarantool/teams",
    "hooks_url": "https://api.github.com/repos/tarantool/tarantool/hooks",
    "issue_events_url": "https://api.github.com/repos/tarantool/tarantool/issues/events{/number}",
    "events_url": "https://api.github.com/repos/tarantool/tarantool/events",
    "assignees_url": "https://api.github.com/repos/tarantool/tarantool/assignees{/user}",
    "branches_url": "https://api.github.com/repos/tarantool/tarantool/branches{/branch}",
    "tags_url": "https://api.github.com/repos/tarantool/tarantool/tags",
    "blobs_url": "https://api.github.com/repos/tarantool/tarantool/git/blobs{/sha}",
    "git_tags_url": "https://api.github.com/repos/tarantool/tarantool/git/tags{/sha}",
    "git_refs_url": "https://api.github.com/repos/tarantool/tarantool/git/refs{/sha}",
    "trees_url": "https://api.github.com/repos/tarantool/tarantool/git/trees{/sha}",
    "statuses_url": "https://api.github.com/repos/tarantool/tarantool/statuses/{sha}",
    "languages_url": "https://api.github.com/repos/tarantool/tarantool/languages",
    "stargazers_url": "https://api.github.com/repos/tarantool/tarantool/stargazers",
    "contributors_url": "https://api.github.com/repos/tarantool/tarantool/contributors",
    "subscribers_url": "https://api.github.com/repos/tarantool/tarantool/subscribers",
    "subscription_url": "https://api.github.com/repos/tarantool/tarantool/subscription",
    "commits_url": "https://api.github.com/repos/tarantool/tarantool/commits{/sha}",
    "git_commits_url": "https://api.github.com/repos/tarantool/tarantool/git/commits{/sha}",
    "comments_url": "https://api.github.com/repos/tarantool/tarantool/comments{/number}",
    "issue_comment_url": "https://api.github.com/repos/tarantool/tarantool/issues/comments{/number}",
    "contents_url": "https://api.github.com/repos/tarantool/tarantool/contents/{+path}",
    "compare_url": "https://api.github.com/repos/tarantool/tarantool/compare/{base}...{head}",
    "merges_url": "https://api.github.com/repos/tarantool/tarantool/merges",
    "archive_url": "https://api.github.com/repos/tarantool/tarantool/{archive_format}{/ref}",
    "downloads_url": "https://api.github.com/repos/tarantool/tarantool/downloads",
    "issues_url": "https://api.github.com/repos/tarantool/tarantool/issues{/number}",
    "pulls_url": "https://api.github.com/repos/tarantool/tarantool/pulls{/number}",
    "milestones_url": "https://api.github.com/repos/tarantool/tarantool/milestones{/number}",
    "notifications_url": "https://api.github.com/repos/tarantool/tarantool/notifications{?since,all,participating}",
    "labels_url": "https://api.github.com/repos/tarantool/tarantool/labels{/name}",
    "releases_url": "https://api.github.com/repos/tarantool/tarantool/releases{/id}",
    "deployments_url": "https://api.github.com/repos/tarantool/tarantool/deployments",
    "created_at": 1284537566,
    "updated_at": "2022-04-22T07:15:30Z",
    "pushed_at": 1650613697,
    "git_url": "git://github.com/tarantool/tarantool.git",
    "ssh_url": "git@github.com:tarantool/tarantool.git",
    "clone_url": "https://github.com/tarantool/tarantool.git",
    "svn_url": "https://github.com/tarantool/tarantool",
    "homepage": "https://www.tarantool.io",
    "size": 84949,
    "stargazers_count": 2867,
    "watchers_count": 2867,
    "language": "Lua",
    "has_issues": true,
    "has_projects": true,
    "has_downloads": true,
    "has_wiki": true,
    "has_pages": false,
    "forks_count": 325,
    "mirror_url": null,
    "archived": false,
    "disabled": false,
    "open_issues_count": 1297,
    "license": {
      "key": "other",
      "name": "Other",
      "spdx_id": "NOASSERTION",
      "url": null,
      "node_id": "MDc6TGljZW5zZTA="
    },
    "allow_forking": true,
    "is_template": false,
    "topics": [
      "appserver",
      "database",
      "disk",
      "in-memory",
      "lua",
      "msgpack",
      "tarantool",
      "transactions"
    ],
    "visibility": "public",
    "forks": 325,
    "open_issues": 1297,
    "watchers": 2867,
    "default_branch": "master",
    "stargazers": 2867,
    "master_branch": "master",
    "organization": "tarantool"
  },
  "pusher": {
    "name": "kyukhin",
    "email": "kyukhin@tarantool.org"
  },
  "organization": {
    "login": "tarantool",
    "id": 2344919,
    "node_id": "MDEyOk9yZ2FuaXphdGlvbjIzNDQ5MTk=",
    "url": "https://api.github.com/orgs/tarantool",
    "repos_url": "https://api.github.com/orgs/tarantool/repos",
    "events_url": "https://api.github.com/orgs/tarantool/events",
    "hooks_url": "https://api.github.com/orgs/tarantool/hooks",
    "issues_url": "https://api.github.com/orgs/tarantool/issues",
    "members_url": "https://api.github.com/orgs/tarantool/members{/member}",
    "public_members_url": "https://api.github.com/orgs/tarantool/public_members{/member}",
    "avatar_url": "https://avatars.githubusercontent.com/u/2344919?v=4",
    "description": "In-memory computing platform with flexible data schema."
  },
  "sender": {
    "login": "kyukhin",
    "id": 9824023,
    "node_id": "MDQ6VXNlcjk4MjQwMjM=",
    "avatar_url": "https://avatars.githubusercontent.com/u/9824023?v=4",
    "gravatar_id": "",
    "url": "https://api.github.com/users/kyukhin",
    "html_url": "https://github.com/kyukhin",
    "followers_url": "https://api.github.com/users/kyukhin/followers",
    "following_url": "https://api.github.com/users/kyukhin/following{/other_user}",
    "gists_url": "https://api.github.com/users/kyukhin/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/kyukhin/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/kyukhin/subscriptions",
    "organizations_url": "https://api.github.com/users/kyukhin/orgs",
    "repos_url": "https://api.github.com/users/kyukhin/repos",
    "events_url": "https://api.github.com/users/kyukhin/events{/privacy}",
    "received_events_url": "https://api.github.com/users/kyukhin/received_events",
    "type": "User",
    "site_admin": false
  },
  "created": false,
  "deleted": false,
  "forced": false,
  "base_ref": null,
  "compare": "https://github.com/tarantool/tarantool/compare/589bd6b6bd53...b2b77dbb21c0",
  "commits": [
    {
      "id": "e9be8681a07a162139560e6057b25ba323bf4832",
      "tree_id": "96b1927bb5006801f60750a1644cc50f4d39e09c",
      "distinct": true,
      "message": "datetime: refactor lua interval data structures\n\nSimplify datetime interval data handling in Lua module:\n* everytime we used to pass year, month, day, hour and second we simply\n  pass aggregate containing those values.\n\nPart of #6923\n\nNO_DOC=refactoring\nNO_CHANGELOG=refactoring\nNO_TEST=refactoring, tests left intact",
      "timestamp": "2022-04-22T10:48:17+03:00",
      "url": "https://github.com/tarantool/tarantool/commit/e9be8681a07a162139560e6057b25ba323bf4832",
      "author": {
        "name": "Timur Safin",
        "email": "tsafin@tarantool.org",
        "username": "tsafin"
      },
      "committer": {
        "name": "Kirill Yukhin",
        "email": "kyukhin@tarantool.org",
        "username": "kyukhin"
      },
      "added": [

      ],
      "removed": [

      ],
      "modified": [
        "src/lua/datetime.lua"
      ]
    },
    {
      "id": "44ebf1cc60c66454a7206f24bda5d9562e45393d",
      "tree_id": "00a036a6b828c44c2938f40ec3fc31304d2ffff7",
      "distinct": true,
      "message": "datetime: define interval types in the luaL_cdef\n\nPart of #6923\n\nNO_DOC=internal\nNO_CHANGELOG=internal\nNO_TEST=refactoring, tests left intact",
      "timestamp": "2022-04-22T10:48:17+03:00",
      "url": "https://github.com/tarantool/tarantool/commit/44ebf1cc60c66454a7206f24bda5d9562e45393d",
      "author": {
        "name": "Timur Safin",
        "email": "tsafin@tarantool.org",
        "username": "tsafin"
      },
      "committer": {
        "name": "Kirill Yukhin",
        "email": "kyukhin@tarantool.org",
        "username": "kyukhin"
      },
      "added": [

      ],
      "removed": [

      ],
      "modified": [
        "src/lib/core/datetime.h",
        "src/lua/datetime.lua",
        "src/lua/utils.c"
      ]
    },
    {
      "id": "84b91f31cdc029da4a7828ec598e545eb8dc65f0",
      "tree_id": "30dbcbba6e9d6526abae24794b4d74ba03c412c9",
      "distinct": true,
      "message": "datetime: convert interval_to_string to C from Lua\n\nPart of #6923\n\nNO_DOC=refactoring\nNO_CHANGELOG=refactoring\nNO_TEST=refactoring, tests left intact",
      "timestamp": "2022-04-22T10:48:17+03:00",
      "url": "https://github.com/tarantool/tarantool/commit/84b91f31cdc029da4a7828ec598e545eb8dc65f0",
      "author": {
        "name": "Timur Safin",
        "email": "tsafin@tarantool.org",
        "username": "tsafin"
      },
      "committer": {
        "name": "Kirill Yukhin",
        "email": "kyukhin@tarantool.org",
        "username": "kyukhin"
      },
      "added": [

      ],
      "removed": [

      ],
      "modified": [
        "extra/exports",
        "src/lib/core/datetime.c",
        "src/lib/core/datetime.h",
        "src/lua/datetime.lua",
        "src/lua/tnt_datetime.c"
      ]
    },
    {
      "id": "5f3ea3b4f0e17cc2fa04eeb2b33f8cde18e37e85",
      "tree_id": "ceb28375c9bacc5fcab431ccabd68bd6548d9632",
      "distinct": true,
      "message": "datetime: datetime_increment_by in C from Lua\n\nConvert Lua implementation of datetime_increment_by to C from their\nLua variant.\n\nPart of #6923\n\nNO_DOC=refactoring\nNO_CHANGELOG=refactoring\nNO_TEST=refactoring, tests left intact",
      "timestamp": "2022-04-22T10:48:17+03:00",
      "url": "https://github.com/tarantool/tarantool/commit/5f3ea3b4f0e17cc2fa04eeb2b33f8cde18e37e85",
      "author": {
        "name": "Timur Safin",
        "email": "tsafin@tarantool.org",
        "username": "tsafin"
      },
      "committer": {
        "name": "Kirill Yukhin",
        "email": "kyukhin@tarantool.org",
        "username": "kyukhin"
      },
      "added": [

      ],
      "removed": [

      ],
      "modified": [
        "extra/exports",
        "src/lib/core/datetime.c",
        "src/lib/core/datetime.h",
        "src/lua/datetime.lua",
        "src/lua/tnt_datetime.c"
      ]
    },
    {
      "id": "29f57b0519c594a0000429b547c36cab5a1b3386",
      "tree_id": "621ce0c88bc81a09692e86177d7b8dbe8aff9b29",
      "distinct": true,
      "message": "datetime: convert all sub/add datetime ops to C\n\nCreated C implementation for the rest of datetime/interval operations\nand call them via FFI. We need it for later Olson integration.\n\nPart of #6923\n\nNO_DOC=refactoring\nNO_CHANGELOG=refactoring\nNO_TEST=refactoring, tests left intact",
      "timestamp": "2022-04-22T10:48:17+03:00",
      "url": "https://github.com/tarantool/tarantool/commit/29f57b0519c594a0000429b547c36cab5a1b3386",
      "author": {
        "name": "Timur Safin",
        "email": "tsafin@tarantool.org",
        "username": "tsafin"
      },
      "committer": {
        "name": "Kirill Yukhin",
        "email": "kyukhin@tarantool.org",
        "username": "kyukhin"
      },
      "added": [

      ],
      "removed": [

      ],
      "modified": [
        "extra/exports",
        "src/lib/core/datetime.c",
        "src/lib/core/datetime.h",
        "src/lua/datetime.lua",
        "src/lua/tnt_datetime.c"
      ]
    },
    {
      "id": "d69b32291e0244b795591c23f08239ef50b2e9fd",
      "tree_id": "90a80259aa6308704fde6ce35ba2c8dcf965be8f",
      "distinct": true,
      "message": "datetime: Mons intervals\n\nSplit single sec field in the datetime_interval into multiple subfields,\ni.e. week, day, hour, min, sec. Make sure that whatever we enter in the\nconstructor we get similarly visualized as textual representation\n\nLua implementation of datetime_totable has been converted to C, which\nallows to use it for datetime values decomposing in datetimes\nsubtraction. It uses per component subtraction for calculating of a\nresultant interval.\n\nPart of #6923\n\nNO_DOC=refactoring\nNO_CHANGELOG=refactoring",
      "timestamp": "2022-04-22T10:48:17+03:00",
      "url": "https://github.com/tarantool/tarantool/commit/d69b32291e0244b795591c23f08239ef50b2e9fd",
      "author": {
        "name": "Timur Safin",
        "email": "tsafin@tarantool.org",
        "username": "tsafin"
      },
      "committer": {
        "name": "Kirill Yukhin",
        "email": "kyukhin@tarantool.org",
        "username": "kyukhin"
      },
      "added": [

      ],
      "removed": [

      ],
      "modified": [
        "extra/exports",
        "src/lib/core/datetime.c",
        "src/lib/core/datetime.h",
        "src/lua/datetime.lua",
        "src/lua/tnt_datetime.c",
        "src/lua/utils.c",
        "test/app-tap/datetime.test.lua"
      ]
    },
    {
      "id": "b6f855e2cc85bf4af2a0f5d4b96e303166405da0",
      "tree_id": "f55ab7968dcfb8aa819225890abca50a0513af94",
      "distinct": true,
      "message": "datetime: check overflow after interval operations\n\nWe may overflow supported years range if we proceed\n(multiple times) interval addition or subtraction operations.\nAt the end of add/sub we check all interval subcomponents\non validity of their value. Result of this check is returned\nin the encoded value to the Lua side, where less than 0 means\nunderflow in some component, and greater than 0 overflow in\nsubcomponent.\n\nPart of #6923\n\nNO_DOC=fix\nNO_CHANGELOG=fix",
      "timestamp": "2022-04-22T10:48:17+03:00",
      "url": "https://github.com/tarantool/tarantool/commit/b6f855e2cc85bf4af2a0f5d4b96e303166405da0",
      "author": {
        "name": "Timur Safin",
        "email": "tsafin@tarantool.org",
        "username": "tsafin"
      },
      "committer": {
        "name": "Kirill Yukhin",
        "email": "kyukhin@tarantool.org",
        "username": "kyukhin"
      },
      "added": [

      ],
      "removed": [

      ],
      "modified": [
        "src/lib/core/datetime.c",
        "src/lib/core/datetime.h",
        "src/lua/datetime.lua",
        "src/lua/tnt_datetime.c",
        "test/app-tap/datetime.test.lua"
      ]
    },
    {
      "id": "08d6f7fa77be937b995f9ae78ed8602b10bb24cb",
      "tree_id": "055aee3bf6b57e714e075cdcf0f9031c17d49528",
      "distinct": true,
      "message": "datetime: interval changelog and doc request\n\nPart of #6923\n\nNO_TEST=docrequest\n\n@TarantoolBot document\nTitle: Document interval arithmetic\n\nInterval arithmetic\n-------------------\n\nIf we need to shift date values by the given period of time we call either\nmodifier methods (i.e. `:add` or `:sub`) or apply interval arithmetic\nusing overloaded `+` (__add) or `-` (__sub) methods.\n\n`:add`/`:sub` modify current object, but `__add`/`__sub` create copy of\nobject for operation result.\n\nIn the interval operation we sequentially calculate each interval\nsubcomponents\nheading from largest (year) to smallest (nanosecond):\n* `year` - year(s);\n* `month` - month(s);\n* `week` - week(s);\n* `day` - day(s);\n* `hour` - hour(s);\n* `min` - minute(s);\n* `sec` - second(s);\n* `nsec` - nanosecond(s).\n\nIf results of operation exceed allowed range for any of component then\nexception to be raised.\n\nModifier methods `:add`/`:sub` return `self` object thus it''s possible to\nchain their calls together, i.e.\n\n```\n-- add 9000 years, 82 months, 5 weeks, 201 days, 183 hours, 292 minutes\n-- and 191.001239234 seconds to given date\ndt:add{\n\tyear  = 9000,\n\tmonth = 82,\n\tweek  = 5,\n\tday   = 201,\n\n\tsec   = 191,\n\tmin   = 292,\n\thour  = 183,\n\n\tnsec  = 1239234,\n}\n\ndt:sub{\n\tyear  = 9000,\n\tmonth = 82,\n\tweek  = 5,\n\tday   = 201,\n\n\tsec   = 191,\n\tmin   = 292,\n\thour  = 183,\n\n\tnsec  = 1239234,\n}\n\n-- chaining\ndt:add{year = 2}:add{month = 2}:sub{day = 2}\n\n-- create a copy of current date, while moving it to the next day\nlocal dt2 = datetime.new(dt:totable()):add{day = 1}\n```\n\nArithmetic operations\n=====================\n\nDate and interval objects may participate in arithmetic operations:\n* Sum of 2 intervals is interval object, which fields would be sum of each\n  particular components of operands;\n* Subtraction is similar to summation above - result is interval object\n  where each subcomponent would be result of subtraction of particular\n  fields in original operands;\n* If you add date and interval then result is a date. Addition to be\n  performed in a determined order from largest component (i.e. year) to\n  smallest (nanosecond);\n* Subtraction of dates to produce an interval object. Difference of 2 time\n  moments is performed not as difference of epoch seconds, but as\n  difference of all subcomponents (i.e. years, months, days, hours,\n  minutes and seconds);\n* Untyped table object may be used in each context where typed date or\n  interval object used if left operand is typed object with overloaded\n  operation of '+' or '-'.\n\nMatrix of *addition* operands eligibility and their result type:\n\n|                     | datetime | interval | table    |\n|---------------------|----------|----------|----------|\n| **datetime**        |          | datetime | datetime |\n| **interval**        | datetime | interval | interval |\n| **table**           |          |          |          |\n\nMatrix of *subtraction* operands eligibility and their result type:\n\n|                     | datetime | interval | table    |\n|---------------------|----------|----------|----------|\n| **datetime**        | interval | datetime | datetime |\n| **interval**        |          | interval | interval |\n| **table**           |          |          |          |\n\nDate adjustions and leap years\n==============================\n\nIt''s always tricky to operate with days if we move date between months of\ndifferent lengths. The default mode is - the day number in month of\noriginal date should become the same day but not exceed the length of\nresultant month.\n\n* 28 February of non-leap year if added +1 year should become 28 february\n  of a leap year;\n* Addition of year to the 29 February of a leap year would result with 28\n  February of a non-leap year;\n\nThe general rule is as following: addition of months to the date should\nproduce (if possible) the same day number, if this number is not exceeding\nnumber of days in resultant month. Otherwise it produces the last day in\nmonth.\n\n* 31 january + 1 month = 28 or 29 february;\n* 30 january + 1 month = 28 or 29 february;\n* 29 february + 1 month = 29 march;\n* 31 march + 1 month = 30 april.\n\nOptionally you may prefer to use \"accountant\" logics of operations when\nmonth operations (addition or subtraction) should leave last day in month\nas last day, i.e.:\n\n* 31 january + 1 month = 28 or 29 february (depending on leap year);\n* 29 february + 1 month = 31 march;\n* 31 march + 1 month = 30 april;\n* 30 april + 1 month = 31 may.\n\n- 28 february 2001 + 1 month = 28 march 2001;\n- february 2004 + 1 month = 28 марта 2004;\n\nThis adjustment option named `adjust` may be passed as additional argument\nto `:add`/`:sub` methods or additional argument to interval constructor\ncall.\n\nThere are 3 supported `adjust` values:\n\n* `none` last day mode is not maintained, if there is overflow then value\n  is truncated to the maximum possible value in month (corresponding to\n  the c-dt `DT_LIMIT`). This is default mode if not provided;\n\n```\n    -- 29.02.* -> 29.03.*\n    dt:add( {month = 1, adjust = \"none\" } )\n```\n\n* `last` last day mode (\"accountant\" mode) maintained. i.e. last day in\n  original month should stay last day in resultant month. This corresponds\n   to `c-dt` `DT_SNAP` mode;\n\n```\n-- 28.02.2001 -> 31.03.2001 -- last day in Feb 2001\n-- 28.02.2004 -> 28.03.2004 -- not a last day in Feb => no abjustments\n-- 29.02.2004 -> 31.03.2001 -- last day in Feb 2004\ndt:add( {month = 1,  adjust = \"last\" } )\n```\n\n* `excess` overflow to the next month performed. According to `c-dt`\n  `DT_EXCESS` rules.\n\nStringization\n=============\n\nIntervals show each their subcomponents as negative or positive value.\nSeconds and nanoseconds normalized to the human-interpretable form.\n\n* '+1 seconds';\n* '+12 hours, 10 minutes, 30 seconds';\n* '-20 months, -10 weeks, -8 hours, -10 minutes, -30 seconds';\n* '-5000000 years, -20 months, -10 weeks, -10 minutes, -30 seconds';",
      "timestamp": "2022-04-22T10:48:17+03:00",
      "url": "https://github.com/tarantool/tarantool/commit/08d6f7fa77be937b995f9ae78ed8602b10bb24cb",
      "author": {
        "name": "Timur Safin",
        "email": "tsafin@tarantool.org",
        "username": "tsafin"
      },
      "committer": {
        "name": "Kirill Yukhin",
        "email": "kyukhin@tarantool.org",
        "username": "kyukhin"
      },
      "added": [
        "changelogs/unreleased/gh-6923-interval-arithmetic.md"
      ],
      "removed": [

      ],
      "modified": [

      ]
    },
    {
      "id": "b2b77dbb21c087b70235372e0e82032411fd04d0",
      "tree_id": "cb857050509569e564202e43b91f236a83eaa0f9",
      "distinct": true,
      "message": "test: workaround for flaky 301-basic.t\n\nWe have found that 301-basic.t from Lua harness tests became\nflaky on macosx runners.\nPlease see https://github.com/tarantool/tarantool/issues/7058 for\nmore details. Use simple workaround `collectgarbage('collect')`\nfor temporary workaround of this problem.\n\nCo-authored-by: Igor Munkin <imun@tarantool.org>\n\nNO_DOC=infra\nNO_CHANGELOG=infra\nNO_TEST=infra",
      "timestamp": "2022-04-22T10:48:17+03:00",
      "url": "https://github.com/tarantool/tarantool/commit/b2b77dbb21c087b70235372e0e82032411fd04d0",
      "author": {
        "name": "Timur Safin",
        "email": "tsafin@tarantool.org",
        "username": "tsafin"
      },
      "committer": {
        "name": "Kirill Yukhin",
        "email": "kyukhin@tarantool.org",
        "username": "kyukhin"
      },
      "added": [

      ],
      "removed": [

      ],
      "modified": [
        "test/luajit-test-init.lua"
      ]
    }
  ],
  "head_commit": {
    "id": "b2b77dbb21c087b70235372e0e82032411fd04d0",
    "tree_id": "cb857050509569e564202e43b91f236a83eaa0f9",
    "distinct": true,
    "message": "test: workaround for flaky 301-basic.t\n\nWe have found that 301-basic.t from Lua harness tests became\nflaky on macosx runners.\nPlease see https://github.com/tarantool/tarantool/issues/7058 for\nmore details. Use simple workaround `collectgarbage('collect')`\nfor temporary workaround of this problem.\n\nCo-authored-by: Igor Munkin <imun@tarantool.org>\n\nNO_DOC=infra\nNO_CHANGELOG=infra\nNO_TEST=infra",
    "timestamp": "2022-04-22T10:48:17+03:00",
    "url": "https://github.com/tarantool/tarantool/commit/b2b77dbb21c087b70235372e0e82032411fd04d0",
    "author": {
      "name": "Timur Safin",
      "email": "tsafin@tarantool.org",
      "username": "tsafin"
    },
    "committer": {
      "name": "Kirill Yukhin",
      "email": "kyukhin@tarantool.org",
      "username": "kyukhin"
    },
    "added": [

    ],
    "removed": [

    ],
    "modified": [
      "test/luajit-test-init.lua"
    ]
  }
}

Response:

Content-Length: 747
Content-Type: text/html; charset=UTF-8
Date: Tue, 26 Apr 2022 20:26:03 GMT
Server: nginx
Strict-Transport-Security: max-age=15724800; includeSubdomains

Body:

    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html>
        <head>
            <title>Error: 500 Internal Server Error</title>
            <style type="text/css">
              html {background-color: #eee; font-family: sans;}
              body {background-color: #fff; border: 1px solid #ddd;
                    padding: 15px; margin: 15px;}
              pre {background-color: #eee; border: 1px solid #ddd; padding: 5px;}
            </style>
        </head>
        <body>
            <h1>Error: 500 Internal Server Error</h1>
            <p>Sorry, the requested URL <tt>&#039;https://docbot.tarantool.io/&#039;</tt>
               caused an error:</p>
            <pre>Internal Server Error</pre>
        </body>
    </html>
Totktonada commented 2 years ago

One more: https://github.com/tarantool/doc/issues/2836.

Request:

Request URL: https://docbot.tarantool.io/
Request method: POST
Accept: */*
content-type: application/json
User-Agent: GitHub-Hookshot/c4711b9
X-GitHub-Delivery: <...>
X-GitHub-Event: push
X-GitHub-Hook-ID: <...>
X-GitHub-Hook-Installation-Target-ID: <...>
X-GitHub-Hook-Installation-Target-Type: repository

Payload:

{
  "ref": "refs/heads/master",
  "before": "60fe9d14c1c7896aa7d961e4b68649eddb4d2d6c",
  "after": "0636ec43459f3fe6e415925dcd0c1eb83e73ebb5",
  "repository": {
    "id": 911980,
    "node_id": "MDEwOlJlcG9zaXRvcnk5MTE5ODA=",
    "name": "tarantool",
    "full_name": "tarantool/tarantool",
    "private": false,
    "owner": {
      "name": "tarantool",
      "email": "support@tarantool.io",
      "login": "tarantool",
      "id": 2344919,
      "node_id": "MDEyOk9yZ2FuaXphdGlvbjIzNDQ5MTk=",
      "avatar_url": "https://avatars.githubusercontent.com/u/2344919?v=4",
      "gravatar_id": "",
      "url": "https://api.github.com/users/tarantool",
      "html_url": "https://github.com/tarantool",
      "followers_url": "https://api.github.com/users/tarantool/followers",
      "following_url": "https://api.github.com/users/tarantool/following{/other_user}",
      "gists_url": "https://api.github.com/users/tarantool/gists{/gist_id}",
      "starred_url": "https://api.github.com/users/tarantool/starred{/owner}{/repo}",
      "subscriptions_url": "https://api.github.com/users/tarantool/subscriptions",
      "organizations_url": "https://api.github.com/users/tarantool/orgs",
      "repos_url": "https://api.github.com/users/tarantool/repos",
      "events_url": "https://api.github.com/users/tarantool/events{/privacy}",
      "received_events_url": "https://api.github.com/users/tarantool/received_events",
      "type": "Organization",
      "site_admin": false
    },
    "html_url": "https://github.com/tarantool/tarantool",
    "description": "Get your data in RAM. Get compute close to data. Enjoy the performance.",
    "fork": false,
    "url": "https://github.com/tarantool/tarantool",
    "forks_url": "https://api.github.com/repos/tarantool/tarantool/forks",
    "keys_url": "https://api.github.com/repos/tarantool/tarantool/keys{/key_id}",
    "collaborators_url": "https://api.github.com/repos/tarantool/tarantool/collaborators{/collaborator}",
    "teams_url": "https://api.github.com/repos/tarantool/tarantool/teams",
    "hooks_url": "https://api.github.com/repos/tarantool/tarantool/hooks",
    "issue_events_url": "https://api.github.com/repos/tarantool/tarantool/issues/events{/number}",
    "events_url": "https://api.github.com/repos/tarantool/tarantool/events",
    "assignees_url": "https://api.github.com/repos/tarantool/tarantool/assignees{/user}",
    "branches_url": "https://api.github.com/repos/tarantool/tarantool/branches{/branch}",
    "tags_url": "https://api.github.com/repos/tarantool/tarantool/tags",
    "blobs_url": "https://api.github.com/repos/tarantool/tarantool/git/blobs{/sha}",
    "git_tags_url": "https://api.github.com/repos/tarantool/tarantool/git/tags{/sha}",
    "git_refs_url": "https://api.github.com/repos/tarantool/tarantool/git/refs{/sha}",
    "trees_url": "https://api.github.com/repos/tarantool/tarantool/git/trees{/sha}",
    "statuses_url": "https://api.github.com/repos/tarantool/tarantool/statuses/{sha}",
    "languages_url": "https://api.github.com/repos/tarantool/tarantool/languages",
    "stargazers_url": "https://api.github.com/repos/tarantool/tarantool/stargazers",
    "contributors_url": "https://api.github.com/repos/tarantool/tarantool/contributors",
    "subscribers_url": "https://api.github.com/repos/tarantool/tarantool/subscribers",
    "subscription_url": "https://api.github.com/repos/tarantool/tarantool/subscription",
    "commits_url": "https://api.github.com/repos/tarantool/tarantool/commits{/sha}",
    "git_commits_url": "https://api.github.com/repos/tarantool/tarantool/git/commits{/sha}",
    "comments_url": "https://api.github.com/repos/tarantool/tarantool/comments{/number}",
    "issue_comment_url": "https://api.github.com/repos/tarantool/tarantool/issues/comments{/number}",
    "contents_url": "https://api.github.com/repos/tarantool/tarantool/contents/{+path}",
    "compare_url": "https://api.github.com/repos/tarantool/tarantool/compare/{base}...{head}",
    "merges_url": "https://api.github.com/repos/tarantool/tarantool/merges",
    "archive_url": "https://api.github.com/repos/tarantool/tarantool/{archive_format}{/ref}",
    "downloads_url": "https://api.github.com/repos/tarantool/tarantool/downloads",
    "issues_url": "https://api.github.com/repos/tarantool/tarantool/issues{/number}",
    "pulls_url": "https://api.github.com/repos/tarantool/tarantool/pulls{/number}",
    "milestones_url": "https://api.github.com/repos/tarantool/tarantool/milestones{/number}",
    "notifications_url": "https://api.github.com/repos/tarantool/tarantool/notifications{?since,all,participating}",
    "labels_url": "https://api.github.com/repos/tarantool/tarantool/labels{/name}",
    "releases_url": "https://api.github.com/repos/tarantool/tarantool/releases{/id}",
    "deployments_url": "https://api.github.com/repos/tarantool/tarantool/deployments",
    "created_at": 1284537566,
    "updated_at": "2022-04-23T13:51:10Z",
    "pushed_at": 1650869388,
    "git_url": "git://github.com/tarantool/tarantool.git",
    "ssh_url": "git@github.com:tarantool/tarantool.git",
    "clone_url": "https://github.com/tarantool/tarantool.git",
    "svn_url": "https://github.com/tarantool/tarantool",
    "homepage": "https://www.tarantool.io",
    "size": 85117,
    "stargazers_count": 2869,
    "watchers_count": 2869,
    "language": "Lua",
    "has_issues": true,
    "has_projects": true,
    "has_downloads": true,
    "has_wiki": true,
    "has_pages": false,
    "forks_count": 326,
    "mirror_url": null,
    "archived": false,
    "disabled": false,
    "open_issues_count": 1298,
    "license": {
      "key": "other",
      "name": "Other",
      "spdx_id": "NOASSERTION",
      "url": null,
      "node_id": "MDc6TGljZW5zZTA="
    },
    "allow_forking": true,
    "is_template": false,
    "topics": [
      "appserver",
      "database",
      "disk",
      "in-memory",
      "lua",
      "msgpack",
      "tarantool",
      "transactions"
    ],
    "visibility": "public",
    "forks": 326,
    "open_issues": 1298,
    "watchers": 2869,
    "default_branch": "master",
    "stargazers": 2869,
    "master_branch": "master",
    "organization": "tarantool"
  },
  "pusher": {
    "name": "kyukhin",
    "email": "kyukhin@tarantool.org"
  },
  "organization": {
    "login": "tarantool",
    "id": 2344919,
    "node_id": "MDEyOk9yZ2FuaXphdGlvbjIzNDQ5MTk=",
    "url": "https://api.github.com/orgs/tarantool",
    "repos_url": "https://api.github.com/orgs/tarantool/repos",
    "events_url": "https://api.github.com/orgs/tarantool/events",
    "hooks_url": "https://api.github.com/orgs/tarantool/hooks",
    "issues_url": "https://api.github.com/orgs/tarantool/issues",
    "members_url": "https://api.github.com/orgs/tarantool/members{/member}",
    "public_members_url": "https://api.github.com/orgs/tarantool/public_members{/member}",
    "avatar_url": "https://avatars.githubusercontent.com/u/2344919?v=4",
    "description": "In-memory computing platform with flexible data schema."
  },
  "sender": {
    "login": "kyukhin",
    "id": 9824023,
    "node_id": "MDQ6VXNlcjk4MjQwMjM=",
    "avatar_url": "https://avatars.githubusercontent.com/u/9824023?v=4",
    "gravatar_id": "",
    "url": "https://api.github.com/users/kyukhin",
    "html_url": "https://github.com/kyukhin",
    "followers_url": "https://api.github.com/users/kyukhin/followers",
    "following_url": "https://api.github.com/users/kyukhin/following{/other_user}",
    "gists_url": "https://api.github.com/users/kyukhin/gists{/gist_id}",
    "starred_url": "https://api.github.com/users/kyukhin/starred{/owner}{/repo}",
    "subscriptions_url": "https://api.github.com/users/kyukhin/subscriptions",
    "organizations_url": "https://api.github.com/users/kyukhin/orgs",
    "repos_url": "https://api.github.com/users/kyukhin/repos",
    "events_url": "https://api.github.com/users/kyukhin/events{/privacy}",
    "received_events_url": "https://api.github.com/users/kyukhin/received_events",
    "type": "User",
    "site_admin": false
  },
  "created": false,
  "deleted": false,
  "forced": false,
  "base_ref": null,
  "compare": "https://github.com/tarantool/tarantool/compare/60fe9d14c1c7...0636ec43459f",
  "commits": [
    {
      "id": "c93109b0a4e8f6d4a2c3e12a9e2ecff98b921ad6",
      "tree_id": "8bd117cc816a5777535b27bc0928393282bd4519",
      "distinct": true,
      "message": "sql: fix error when DISTINCT applied to MAP/ARRAY\n\nAfter this patch, when DISTINCT is used with MAP or ARRAY, an error will\nbe thrown instead of a segmentation fault.\n\nPart of #6668\nNeeded for #6773\n\nNO_DOC=Will be added in another commit.\nNO_CHANGELOG=Will be added in another commit.",
      "timestamp": "2022-04-25T09:49:48+03:00",
      "url": "https://github.com/tarantool/tarantool/commit/c93109b0a4e8f6d4a2c3e12a9e2ecff98b921ad6",
      "author": {
        "name": "Mergen Imeev",
        "email": "imeevma@gmail.com",
        "username": "ImeevMA"
      },
      "committer": {
        "name": "Kirill Yukhin",
        "email": "kyukhin@tarantool.org",
        "username": "kyukhin"
      },
      "added": [
        "test/sql-luatest/gh_6668_problems_with_map_array_test.lua"
      ],
      "removed": [

      ],
      "modified": [
        "src/box/sql.c"
      ]
    },
    {
      "id": "36c3691197fd76a221c7554548d41cec57e522a1",
      "tree_id": "1a6aefe1fac051ed06d66c65d30eefb7590d44a1",
      "distinct": true,
      "message": "sql: disallow incomparable values in GROUP BY\n\nAfter this patch, using MAP and ARRAY in GROUP BY will throw an error\ninstead of an assertion.\n\nPart of #6668\nNeeded for #6773\n\nNO_DOC=Will be added in another commit.\nNO_CHANGELOG=Will be added in another commit.",
      "timestamp": "2022-04-25T09:49:48+03:00",
      "url": "https://github.com/tarantool/tarantool/commit/36c3691197fd76a221c7554548d41cec57e522a1",
      "author": {
        "name": "Mergen Imeev",
        "email": "imeevma@gmail.com",
        "username": "ImeevMA"
      },
      "committer": {
        "name": "Kirill Yukhin",
        "email": "kyukhin@tarantool.org",
        "username": "kyukhin"
      },
      "added": [

      ],
      "removed": [

      ],
      "modified": [
        "src/box/sql/mem.h",
        "src/box/sql/vdbe.c",
        "test/sql-luatest/gh_6668_problems_with_map_array_test.lua"
      ]
    },
    {
      "id": "509598d926f72664e89c4b66bdf6ab304f736835",
      "tree_id": "2598fcb542cacd0006834e2ef78b0aa1c1ba30df",
      "distinct": true,
      "message": "sql: fix error description for comparison\n\nThis patch fixes the error description for comparison in case the left\noperand is comparable but the right operand is not.\n\nPart of #6668\nNeeded for #6668\n\nNO_DOC=Will be added in another commit.\nNO_CHANGELOG=Will be added in another commit.",
      "timestamp": "2022-04-25T09:49:48+03:00",
      "url": "https://github.com/tarantool/tarantool/commit/509598d926f72664e89c4b66bdf6ab304f736835",
      "author": {
        "name": "Mergen Imeev",
        "email": "imeevma@gmail.com",
        "username": "ImeevMA"
      },
      "committer": {
        "name": "Kirill Yukhin",
        "email": "kyukhin@tarantool.org",
        "username": "kyukhin"
      },
      "added": [

      ],
      "removed": [

      ],
      "modified": [
        "src/box/sql/mem.c",
        "test/sql-luatest/gh_6668_problems_with_map_array_test.lua"
      ]
    },
    {
      "id": "1c0fccbb0027cf48062b5be4f89d202494293b05",
      "tree_id": "6af6fef20bdee6698686a259d5b10b8681f5bbcb",
      "distinct": true,
      "message": "sql: introduce field type INTERVAL\n\nThis patch introduces basic INTERVAL support in SQL. After this patch,\nit will be allowed to select INTERVAL values from spaces, insert them\ninto spaces, and use them in functions. CAST() from INTERVAL to STRING\nand ANY is also supported.\n\nPart of #6773\n\nNO_DOC=Will be added later.\nNO_CHANGELOG=Will be added later.",
      "timestamp": "2022-04-25T09:49:48+03:00",
      "url": "https://github.com/tarantool/tarantool/commit/1c0fccbb0027cf48062b5be4f89d202494293b05",
      "author": {
        "name": "Mergen Imeev",
        "email": "imeevma@gmail.com",
        "username": "ImeevMA"
      },
      "committer": {
        "name": "Kirill Yukhin",
        "email": "kyukhin@tarantool.org",
        "username": "kyukhin"
      },
      "added": [
        "test/sql-luatest/interval_test.lua",
        "test/sql-luatest/sql_interval.c"
      ],
      "removed": [

      ],
      "modified": [
        "extra/mkkeywordhash.c",
        "src/box/sql/func.c",
        "src/box/sql/mem.c",
        "src/box/sql/mem.h",
        "src/box/sql/parse.y",
        "test/sql-luatest/CMakeLists.txt"
      ]
    },
    {
      "id": "95b9c87b7a4f059c7a842fe82f8f23f1b020191c",
      "tree_id": "816b5d4ed845c6cb51f232d6d2e52288c3c45139",
      "distinct": true,
      "message": "sql: allow to bind INTERVAL values\n\nPart of #6773\n\nNO_DOC=Will be added later.\nNO_CHANGELOG=Will be added later.",
      "timestamp": "2022-04-25T09:49:48+03:00",
      "url": "https://github.com/tarantool/tarantool/commit/95b9c87b7a4f059c7a842fe82f8f23f1b020191c",
      "author": {
        "name": "Mergen Imeev",
        "email": "imeevma@gmail.com",
        "username": "ImeevMA"
      },
      "committer": {
        "name": "Kirill Yukhin",
        "email": "kyukhin@tarantool.org",
        "username": "kyukhin"
      },
      "added": [

      ],
      "removed": [

      ],
      "modified": [
        "src/box/bind.c",
        "src/box/bind.h",
        "src/box/lua/execute.c",
        "src/box/sql/sqlInt.h",
        "src/box/sql/vdbeapi.c",
        "test/sql-luatest/interval_test.lua"
      ]
    },
    {
      "id": "e61f4f61d6ffe90d4a39d7504ecf6ef02d654cbd",
      "tree_id": "3cfdc3f011d16f79542ae12ece2d6197be65dba4",
      "distinct": true,
      "message": "sql: check left operand before right in arithmetic\n\nPrior to this patch, the right operand was checked before the left. This\ncan lead to some complications when arithmetic operations are added for\nthe DATETIME and INTERVAL values. To avoid this, let's check the left\noperand before the right one. This will cause the description of the\nerror to change, but nothing else.\n\nNeeded for #6773\n\nNO_DOC=Not documented feature.",
      "timestamp": "2022-04-25T09:49:48+03:00",
      "url": "https://github.com/tarantool/tarantool/commit/e61f4f61d6ffe90d4a39d7504ecf6ef02d654cbd",
      "author": {
        "name": "Mergen Imeev",
        "email": "imeevma@gmail.com",
        "username": "ImeevMA"
      },
      "committer": {
        "name": "Kirill Yukhin",
        "email": "kyukhin@tarantool.org",
        "username": "kyukhin"
      },
      "added": [
        "changelogs/unreleased/gh-6773-arithmetic-operands.md",
        "test/sql-luatest/gh_6773_arithmetic_operands_test.lua"
      ],
      "removed": [

      ],
      "modified": [
        "src/box/sql/mem.c",
        "test/sql-tap/tkt-a8a0d2996a.test.lua",
        "test/sql/boolean.result"
      ]
    },
    {
      "id": "0636ec43459f3fe6e415925dcd0c1eb83e73ebb5",
      "tree_id": "2759143bd245008c46ad9fe65bd6f80396c1a535",
      "distinct": true,
      "message": "sql: arithmetic for DATETIME and INTERVAL\n\nAfter this patch, it will be possible to perform permitted arithmetic\noperations on DATETIME and INTERVAL values.\n\nCloses #6773\n\n@TarantoolBot document\nTitle: Field type interval is available in SQL\n\nThe INTERVAL field type is now available in SQL. INTERVAL values cannot\nbe compared. INTERVAL values can be explicitly and implicitly cast to\nANY. There are currently no literals for the INTERVAL field type.",
      "timestamp": "2022-04-25T09:49:48+03:00",
      "url": "https://github.com/tarantool/tarantool/commit/0636ec43459f3fe6e415925dcd0c1eb83e73ebb5",
      "author": {
        "name": "Mergen Imeev",
        "email": "imeevma@gmail.com",
        "username": "ImeevMA"
      },
      "committer": {
        "name": "Kirill Yukhin",
        "email": "kyukhin@tarantool.org",
        "username": "kyukhin"
      },
      "added": [
        "changelogs/unreleased/gh-6773-introduce-field-type-interval-to-sql.md"
      ],
      "removed": [

      ],
      "modified": [
        "src/box/sql/mem.c",
        "src/box/sql/mem.h",
        "test/sql-luatest/datetime_test.lua",
        "test/sql-luatest/gh_6773_arithmetic_operands_test.lua",
        "test/sql-luatest/interval_test.lua",
        "test/sql-tap/array.test.lua",
        "test/sql-tap/map.test.lua",
        "test/sql-tap/metatypes.test.lua",
        "test/sql-tap/sql-errors.test.lua",
        "test/sql-tap/tkt-a8a0d2996a.test.lua",
        "test/sql-tap/uuid.test.lua",
        "test/sql/boolean.result",
        "test/sql/types.result"
      ]
    }
  ],
  "head_commit": {
    "id": "0636ec43459f3fe6e415925dcd0c1eb83e73ebb5",
    "tree_id": "2759143bd245008c46ad9fe65bd6f80396c1a535",
    "distinct": true,
    "message": "sql: arithmetic for DATETIME and INTERVAL\n\nAfter this patch, it will be possible to perform permitted arithmetic\noperations on DATETIME and INTERVAL values.\n\nCloses #6773\n\n@TarantoolBot document\nTitle: Field type interval is available in SQL\n\nThe INTERVAL field type is now available in SQL. INTERVAL values cannot\nbe compared. INTERVAL values can be explicitly and implicitly cast to\nANY. There are currently no literals for the INTERVAL field type.",
    "timestamp": "2022-04-25T09:49:48+03:00",
    "url": "https://github.com/tarantool/tarantool/commit/0636ec43459f3fe6e415925dcd0c1eb83e73ebb5",
    "author": {
      "name": "Mergen Imeev",
      "email": "imeevma@gmail.com",
      "username": "ImeevMA"
    },
    "committer": {
      "name": "Kirill Yukhin",
      "email": "kyukhin@tarantool.org",
      "username": "kyukhin"
    },
    "added": [
      "changelogs/unreleased/gh-6773-introduce-field-type-interval-to-sql.md"
    ],
    "removed": [

    ],
    "modified": [
      "src/box/sql/mem.c",
      "src/box/sql/mem.h",
      "test/sql-luatest/datetime_test.lua",
      "test/sql-luatest/gh_6773_arithmetic_operands_test.lua",
      "test/sql-luatest/interval_test.lua",
      "test/sql-tap/array.test.lua",
      "test/sql-tap/map.test.lua",
      "test/sql-tap/metatypes.test.lua",
      "test/sql-tap/sql-errors.test.lua",
      "test/sql-tap/tkt-a8a0d2996a.test.lua",
      "test/sql-tap/uuid.test.lua",
      "test/sql/boolean.result",
      "test/sql/types.result"
    ]
  }
}

Response:

Content-Length: 747
Content-Type: text/html; charset=UTF-8
Date: Tue, 26 Apr 2022 20:47:06 GMT
Server: nginx
Strict-Transport-Security: max-age=15724800; includeSubdomains

Body:

    <!DOCTYPE HTML PUBLIC "-//IETF//DTD HTML 2.0//EN">
    <html>
        <head>
            <title>Error: 500 Internal Server Error</title>
            <style type="text/css">
              html {background-color: #eee; font-family: sans;}
              body {background-color: #fff; border: 1px solid #ddd;
                    padding: 15px; margin: 15px;}
              pre {background-color: #eee; border: 1px solid #ddd; padding: 5px;}
            </style>
        </head>
        <body>
            <h1>Error: 500 Internal Server Error</h1>
            <p>Sorry, the requested URL <tt>&#039;https://docbot.tarantool.io/&#039;</tt>
               caused an error:</p>
            <pre>Internal Server Error</pre>
        </body>
    </html>
Totktonada commented 1 year ago

We were hit by something similar recently: https://github.com/tarantool/vshard/issues/395.

I reached the machine, where the docbot is deployed and looked at logs:

[2023-01-17 21:02:27,613] ERROR in app: Exception on / [POST]
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 2077, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1525, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1523, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1509, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/app/docbot/app.py", line 23, in webhook
    return webhook_handler(data, event)
  File "/app/docbot/handlers.py", line 35, in webhook_handler
    process_commit(c, is_master_push, issue_repo)
  File "/app/docbot/processors.py", line 77, in process_commit
    github.create_issue(comment['title'],
  File "/app/docbot/github.py", line 29, in create_issue
    status_code = self._send_request(url, body)
  File "/app/docbot/github.py", line 36, in _send_request
    r = requests.request(method, url, json=body, headers=headers)
  File "/usr/local/lib/python3.10/site-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 573, in request
    prep = self.prepare_request(req)
  File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 484, in prepare_request
    p.prepare(
  File "/usr/local/lib/python3.10/site-packages/requests/models.py", line 368, in prepare
    self.prepare_url(url, params)
  File "/usr/local/lib/python3.10/site-packages/requests/models.py", line 439, in prepare_url
    raise MissingSchema(
requests.exceptions.MissingSchema: Invalid URL 'None/issues': No scheme supplied. Perhaps you meant http://None/issues?
[2023-01-19 22:27:15,200] ERROR in app: Exception on / [POST]
Traceback (most recent call last):
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 2077, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1525, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1523, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.10/site-packages/flask/app.py", line 1509, in dispatch_request
    return self.ensure_sync(self.view_functions[rule.endpoint])(**req.view_args)
  File "/app/docbot/app.py", line 23, in webhook
    return webhook_handler(data, event)
  File "/app/docbot/handlers.py", line 35, in webhook_handler
    process_commit(c, is_master_push, issue_repo)
  File "/app/docbot/processors.py", line 77, in process_commit
    github.create_issue(comment['title'],
  File "/app/docbot/github.py", line 29, in create_issue
    status_code = self._send_request(url, body)
  File "/app/docbot/github.py", line 36, in _send_request
    r = requests.request(method, url, json=body, headers=headers)
  File "/usr/local/lib/python3.10/site-packages/requests/api.py", line 59, in request
    return session.request(method=method, url=url, **kwargs)
  File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 573, in request
    prep = self.prepare_request(req)
  File "/usr/local/lib/python3.10/site-packages/requests/sessions.py", line 484, in prepare_request
    p.prepare(
  File "/usr/local/lib/python3.10/site-packages/requests/models.py", line 368, in prepare
    self.prepare_url(url, params)
  File "/usr/local/lib/python3.10/site-packages/requests/models.py", line 439, in prepare_url
    raise MissingSchema(
requests.exceptions.MissingSchema: Invalid URL 'None/issues': No scheme supplied. Perhaps you meant http://None/issues?
Totktonada commented 1 year ago

According to the backtrace vshard's problem is here:

https://github.com/tarantool/docbot/blob/c2e8b552dc39c7b7b97f0da3e781edca58905a7c/docbot/settings.py#L9-L15

There is no vshard in this list.

The original problem still unclear, need at least a backtrace.

Totktonada commented 1 year ago

vshard's problem was fixed in PR #24.