{"payload":{"feedbackUrl":"https://github.com/orgs/community/discussions/53140","repo":{"id":105944401,"defaultBranch":"master","name":"yugabyte-db","ownerLogin":"yugabyte","currentUserCanPush":false,"isFork":false,"isEmpty":false,"createdAt":"2017-10-05T21:56:00.000Z","ownerAvatar":"https://avatars.githubusercontent.com/u/17074854?v=4","public":true,"private":false,"isOrgOwned":true},"refInfo":{"name":"","listCacheKey":"v0:1721204796.0","currentOid":""},"activityList":{"items":[{"before":"176e09a6019ab983b44fae5e94532aecd1dce84e","after":"ea3a0092b6601fd05637438624cafc67c738e03a","ref":"refs/heads/2024.1","pushedAt":"2024-07-17T06:20:34.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"subramanian-neelakantan","name":"Subramanian Neelakantan","path":"/subramanian-neelakantan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5960548?s=80&v=4"},"commit":{"message":"[BACKPORT 2024.1][PLAT-14672] getSessionInfo should return a valid api token\n\nSummary:\nOriginal commit: c8e75307458130974a74a67fedb187a89e589fd0 / D36560\nWith D35345 change, YBA does not store the api token in plain text anymore. Only the hash of the api token is saved and used for auth verification. As part of D35345 the getSessionInfo was returning the hashed api token in the response. This is not useful for the end user.\n\nThe workflow for getting started with YBA API is to first /api_login. This returns a SessionInfo response that contains a apiToken, customer uuid, and user uuid. This information can then used for subsequent API calls, with apiToken placed in X-AUTH-YW-API-TOKEN header.\n\nThe API token will be refreshed when calling any of the unauthenticated APIs /login, /api_login, or the authenticated APIs /api_token, and /session_info.\n\nWith this diff, the change in behaviour is:\nOld: getSessionInfo used to return the previously generated api token\nNow: getSessionInfo generates a new api token and returns it\n\nClients (like YBM) that could invoke concurrent requests to fetch the api token should use the `/api_token??apiTokenVersion=$lastApiTokenVersion` to make sure that the latest valid api token is used in the current thread. Invoking /session_info will always generate a new api token, and if invoked concurrently, will leave only one of the invoking threads with a valid api token.\n\nSo for example, this method in YBM needs to be updated to use `/api_token??apiTokenVersion=$lastApiTokenVersion`:\n```\nhttps://github.com/yugabyte/yugabyte-cloud/blob/acb47b1c01e138a726d339888652eebf45fb7df5/common/src/main/java/clients/platform/PlatformClientImpl.java#L436-L444\n\n @Override\n public String generateApiKey(UUID customerUUID, boolean withRetries)\n throws RetryableException, InterruptedException {\n // Call the session_info endpoint which uses \"user.getOrCreateApiToken()\", and hence is safe for\n // out-of-order generate requests\n // Creates the apiToken if it isn't already created, else just returns it\n String url = String.format(\"%s/api/v1/session_info\", hostname);\n JsonNode responseJson = get(url, true /* useAuthToken */, withRetries);\n return responseJson.get(\"apiToken\").asText();\n }\n```\n\nTest Plan: Manually tested the /session_info returns a valid api token that then works for a subsequent API call\n\nReviewers: #yba-api-review, dkumar, amalyshev, cwang, anijhawan, amindrov, daniel, dnolan\n\nReviewed By: #yba-api-review, dkumar\n\nSubscribers: yugaware\n\nTags: #jenkins-ready\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36640","shortMessageHtmlLink":"[BACKPORT 2024.1][PLAT-14672] getSessionInfo should return a valid ap…"}},{"before":"3abd045c92674020f82385fc3350b10a9402262d","after":"d67ba12349961ee08025d673b144101816a25d8f","ref":"refs/heads/master","pushedAt":"2024-07-17T05:03:24.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pao214","name":"Bvsk Patnaik","path":"/pao214","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16426043?s=80&v=4"},"commit":{"message":"[#22158] YSQL: Set local limit as safe time even when the read time is already set.\n\nSummary:\n### Motivation\n\nSetting the local limit to current safe time will help prune writes that arrived after the read RPC arrived at a tablet.\n\n### Impact\n\nFor a thorough overview of when the read time is provided to DocDB see pg_read_time-test.cc.\n\nFor a quick summary, the read time may be set before the read RPC arrives at a storage layer node when\n\n1. This a fanout read such as a COUNT(*) query.\n2. This is a multi-tablet read and the read time was already picked on some remote storage layer node.\n3. This is a REPEATABLE READ transaction, and the read time has already been picked in a previous statement but we are scanning a different tablet.\n4. Potentially other scenarios ...\nJira: DB-11085\n\nTest Plan:\nJenkins\n\n```\n./yb_build.sh --cxx-test pg_local_limit_optimization-test --gtest_filter PgLocalLimitOptimizationTest.SinglePageScan\n./yb_build.sh --cxx-test pg_local_limit_optimization-test --gtest_filter PgLocalLimitOptimizationTest.ReadTimePickedOnLocalProxy\n./yb_build.sh --cxx-test pg_local_limit_optimization-test --gtest_filter PgLocalLimitOptimizationTest.ReadTimePickedOnRemoteNode\n./yb_build.sh --cxx-test pg_local_limit_optimization-test --gtest_filter PgLocalLimitOptimizationTest.ReadTimePickedBeforeTableScan\n```\n\nBackport-through: 2.20\n\nReviewers: pjain, sergei\n\nReviewed By: pjain, sergei\n\nSubscribers: yql, ybase\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D34561","shortMessageHtmlLink":"[#22158] YSQL: Set local limit as safe time even when the read time i…"}},{"before":"c8e75307458130974a74a67fedb187a89e589fd0","after":"3abd045c92674020f82385fc3350b10a9402262d","ref":"refs/heads/master","pushedAt":"2024-07-17T04:29:23.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"d-uspenskiy","name":"Dmitry Uspenskiy","path":"/d-uspenskiy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47734295?s=80&v=4"},"commit":{"message":"[#22594] YSQL: Fix flaky TestTransactionStatusTable.testCreation unit test\n\nSummary:\nASAN/TSAN builds are usually slow than release/debug.\nIt is required to use lesser paralelism and reduce pressure on\nt-server/master and avoid different timeout issues.\nJira: DB-11502\n\nTest Plan:\nRun existing unit tests\n\n```\n./yb_build.sh asan --java-test 'org.yb.pgsql.TestTransactionStatusTable#testCreation' -n 20\n./yb_build.sh asan --java-test 'org.yb.cql.TestTransactionStatusTable#testCreation' -n 20\n```\n\nReviewers: tnayak, myang, jason\n\nReviewed By: myang\n\nSubscribers: yql\n\nTags: #jenkins-ready\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36607","shortMessageHtmlLink":"[#22594] YSQL: Fix flaky TestTransactionStatusTable.testCreation unit…"}},{"before":"56d2d2d3d3a3ae0f6dcd0fb562e8ab6d58f70669","after":"c8e75307458130974a74a67fedb187a89e589fd0","ref":"refs/heads/master","pushedAt":"2024-07-17T01:49:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"subramanian-neelakantan","name":"Subramanian Neelakantan","path":"/subramanian-neelakantan","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/5960548?s=80&v=4"},"commit":{"message":"[PLAT-14672] getSessionInfo should return a valid api token\n\nSummary:\nWith D35345 change, YBA does not store the api token in plain text anymore. Only the hash of the api token is saved and used for auth verification. As part of D35345 the getSessionInfo was returning the hashed api token in the response. This is not useful for the end user.\n\nThe workflow for getting started with YBA API is to first /api_login. This returns a SessionInfo response that contains a apiToken, customer uuid, and user uuid. This information can then used for subsequent API calls, with apiToken placed in X-AUTH-YW-API-TOKEN header.\n\nThe API token will be refreshed when calling any of the unauthenticated APIs /login, /api_login, or the authenticated APIs /api_token, and /session_info.\n\nWith this diff, the change in behaviour is:\nOld: getSessionInfo used to return the previously generated api token\nNow: getSessionInfo generates a new api token and returns it\n\nClients (like YBM) that could invoke concurrent requests to fetch the api token should use the `/api_token??apiTokenVersion=$lastApiTokenVersion` to make sure that the latest valid api token is used in the current thread. Invoking /session_info will always generate a new api token, and if invoked concurrently, will leave only one of the invoking threads with a valid api token.\n\nSo for example, this method in YBM needs to be updated to use `/api_token??apiTokenVersion=$lastApiTokenVersion`:\n```\nhttps://github.com/yugabyte/yugabyte-cloud/blob/acb47b1c01e138a726d339888652eebf45fb7df5/common/src/main/java/clients/platform/PlatformClientImpl.java#L436-L444\n\n @Override\n public String generateApiKey(UUID customerUUID, boolean withRetries)\n throws RetryableException, InterruptedException {\n // Call the session_info endpoint which uses \"user.getOrCreateApiToken()\", and hence is safe for\n // out-of-order generate requests\n // Creates the apiToken if it isn't already created, else just returns it\n String url = String.format(\"%s/api/v1/session_info\", hostname);\n JsonNode responseJson = get(url, true /* useAuthToken */, withRetries);\n return responseJson.get(\"apiToken\").asText();\n }\n```\n\nTest Plan: Manually tested the /session_info returns a valid api token that then works for a subsequent API call\n\nReviewers: dkumar, amalyshev, cwang, anijhawan, #yba-api-review, amindrov, daniel, dnolan\n\nReviewed By: dkumar, #yba-api-review\n\nSubscribers: yugaware\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36560","shortMessageHtmlLink":"[PLAT-14672] getSessionInfo should return a valid api token"}},{"before":"6c7ea34fad20ff97b5b6b5bd3d4c743f48e4ccb1","after":"9bffce33e2e6975060e7cab7724f88431b8cb1eb","ref":"refs/heads/pg15-cherrypicks","pushedAt":"2024-07-17T01:10:37.000Z","pushType":"push","commitsCount":2,"pusher":{"login":"jasonyb","name":null,"path":"/jasonyb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/93959687?s=80&v=4"},"commit":{"message":"fix : gflag group toggle issue\n\nSummary: Minor code change\n\nTest Plan: Tested manually\n\nReviewers: kkannan, dkumar\n\nReviewed By: kkannan\n\nSubscribers: yugaware, ui\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36622","shortMessageHtmlLink":"fix : gflag group toggle issue"}},{"before":"2e1d406094ddca0384fa0849f96cbedf80efc58c","after":"6c7ea34fad20ff97b5b6b5bd3d4c743f48e4ccb1","ref":"refs/heads/pg15-cherrypicks","pushedAt":"2024-07-17T01:09:51.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jasonyb","name":null,"path":"/jasonyb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/93959687?s=80&v=4"},"commit":{"message":"[BACKPORT pg15-cherrypicks] all: Bulk port from master - 55\n\nSummary:\n cc63aaf5e7 [docs] updates to diagnostics report page (#23162)\n Excluded: 1773ae2545 [#22937] docdb: Backward scans: make pggate be aware of fast backward scan capability\n 39c6228ef6 [PLAT-12732] toggle tls and cert rotation v2 apis\n d7cf1253f7 [PLAT-14539][xCluster] need_bootstrap API does not work for old universes\n 65232ff6ee [PLAT-14654]: Volume Size does not increase when ULTRA storage type is selected\n 4b399339c1 [PLAT-14606]: Disable options to ensure shrinking the RF is not permitted edit universe scenario\n 98d3fedae2 [#23182] YSQL: Fix upgrade test failure when using 2.20.3.1 snapshot\n Excluded: 19ab966579 [#22902] YSQL: Add support for dropping a key column\n 835e30db64 [#22479] docdb: Pass epoch through DB cloning calls\n 3273e9b641 [#21789] docdb: Add tablet splitting support for clone\n 52f7e799e4 [#23064] YSQL: pg_partman: disable p_retention_schema parameter\n 66ed3a53bf [#23197] YSQL: pg_partman: Disable Gist index creation\n 3996f55639 [YNP][PLAT-14664] make node register to provider idempotent\n Excluded: 6ec058dbef [PLAT-14668] - Move YSQL/YCQL configuration RBAC check to universe actions level and integrate RBAC for PG Compatibility\n Excluded: 18bb9b843b [#23034] YSQL: Add Support for OIDC IDP URL (jwt_jwks_url) to fetch and refresh JKWS\n 68cb1d2703 [PLAT-14675][YNP] Fix the formatting for preflight checks\n db445ce998 [PLAT-14471][PLAT-14576] Added configurable deadline, keepAlive and unavailable retries to Ybc Java client\n Excluded: 47da28c0d7 [#23192] YSQL: Simplify/cleanup code in PgDml/PgSelect/PgSelectIndex etc\n Excluded: 1bc7a50eb0 fix : gflag group toggle issue\n\nTest Plan: Jenkins: rebase: pg15-cherrypicks\n\nReviewers: jason, tfoucher\n\nTags: #jenkins-ready\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36624","shortMessageHtmlLink":"[BACKPORT pg15-cherrypicks] all: Bulk port from master - 55"}},{"before":"2f84486dd07b97cdd636ac9e96a97b503790d0e4","after":"2e1d406094ddca0384fa0849f96cbedf80efc58c","ref":"refs/heads/pg15-cherrypicks","pushedAt":"2024-07-17T01:08:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jasonyb","name":null,"path":"/jasonyb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/93959687?s=80&v=4"},"commit":{"message":"[BACKPORT pg15-cherrypicks] all: Bulk port from master - 54\n\nSummary:\n de8c392f3d [#22923] YSQL: In EXPLAIN command, fix relids of prefix keys when under a subquery distinct index scan.\n a1371215cb [#22349] yugabyted: xCluster Integration with yugabyted.\n 040071d637 note about Jumpcloud support (#23193)\n d1572d9581 [PLAT-13410] Allow YCQL index table selection\n Excluded: 47f40bb8a4 [#22144, #22145] YSQL, QueryDiagnostics: Infrastructure for QueryDiagnostics\n c51e6c915a [PLAT-14519] Master failover must not fail when some tservers are down\n c319a56621 [#23100] YSQL: drop column does not complete in docdb when alter schema rpc is missed\n 26eaeaac11 [#23071] yugabyted: Add tests for yugabyted cluster creation.\n 160f24eecd [PLAT-14162] Support bootstrapping for editing list of databases in DR replicatoin\n a65795eda3 [doc][yba] Ports and encryption (#23152)\n 2ca9deb941 [#23079] DocDB: Small cleanups to stay closer to pg15-upgrade branch\n cba0254320 [PLAT-14655] Fix ephemeral upload directory on container installs\n 6e99ea0ea1 [PLAT-14546] Ansible task to replace CentOS 7 repo URLs\n a9f675ed13 [PLAT-14570] Deploy YBC build based on the architecture of destination node\n d56446f5fb [docs] Updated OS tables (#23156)\n 019ab007ff [#23055] docdb: Add in-progress restore/deletion checks to DeleteSnapshot and RestoreSnapshot.\n 9aed20a4ca [PLAT-14248][PLAT-14249] - feat : Enable/Disable Enhanced PG Compatibility\n 79888cf12d [#20482] YSQL : Allow updating follower reads in a transaction block\n a946721f45 [#23122] YSQL: Add pg_partman to build\n e5aea11cbc [PLAT-11188] Handle a node instance without node name set properly in health checks\n 04cf65d91e [#13549] YSQL: Disable ACCESS EXCLUSIVE LOCK in pg_partman\n ed1809c006 [#23123] YSQL: Disable other partition methods except native in pg_partman\n bc55a46913 [#23125] YSQL: Disable pg_partman background worker\n e1ef208495 [#23124] YSQL: Disable advisory locks usage in pg_partman\n\n- explain.c:\n - yb_fix_indexpr_mutator: master\n de8c392f3d89b259369458b609c3febc533c8b64 adds this function. Change\n varnoold to varnosyn in accordance with upstream PG\n 9ce77d75c5ab094637cc4a446296dc3be6e3c221.\n\nTest Plan: Jenkins: rebase: pg15-cherrypicks, urgent\n\nReviewers: jason, tfoucher\n\nTags: #jenkins-ready\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36576","shortMessageHtmlLink":"[BACKPORT pg15-cherrypicks] all: Bulk port from master - 54"}},{"before":"614608496905968b933391f6bb44c8c9ea75b4a5","after":"56d2d2d3d3a3ae0f6dcd0fb562e8ab6d58f70669","ref":"refs/heads/master","pushedAt":"2024-07-17T01:05:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jasonyb","name":null,"path":"/jasonyb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/93959687?s=80&v=4"},"commit":{"message":"[#16408] YSQL: add gflag TEST_generate_ybrowid_sequentially\n\nSummary:\nMotivation: many ported regress tests have tables with no PK, and\nupstream PG often does SELECTs with no ORDER BY on these tables.\nUpstream PG's ordering is consistent in that rows allocate a ctid\nsequentially. YB, on the other hand, randomly generates a UUID for\nybrowid, and furthermore, tables with no PK are HASH sorted.\n\nFix those two differences via a new tserver gflag\nTEST_generate_ybrowid_sequentially. The ybrowids are generated using\nMonoTime::Now() serialized to 8 bytes compared to the usual 16 byte\nUUID. This works for regress tests as regress tests normally do not\nconcurrently write to the same table or use connections across different\nnodes with clock skew.\n\nThere is another unresolved difference between PG and YB's ctid/ybrowid\nallocation: in PG, UPDATEs reallocate ctid. Since doing the same would\nbe very intrusive to the YB model of UPDATEs, leave this out. Most\ntests do not do selective UPDATEs anyway, and for the few cases that do,\nthey can resort to using a ybsort column.\n\nUpdate a handful of tests, particularly changing those using the ybsort\nworkaround to no longer use it. Of particular note is yb_pg_with, which\nstill needs the ybsort column for some tables due to some UPDATEs.\n\nIdeally, all ported regress tests turn on this flag. But the current\nstate of things makes it hard to separate ported tests from non-ported\nones. Put that work off for later, particularly the pg15 branch, where\nthis code is already in place in commit\nfedbdac1c20d8301b63860041835f001bfb33118.\n\nFor here in master (currently based on PG 11), fix just the\nTestPgRegressIndex test using this flag. Split it to TestPgRegressIndex\nand TestPgRegressPgIndex for non-ported and ported tests respectively.\nFor the ported test, set the flag.\n\nAlso note that yb_pg_indexing's output changes for an error/hint\nmessage because the pk-less table now has ASC ybrowid instead of HASH\nybrowid. This causes a new code path to get taken which ends up calling\nRelationGetIndexList:\n\n ATRewriteTables > make_new_heap > yb_copy_split_options > YbRelationSetNewRelfileNode > YbGetSplitOptions > RelationGetPrimaryKeyIndex > RelationGetIndexList\n\nSo when entering FetchUniqueConstraintName for forming the message, it\nhits the else block because rd_pkindex is loaded since\nRelationIdGetRelation now finds the index in the scan unlike before.\nThis is undesirable behavior since it differs from upstream PG, but\ndealing with it is out of scope.\nJira: DB-5819\n\nTest Plan:\n ./yb_build.sh fastdebug --gcc11 --java-test TestPgRegressIndex\n ./yb_build.sh fastdebug --gcc11 --java-test TestPgRegressPgIndex \\\n -n 10 --tp 1\n\nClose: #16408\n\nReviewers: myang\n\nReviewed By: myang\n\nSubscribers: tfoucher, yql\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36599","shortMessageHtmlLink":"[#16408] YSQL: add gflag TEST_generate_ybrowid_sequentially"}},{"before":"13c0ced9fad39ae4eb120eb8d896f3173dac3c2d","after":"614608496905968b933391f6bb44c8c9ea75b4a5","ref":"refs/heads/master","pushedAt":"2024-07-17T00:26:11.000Z","pushType":"pr_merge","commitsCount":1,"pusher":{"login":"ddhodge","name":"Dwight Hodge","path":"/ddhodge","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/79169168?s=80&v=4"},"commit":{"message":"[doc][ybm] Reorg to Aeon authentication pages (#23226)\n\n* Reorg to Aeon authentication pages\r\n\r\n* review comments\r\n\r\n* tidyups","shortMessageHtmlLink":"[doc][ybm] Reorg to Aeon authentication pages (#23226)"}},{"before":"6496324e08e3222add5566e5d397dd4bb6d0161e","after":"2f84486dd07b97cdd636ac9e96a97b503790d0e4","ref":"refs/heads/pg15-cherrypicks","pushedAt":"2024-07-16T22:15:21.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pkj415","name":"Piyush Jain","path":"/pkj415","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12711838?s=80&v=4"},"commit":{"message":"[BACKPORT pg15-cherrypicks] merge: master branch commit '3494424f710b9ce9d7ccfe61a57a61801084ce8d' into pg15\n\nSummary:\nMerge YB master commit '3494424f710b9ce9d7ccfe61a57a61801084ce8d' titled\n```\n[#12494] YSQL: Allow changing transaction characteristics in read committed isolation\n```\n\nConflicts resolved:\n- xact.c:\n - location: TopTransactionStateData\n\nYB added a new field called `ybIsInternalRcSubTransaction` in the\nstruct TransactionStateData and the default for that field needs to be set\nin TopTransactionStateData. In setting the default values for\nTopTransactionStateData, PG 15 uses a different syntax. Also, PG15\nremoved explicitly setting the default for various fields starting from\n\"transaction id\", \"sub transaction id\", ... all the way to \"link to the\nparent state block\". This is probably because the default initialization\nvalues of these fields are the same as those that were intended.\n\nThis diff also removes struct member names that were present as code comments\nwhen assigning default values for TopTransactionStateData.\n\nTest Plan: ./yb_build.sh --java-test org.yb.pgsql.TestPgIsolationRegress#isolationRegress\n\nReviewers: jason\n\nReviewed By: jason\n\nSubscribers: yql\n\nTags: #jenkins-ready\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36634","shortMessageHtmlLink":"[BACKPORT pg15-cherrypicks] merge: master branch commit '3494424f710b…"}},{"before":"25fb8a5990c8c97132d24e8118dad3d03430561a","after":"176e09a6019ab983b44fae5e94532aecd1dce84e","ref":"refs/heads/2024.1","pushedAt":"2024-07-16T20:36:59.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"iSignal","name":"Sanketh I","path":"/iSignal","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/8207010?s=80&v=4"},"commit":{"message":"[BACKPORT 2024.1] [PLAT-14546] Ansible task to replace CentOS 7 repo URLs\n\nSummary:\nWith the EOL of CentOS 7 there are certain mirror URLs that are now invalid. We can replace these with the vault version (and comment out the mirrorlists) to temporarily unblock CentOS 7 universe creation.\n\nOriginal diff: https://phorge.dev.yugabyte.com/D36453\n\nTest Plan: Create universe on CentOS 7 gcp, ensure yum installs can complete.\n\nReviewers: anijhawan, svarshney\n\nReviewed By: anijhawan\n\nSubscribers: yugaware\n\nTags: #jenkins-ready\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36632","shortMessageHtmlLink":"[BACKPORT 2024.1] [PLAT-14546] Ansible task to replace CentOS 7 repo …"}},{"before":"0795da03f3835c16766db87a018f0e96fd086f9f","after":"b125428bc2580bedaa14f988f9b426d6761bcc80","ref":"refs/heads/pg15","pushedAt":"2024-07-16T18:56:05.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jasonyb","name":null,"path":"/jasonyb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/93959687?s=80&v=4"},"commit":{"message":"[pg15] build: enable some contrib extensions\n\nSummary:\nEnable building some extensions in the contrib directory that work without\nchanges and exist in master (PG 11).\n\nTest Plan: Jenkins: rebase: pg15\n\nReviewers: tfoucher\n\nReviewed By: tfoucher\n\nSubscribers: yql\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36595","shortMessageHtmlLink":"[pg15] build: enable some contrib extensions"}},{"before":"0cf3b568437a1499da13fa3e556f802a9f41adde","after":"25fb8a5990c8c97132d24e8118dad3d03430561a","ref":"refs/heads/2024.1","pushedAt":"2024-07-16T18:50:09.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pkj415","name":"Piyush Jain","path":"/pkj415","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12711838?s=80&v=4"},"commit":{"message":"[BACKPORT 2024.1][#12494] YSQL: Allow changing transaction characteristics in read committed isolation\n\nSummary:\nCurrently in YSQL, a user isn't allowed to change the transaction isolation level\nafter starting a READ COMMITTED transaction. This is because of the following\nreason:\n\n(1) In PostgreSQL, the transaction isolation level can be changed only if no\nsub-transactions have been created. If a sub-transaction is created the user\nfaces this error - `ERROR: SET TRANSACTION ISOLATION LEVEL must not be called\nin a subtransaction`.\n\n(2) In YSQL's read committed isolation, an internal savepoint is created before\nexecution of each statement. This is an implementation detail and is required to\nbe able to undo work and restart a statement in case of serialization and\nread restart errors. And each savepoint creates an internal sub-transaction. Hence,\nwhen starting a transaction in READ COMMITTED isolation and trying to change\nthe isolation level using `SET TRANSACTION ISOLATION LEVEL ...` an internal\nsub-transaction is started before changing the isolation level. This leads\nto the above error. The same applies for `SET TRANSACTION DEFERRABLE` and\n`SET TRANSACTION READ WRITE`.\n\nThis diff fixes the issues by allowing change of transaction characteristics i.e.,\nisolation, deferrable, read-write if all sub-transactions are only internal\nread committed sub-transactions and no statement/query was executed yet.\n\nNOTE: This is a workaround. The correct way to do this would have been to\nnot start an internal sub-transaction in the first place if a\n`SET TRANSACTION ...` statement is encountered. However, that isn't possible\nwithout major code changes since the internal sub-transaction is taken before\nparsing the statement. Moreover, once we improve the READ COMMITTED\nisolation implementation as part of GitHub issue ##11572, internal\nsub-transactions will not be needed and this problem will be solved without\nthis workaround.\nJira: [DB-328]\n\nOriginal commit: 3494424f710b9ce9d7ccfe61a57a61801084ce8d / D20688\n\nTest Plan: ./yb_build.sh --java-test org.yb.pgsql.TestPgIsolationRegress#isolationRegress\n\nReviewers: mtakahara, amitanand\n\nReviewed By: mtakahara\n\nSubscribers: yql\n\nTags: #jenkins-ready\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36581","shortMessageHtmlLink":"[BACKPORT 2024.1][#12494] YSQL: Allow changing transaction characteri…"}},{"before":"08ca9dd5c840acff5f0e8638e6ac99d51158beed","after":"13c0ced9fad39ae4eb120eb8d896f3173dac3c2d","ref":"refs/heads/master","pushedAt":"2024-07-16T16:57:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Huqicheng","name":"Qicheng (Jonathan) Hú ","path":"/Huqicheng","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/31775227?s=80&v=4"},"commit":{"message":"[#23215] docdb: disable packed for colocated tables by default\n\nSummary:\nPacked + colocated + restore can cause corruption of tablet schema packings: https://github.com/yugabyte/yugabyte-db/issues/23047\nWe are disabling the feature for now, will re-enable it when #23047 is fixed\n\n`ysql_enable_packed_row_for_colocated_table` is on by default only in master, so it's sufficient to only land this diff to master.\nJira: DB-12158\n\nTest Plan: Jenkins\n\nReviewers: rthallam\n\nReviewed By: rthallam\n\nSubscribers: ybase, yql\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36591","shortMessageHtmlLink":"[#23215] docdb: disable packed for colocated tables by default"}},{"before":"133ff1c64a7cf8876fb9e4e3e048298cc42ee4b2","after":"08ca9dd5c840acff5f0e8638e6ac99d51158beed","ref":"refs/heads/master","pushedAt":"2024-07-16T16:46:26.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"hari90","name":"Hari Krishna Sunder","path":"/hari90","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/12418230?s=80&v=4"},"commit":{"message":"[#23196] DocDB: Handle preview flags in ValidateFlagValue\n\nSummary:\nPerform preview flag checks in `ValidateFlagValue`.\n\nPreview flags that are modified to a non-default values must be in the `allowed_preview_flags_csv` list. We need to run this validation when any preview flag is modified, or when `allowed_preview_flags_csv` itself is modified.\n\nThis needs to be handled separately since we cannot use gflag validator functions. This is because the `allowed_preview_flags_csv` flag validation requires a call to `google::GetAllFlags` which cannot be called from within a flag validator. And the preview flags themself may have custom validators and we cannot define multiple validators for the same flag.\n\nFixes #23196\nJira: DB-12138\n\nTest Plan: FlagsTest.ValidateFlagValue\n\nReviewers: asrivastava\n\nReviewed By: asrivastava\n\nSubscribers: ybase\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36567","shortMessageHtmlLink":"[#23196] DocDB: Handle preview flags in ValidateFlagValue"}},{"before":"281e62cf1a19949428c4e3783eb7f82ebc97e390","after":"0795da03f3835c16766db87a018f0e96fd086f9f","ref":"refs/heads/pg15","pushedAt":"2024-07-16T16:23:36.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"fizaaluthra","name":null,"path":"/fizaaluthra","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/20885072?s=80&v=4"},"commit":{"message":"[pg15] test: fix yb_create_table_like\n\nSummary:\n- Upstream PG commit 50289819230d8ddad510879ee4793b04a05cf13b removes the logic\n in `transformIndexConstraint` for de-duplicating cloned indexes. The handling\n of `LIKE` options has been moved to a later stage and no longer involves\n removing redundant indexes. As a result, all the indexes are cloned. Update\n the test to reflect this.\n- Update the describe output for statistics objects as per upstream PG commit\n a4d75c86bf15220df22de0a92c819ecef9db3849\n- Other minor output changes.\n\nTest Plan: for _ in {1..10}; do grep TestPgRegressMisc#testPgRegressMiscSerial3 pg15_tests/passing_tests.tsv; done | pg15_tests/run_tests.sh\n\nReviewers: jason\n\nReviewed By: jason\n\nSubscribers: yql\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D35784","shortMessageHtmlLink":"[pg15] test: fix yb_create_table_like"}},{"before":"0c8e37895c77fec590eaae8d7202890d1ace2138","after":"133ff1c64a7cf8876fb9e4e3e048298cc42ee4b2","ref":"refs/heads/master","pushedAt":"2024-07-16T14:37:13.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"ShikharSahay","name":"Shikhar","path":"/ShikharSahay","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/67500408?s=80&v=4"},"commit":{"message":"[#23210] yugabyted: yugabyted collect_logs fails to gather logs when yugabyted is not running.\n\nSummary:\nRemoved check for yugabyted running in collect_logs command. Incase, yugabyted crashes or is not running, `collect_logs` command will not fail.\nJira: DB-12154\n\nTest Plan: Manual Testing.\n\nReviewers: nikhil\n\nReviewed By: nikhil\n\nSubscribers: shikhar.sahay\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36615","shortMessageHtmlLink":"[#23210] yugabyted: yugabyted collect_logs fails to gather logs when …"}},{"before":"1bc7a50eb0dcfa07e223c59bf9bc10f7de9f6241","after":"0c8e37895c77fec590eaae8d7202890d1ace2138","ref":"refs/heads/master","pushedAt":"2024-07-16T14:28:16.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"nchandrappa","name":"Nikhil Chandrappa","path":"/nchandrappa","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/13372144?s=80&v=4"},"commit":{"message":"[#23216]yugabyted: Adding required models for source db details and target recommendation details sub pages.\n\nSummary:\nAdding required openapi models for source db details and target recommendation details sub pages of Assessment page.\nJira: DB-12159\n\nTest Plan: Manual Tests\n\nReviewers: djiang\n\nReviewed By: djiang\n\nSubscribers: yugabyted-dev\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36597","shortMessageHtmlLink":"[#23216]yugabyted: Adding required models for source db details and t…"}},{"before":"47da28c0d7000a696c6a68dba9c7f12e8f2de1b5","after":"1bc7a50eb0dcfa07e223c59bf9bc10f7de9f6241","ref":"refs/heads/master","pushedAt":"2024-07-16T13:52:48.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Lingeshwar","name":"Lingeshwar S","path":"/Lingeshwar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30400240?s=80&v=4"},"commit":{"message":"fix : gflag group toggle issue\n\nSummary: Minor code change\n\nTest Plan: Tested manually\n\nReviewers: kkannan, dkumar\n\nReviewed By: kkannan\n\nSubscribers: yugaware, ui\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36622","shortMessageHtmlLink":"fix : gflag group toggle issue"}},{"before":"db445ce9981288b7ba603e50befb7faee27ad5ae","after":"47da28c0d7000a696c6a68dba9c7f12e8f2de1b5","ref":"refs/heads/master","pushedAt":"2024-07-16T12:01:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"d-uspenskiy","name":"Dmitry Uspenskiy","path":"/d-uspenskiy","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/47734295?s=80&v=4"},"commit":{"message":"[#23192] YSQL: Simplify/cleanup code in PgDml/PgSelect/PgSelectIndex etc\n\nSummary:\nThe diffs major changes are\n\n- Substitute `PgPrepareParameters` structure with the PgDml::PrepareParameters which contains only required fields (avoid having multiple source of same data)\n- Move `LoadTable` into `PgDml` class to avoid copy-paste implementations in subclasses\n- Remove redundant destructors\n- Change interface of several functions/methods from accepting output params to using Result (i.e. `Result SampleNextBlock()` instead of `Status SampleNextBlock(bool *has_more)`)\n- Add missed includes\n- Fix `*` and `&` alignment (i.e. use `auto&` vs `auto &`)\n- Make several methods `private` instead of `public`\n\n**Note:** This diff doesn't change any logic. No new unit tests is required.\nJira: DB-12133\n\nTest Plan: Jenkins\n\nReviewers: amartsinchyk, telgersma\n\nReviewed By: amartsinchyk\n\nSubscribers: yql\n\nTags: #jenkins-ready\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36545","shortMessageHtmlLink":"[#23192] YSQL: Simplify/cleanup code in PgDml/PgSelect/PgSelectIndex etc"}},{"before":"68cb1d27033753297b1cca86b9a8a25591a1c332","after":"db445ce9981288b7ba603e50befb7faee27ad5ae","ref":"refs/heads/master","pushedAt":"2024-07-16T10:55:44.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"kv83821-yb","name":"Kumar Vivek","path":"/kv83821-yb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/42805130?s=80&v=4"},"commit":{"message":"[PLAT-14471][PLAT-14576] Added configurable deadline, keepAlive and unavailable retries to Ybc Java client\n\nSummary:\n[PLAT-14471] Contains YBC commit: https://github.com/yugabyte/ybc/commit/62939b0b8059161ae125712380108193e2e798d5\n\nAdded configurable deadline, keepAlive and unavailable retries to Ybc Java client. These\nsettings are configurable via global runtime configs.\n\nISSUE\nSaw hung connections without a proper RCA. The DB node had an established TCP connection but the client does not seem to receive response. The Ybc Java client thread hung forever.\n\nCHANGES\nAdding the following 3 changes to client code:\n\n- Upgraded the grpc-java version to 1.63.1\n- Added deadline to in-progress RPCs. Added 20 minutes deadline to in-flight RPCs. If the RPC does not receive a response within 20 minutes, the client call will fail with DEADLINE_EXCEEDED. This will not be retried.\n- Added keepAlive and keepAliveTimeout. The keepAlive makes periodic calls to grpc server and waits for reply. This happens only when an RPC is in-flight. If the ping does not reply within keepAliveTimeout timeframe, the call will fail with UNAVAILABLE. The RPC will then be retried by the Ybc Java client. Current values are 6 minutes for keepAlive and 2 minutes for keepAliveTimeout.\n\nTEST\nTested with making modifications such that the call does not return in 20 minutes. The exception raised was DEADLINE_EXCEEDED as expected.\n\n[PLAT-14576] Contains YBC commit: https://github.com/yugabyte/ybc/commit/d423da2a3874c2a62cfa927f5adc07f924842fef\n\nFix catalog version mechanism to use database being backed up\n\nISSUE\nEarlier DB used to have a global catalog version so we used template1 DB to run the yb_catalog_version() sql command.\nBut now we have catalog version per DB so we should use the DB to be backed up to fetch the catalog version.\n\nCHANGES\nThe PR changes catalog_version sql to connect to database being backed up.\n\nAdded grpc-inprocess 1.63.1 dependency.\n\nTest Plan: Manually verified\n\nReviewers: kkg, nsingh\n\nReviewed By: kkg\n\nSubscribers: yugaware\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36087","shortMessageHtmlLink":"[PLAT-14471][PLAT-14576] Added configurable deadline, keepAlive and u…"}},{"before":"18bb9b843b6bd38cd75a61a390537dc67594a032","after":"68cb1d27033753297b1cca86b9a8a25591a1c332","ref":"refs/heads/master","pushedAt":"2024-07-16T08:10:57.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Vars-07","name":"Shubham Varshney","path":"/Vars-07","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19248012?s=80&v=4"},"commit":{"message":"[PLAT-14675][YNP] Fix the formatting for preflight checks\n\nSummary: Fixes the formatting for preflight checks.\n\nTest Plan:\nManual\n\n```\n{\n \"results\":\n [\n\n {\n \"check\": \"ClockSynchronization\",\n \"result\": \"PASS\",\n \"message\": \"Systemclocksynchronized\"\n },\n\n {\n \"check\": \"YugabyteUserExistenceCheck\",\n \"result\": \"PASS\",\n \"message\": \"Useryugabyteexists\"\n },\n\n {\n \"check\": \"YugabyteHomeDirectoryPermissionsCheck\",\n \"result\": \"PASS\",\n \"message\": \"/home/yugabytehasthecorrectownershipandacceptablepermissions\"\n },\n\n {\n \"check\": \"SystemdUnitFileCheck-yb-tserver.service\",\n \"result\": \"PASS\",\n \"message\": \"Systemdunityb-tserver.serviceisconfigured.\"\n },\n\n {\n \"check\": \"SystemdUnitFileCheck-yb-master.service\",\n \"result\": \"PASS\",\n \"message\": \"Systemdunityb-master.serviceisconfigured.\"\n },\n\n {\n \"check\": \"SystemdUnitFileCheck-clock-sync.sh.j2\",\n \"result\": \"PASS\",\n \"message\": \"Systemdunitclock-sync.sh.j2isconfigured.\"\n },\n\n {\n \"check\": \"SystemdUnitFileCheck-yb-bind_check.service\",\n \"result\": \"PASS\",\n \"message\": \"Systemdunityb-bind_check.serviceisconfigured.\"\n },\n\n {\n \"check\": \"SystemdUnitFileCheck-yb-clean_cores.service\",\n \"result\": \"PASS\",\n \"message\": \"Systemdunityb-clean_cores.serviceisconfigured.\"\n },\n\n {\n \"check\": \"SystemdUnitFileCheck-yb-clean_cores.timer\",\n \"result\": \"PASS\",\n \"message\": \"Systemdunityb-clean_cores.timerisconfigured.\"\n },\n\n {\n \"check\": \"SystemdUnitFileCheck-yb-collect_metrics.service\",\n \"result\": \"PASS\",\n \"message\": \"Systemdunityb-collect_metrics.serviceisconfigured.\"\n },\n\n {\n \"check\": \"SystemdUnitFileCheck-yb-collect_metrics.timer\",\n \"result\": \"PASS\",\n \"message\": \"Systemdunityb-collect_metrics.timerisconfigured.\"\n },\n\n {\n \"check\": \"SystemdUnitFileCheck-yb-controller.service\",\n \"result\": \"PASS\",\n \"message\": \"Systemdunityb-controller.serviceisconfigured.\"\n },\n\n {\n \"check\": \"SystemdUnitFileCheck-yb-zip_purge_yb_logs.service\",\n \"result\": \"PASS\",\n \"message\": \"Systemdunityb-zip_purge_yb_logs.serviceisconfigured.\"\n },\n\n {\n \"check\": \"SystemdUnitFileCheck-yb-zip_purge_yb_logs.timer\",\n \"result\": \"PASS\",\n \"message\": \"Systemdunityb-zip_purge_yb_logs.timerisconfigured.\"\n },\n\n {\n \"check\": \"vm.swappiness\",\n \"result\": \"PASS\",\n \"message\": \"vm.swappinessissetto0(expected: 0)\"\n },\n\n {\n \"check\": \"vm.max_map_count\",\n \"result\": \"PASS\",\n \"message\": \"vm.max_map_countissetto262144(expected: 262144)\"\n },\n\n {\n \"check\": \"kernel.core_pattern\",\n \"result\": \"PASS\",\n \"message\": \"kernel.core_patternissetto/home/yugabyte/cores/core_%p_%t_%E\"\n },\n\n {\n \"check\": \"/dataCheck\",\n \"result\": \"FAIL\",\n \"message\": \"Directory/datadoesnotexist.\"\n },\n\n {\n \"check\": \"ServiceStatusCheck\",\n \"result\": \"PASS\",\n \"message\": \"node_exporter.serviceisactive\"\n },\n\n {\n \"check\": \"Port7000Check\",\n \"result\": \"PASS\",\n \"message\": \"Port7000isopenon10.9.141.240\"\n },\n\n {\n \"check\": \"Port7100Check\",\n \"result\": \"PASS\",\n \"message\": \"Port7100isopenon10.9.141.240\"\n },\n\n {\n \"check\": \"Port9000Check\",\n \"result\": \"PASS\",\n \"message\": \"Port9000isopenon10.9.141.240\"\n },\n\n {\n \"check\": \"Port9100Check\",\n \"result\": \"PASS\",\n \"message\": \"Port9100isopenon10.9.141.240\"\n },\n\n {\n \"check\": \"Port18018Check\",\n \"result\": \"PASS\",\n \"message\": \"Port18018isopenon10.9.141.240\"\n },\n\n {\n \"check\": \"Port22Check\",\n \"result\": \"PASS\",\n \"message\": \"Port22isopenon10.9.141.240\"\n },\n\n {\n \"check\": \"Port5433Check\",\n \"result\": \"PASS\",\n \"message\": \"Port5433isopenon10.9.141.240\"\n },\n\n {\n \"check\": \"Port9042Check\",\n \"result\": \"PASS\",\n \"message\": \"Port9042isopenon10.9.141.240\"\n },\n\n {\n \"check\": \"Port9070Check\",\n \"result\": \"PASS\",\n \"message\": \"Port9070isopenon10.9.141.240\"\n },\n\n {\n \"check\": \"Port9300Check\",\n \"result\": \"PASS\",\n \"message\": \"Port9300isopenon10.9.141.240\"\n },\n\n {\n \"check\": \"Port12000Check\",\n \"result\": \"PASS\",\n \"message\": \"Port12000isopenon10.9.141.240\"\n },\n\n {\n \"check\": \"Port13000Check\",\n \"result\": \"PASS\",\n \"message\": \"Port13000isopenon10.9.141.240\"\n },\n\n {\n \"check\": \"ServiceStatusCheck\",\n \"result\": \"PASS\",\n \"message\": \"yb-node-agent.serviceisactive\"\n },\n\n {\n \"check\": \"MemoryUsageCheck\",\n \"result\": \"PASS\",\n \"message\": \"MemoryCurrentisgreaterthan0: 2560000\"\n },\n\n {\n \"check\": \"ServiceStartTimeCheck\",\n \"result\": \"PASS\",\n \"message\": \"Theserviceyb-node-agent.servicestartedafterthescriptexecution.\"\n }\n ]\n}\n```\n\nReviewers: anijhawan, nbhatia\n\nReviewed By: anijhawan\n\nSubscribers: yugaware\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36574","shortMessageHtmlLink":"[PLAT-14675][YNP] Fix the formatting for preflight checks"}},{"before":"6ec058dbeff90721c24eae55df6eed18a4537731","after":"18bb9b843b6bd38cd75a61a390537dc67594a032","ref":"refs/heads/master","pushedAt":"2024-07-16T06:58:55.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"utkarsh-um-yb","name":"Utkarsh Munjal","path":"/utkarsh-um-yb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/45620997?s=80&v=4"},"commit":{"message":"[#23034] YSQL: Add Support for OIDC IDP URL (jwt_jwks_url) to fetch and refresh JKWS\n\nSummary:\nAdded support for jwt_jwks_url in JWT Authentication to fetch and refresh JWKS from url.\n\n**Configuration**\nIn ysql_hba_conf_csv with method jwt can provide jwt_jwks_url to pass the url. Atleast one of the\njwt_jwks_path or jwt_jwks_url must be provided, if both are provided then jwt_jwks_url will be used.\n\n**Fetching**\nImplementation is as follows:\n\n1. Fetches the keys from url using libcurl (EasyCurl implentation)\n2. The keys are used for authentication in a similar fashion as with jwt_jwks_path\n\nJIRA: DB-11962\n\nTest Plan:\n**Automated**\n./yb_build.sh --java-test 'org.yb.pgsql.TestJWTAuth'\n\nAdded similar tests as jwt_jwks_path, to check for valid url, json, and authentication. Also added\nchecks for invalid url and invalid json.\n\nReviewers: stiwary, skumar\n\nReviewed By: stiwary\n\nSubscribers: yql\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36468","shortMessageHtmlLink":"[#23034] YSQL: Add Support for OIDC IDP URL (jwt_jwks_url) to fetch a…"}},{"before":"3996f556393bf9bdcff35a53ebc52aa450dc7452","after":"6ec058dbeff90721c24eae55df6eed18a4537731","ref":"refs/heads/master","pushedAt":"2024-07-16T05:13:06.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Lingeshwar","name":"Lingeshwar S","path":"/Lingeshwar","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/30400240?s=80&v=4"},"commit":{"message":"[PLAT-14668] - Move YSQL/YCQL configuration RBAC check to universe actions level and integrate RBAC for PG Compatibility\n\nSummary:\n - RBAC check for EDIT YSQL/YCQL configuration was already handled in UI at the modal level but due to customer request moving check at universe actions level.\n - Integrate RBAC for PG Compatibility\n\nTest Plan: Tested manullay\n\nReviewers: kkannan, sagarg\n\nReviewed By: kkannan\n\nSubscribers: ui, yugaware\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36572","shortMessageHtmlLink":"[PLAT-14668] - Move YSQL/YCQL configuration RBAC check to universe ac…"}},{"before":"66ed3a53bf159d6f1d688069b0a81d185eda9bc2","after":"3996f556393bf9bdcff35a53ebc52aa450dc7452","ref":"refs/heads/master","pushedAt":"2024-07-16T05:10:32.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"Vars-07","name":"Shubham Varshney","path":"/Vars-07","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/19248012?s=80&v=4"},"commit":{"message":"[YNP][PLAT-14664] make node register to provider idempotent\n\nSummary: [YNP] make node register to provider idempotent. Also improves the preflight check for the modules\n\nTest Plan:\nVerified that node-agent registration is idempotent.\nVerified that preflight checks are successful.\n\nReviewers: anijhawan, nbhatia\n\nReviewed By: anijhawan\n\nSubscribers: yugaware\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36542","shortMessageHtmlLink":"[YNP][PLAT-14664] make node register to provider idempotent"}},{"before":"52f7e799e4b329cf886fb2799e26658e12f668a1","after":"66ed3a53bf159d6f1d688069b0a81d185eda9bc2","ref":"refs/heads/master","pushedAt":"2024-07-16T04:34:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"devansh-ism","name":null,"path":"/devansh-ism","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52438272?s=80&v=4"},"commit":{"message":"[#23197] YSQL: pg_partman: Disable Gist index creation\n\nSummary:\nDisable creating gist index on `custom_time_partitions` table in pg_partman\nas it GIST index creation is not supported.\nJira: DB-12139\n\nTest Plan: jenkins: compile only\n\nReviewers: jason, skumar\n\nReviewed By: jason\n\nSubscribers: yql\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36568","shortMessageHtmlLink":"[#23197] YSQL: pg_partman: Disable Gist index creation"}},{"before":"3273e9b641339fbce231b098fea7c4fa873a2e9d","after":"52f7e799e4b329cf886fb2799e26658e12f668a1","ref":"refs/heads/master","pushedAt":"2024-07-16T04:28:54.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"devansh-ism","name":null,"path":"/devansh-ism","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/52438272?s=80&v=4"},"commit":{"message":"[#23064] YSQL: pg_partman: disable p_retention_schema parameter\n\nSummary:\nIn drop_partition_id and drop_partition_time pg_partman functions which is used\nto drop child tables from a id-based or time-based partition set, there is parameter `p_retention_schema` which if set\nmoves a child table to another schema instead of dropping it.\n\nIf set, then these two functions executes an `ALTER TABLE SET SCHEMA` to move the child partition to new schema.\n\nCurrently `ALTER TABLE SET SCHEMA ` is not supported in YB therefore returning error if set.\n\n```\nyugabyte=# create table tab(a int);\nCREATE TABLE\nyugabyte=# create schema new_schema;\nCREATE SCHEMA\nyugabyte=# alter table tab set schema new_schema;;\nERROR: ALTER TABLE SET SCHEMA not supported yet\nLINE 1: alter table tab set schema new_schema;\n ^\nHINT: Please report the issue on https://github.com/YugaByte/yugabyte-db/issues\n```\n\nIf the drop_partition_time and drop_partition_id are not early exited when `p_retention_schema` is not NULL that could cause detaching of child partitions.\n\nThere is this logic in both functions that detaches child tables if `p_retention_schema` is not NULL.\n\n```\nIF v_retention_keep_table = true OR v_retention_schema IS NOT NULL THEN\n -- No need to detach partition before dropping since it's going away anyway\n -- Avoids issue of FKs not allowing detachment (Github Issue #294).\n IF v_partition_type = 'native' THEN\n v_sql := format('ALTER TABLE %I.%I DETACH PARTITION %I.%I'\n , v_parent_schema\n , v_parent_tablename\n , v_row.partition_schemaname\n , v_row.partition_tablename);\n EXECUTE v_sql;\n ELSE\n EXECUTE format('ALTER TABLE %I.%I NO INHERIT %I.%I'\n , v_row.partition_schemaname\n , v_row.partition_tablename\n , v_parent_schema\n , v_parent_tablename);\n```\nSo if retention_schema is not null in parameters, child partition would be detached , there is later this call to move it to new schema\n\n```\nELSE -- Move to new schema\n IF v_jobmon_schema IS NOT NULL THEN\n v_step_id := add_step(v_job_id, format('Moving table %s.%s to schema %s'\n , v_row.partition_schemaname\n , v_row.partition_tablename\n , v_retention_schema));\n END IF;\n EXECUTE format('ALTER TABLE %I.%I SET SCHEMA %I', v_row.partition_schemaname, v_row.partition_tablename, v_retention_schema);\n```\nSo, if we allow procedure to fail here instead of early exiting, the child table would be actually detached even if the stored procedure errors out.\nGiven YugabyteDB don't have transactional DDL support yet, the detach call we not be rolled back.\nJira: DB-12001\n\nTest Plan: jenkins: compile only\n\nReviewers: skumar, hsunder, jason\n\nReviewed By: jason\n\nSubscribers: yql\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36427","shortMessageHtmlLink":"[#23064] YSQL: pg_partman: disable p_retention_schema parameter"}},{"before":"835e30db642a3816432b16098d6201b289c9ecb0","after":"3273e9b641339fbce231b098fea7c4fa873a2e9d","ref":"refs/heads/master","pushedAt":"2024-07-16T01:19:01.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"SrivastavaAnubhav","name":"Anubhav Srivastava","path":"/SrivastavaAnubhav","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/17299377?s=80&v=4"},"commit":{"message":"[#21789] docdb: Add tablet splitting support for clone\n\nSummary:\nThis diff adds tablet splitting support for clone. Specifically:\n- `CatalogManager::GetBackupEntriesAsOfTime` now returns the set of active tablets (tablets that have not been split) instead of RUNNING and not-hidden tablets. Previously, we could return both the split parent and children until the split parent is deleted. This was causing a `ImportSnapshot` to fail because we were trying to create two tablets with the same partition start key (we do not have the split depth to disambiguate in `ImportSnapshot`).\n - This could fail to cover the space if just one tablet is registered. This gap will be fixed by D31428 (until then, we cannot clone to the time when only one tablet is registered)\n- In `CloneStateManager::ScheduleCloneOps`, changed the check before cloning from active rocksdb from \"tablet is hidden\" to \"tablet is hidden or split\".\n - This covers the case where a split happens at time t1, and we clone to before t1 using a snapshot taken after the parent is hidden (so the snapshot does not contain the split parent)\nJira: DB-10680\n\nTest Plan:\n```\n./yb_build.sh release --cxx-test integration-tests_minicluster-snapshot-test --gtest_filter PgCloneTest.TabletSplitting\n./yb_build.sh release --cxx-test integration-tests_minicluster-snapshot-test --gtest_filter PgCloneTest.TabletSplittingWithIndex\n```\n\nReviewers: mhaddad\n\nReviewed By: mhaddad\n\nSubscribers: ybase\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36440","shortMessageHtmlLink":"[#21789] docdb: Add tablet splitting support for clone"}},{"before":"4a43fef7fe8129d5c1c48496cd81ef7f73595da0","after":"281e62cf1a19949428c4e3783eb7f82ebc97e390","ref":"refs/heads/pg15","pushedAt":"2024-07-15T23:47:42.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"pao214","name":"Bvsk Patnaik","path":"/pao214","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/16426043?s=80&v=4"},"commit":{"message":"[pg15] test: remove pg15_tests/test_isolation.sh\n\nSummary: Commit 89df313a21db fixed TestPgRegressIsolation tests. Remove this shell test.\n\nTest Plan: Jenkins: rebase: pg15, test regex: .*PgRegressIsolation.*\n\nReviewers: jason\n\nReviewed By: jason\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36592","shortMessageHtmlLink":"[pg15] test: remove pg15_tests/test_isolation.sh"}},{"before":"99ae2e7c2bbcb7befadf53c3adea8aefd55394a0","after":"4a43fef7fe8129d5c1c48496cd81ef7f73595da0","ref":"refs/heads/pg15","pushedAt":"2024-07-15T22:33:12.000Z","pushType":"push","commitsCount":1,"pusher":{"login":"jasonyb","name":null,"path":"/jasonyb","primaryAvatarUrl":"https://avatars.githubusercontent.com/u/93959687?s=80&v=4"},"commit":{"message":"[pg15] style: organize list of contrib extensions\n\nSummary:\nThe extensions in the contrib directory are still not all being built. Sort it\nand add commented-out lines for the missing extensions so that it is easier to\ntrack what's left.\n\nTest Plan: Jenkins: rebase: pg15, compile only\n\nReviewers: tfoucher\n\nReviewed By: tfoucher\n\nSubscribers: yql\n\nDifferential Revision: https://phorge.dev.yugabyte.com/D36594","shortMessageHtmlLink":"[pg15] style: organize list of contrib extensions"}}],"hasNextPage":true,"hasPreviousPage":false,"activityType":"all","actor":null,"timePeriod":"all","sort":"DESC","perPage":30,"cursor":"djE6ks8AAAAEgXvSlQA","startCursor":null,"endCursor":null}},"title":"Activity · yugabyte/yugabyte-db"}