{"push_id":2933026747,"size":27,"distinct_size":1,"ref":"refs/heads/follow-stats-structure","head":"11f45652107b9933a4a69c55d6fb323b9f320839","before":"ae70db7892c17467f9213598db55292d23f1a50a","commits":[{"sha":"f09190c14d28c04c937e6ceb2f01b381a1369ac8","author":{"name":"albendz","email":"ee02b28293df04509ba6ba33ebcfcfd89a983ac2@users.noreply.github.com"},"message":"Require combine and reduce scripts in scripted metrics aggregation (#33452)\n\n* Make text message not required in constructor for slack\r\n\r\n* Remove unnecessary comments in test file\r\n\r\n* Throw exception when reduce or combine is not provided; update tests\r\n\r\n* Update integration tests for scripted metrics to always include reduce and combine\r\n\r\n* Remove some old changes from previous branches\r\n\r\n* Rearrange script presence checks to be earlier in build\r\n\r\n* Change null check order in script builder for aggregated metrics; correct test scripts in IT\r\n\r\n* Add breaking change details to PR","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/f09190c14d28c04c937e6ceb2f01b381a1369ac8"},{"sha":"3c1fdc9fc0aa757cdaa48b1217eae18dbc9a1896","author":{"name":"Jay Modi","email":"f182cd2a7ab0a6fbaa274ddb12599a63008bca8c@users.noreply.github.com"},"message":"Security: reduce memory usage of DnRoleMapper (#34250)\n\nThe `DnRoleMapper` class is used to map distinguished names of groups\r\nand users to role names. This mapper builds in an internal map that\r\nmaps from a `com.unboundid.ldap.sdk.DN` to a `Set<String>`. In cases\r\nwhere a lot of distinct DNs are mapped to roles, this can consume quite\r\na bit of memory. The majority of the memory is consumed by the DN\r\nobject. For example, a 94 character DN that has 9 relative DNs (RDN)\r\nwill retain 4KB of memory, whereas the String itself consumes less than\r\n250 bytes.\r\n\r\nIn order to reduce memory usage, we can map from a normalized DN string\r\nto a List of roles. The normalized string is actually how the DN class\r\ndetermines equality with another DN and we can drop the overhead of\r\nneeding to keep all of the other objects in memory. Additionally the\r\nuse of a List provides memory savings as each HashSet is backed by a\r\nHashMap, which consumes a great deal more memory than an appropriately\r\nsized ArrayList. The uniqueness we get from a Set is maintained by\r\nfirst building a set when parsing the file and then converting to a\r\nlist upon completion.\r\n\r\nCloses #34237","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/3c1fdc9fc0aa757cdaa48b1217eae18dbc9a1896"},{"sha":"8f10c771e62016bc156a01310ae35089b605f93d","author":{"name":"Mayya Sharipova","email":"6898d0fbf98798f6fe3b75a58e31bf750c2e22da@elastic.co"},"message":"Add migration info for missing values in script\n\nRelates to #30975","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/8f10c771e62016bc156a01310ae35089b605f93d"},{"sha":"ee21067a418be2abab626fe847ff0eb607cc641f","author":{"name":"Jim Ferenczi","email":"701d4548e9f8dd871da464fc4aad420bdff89a1a@elastic.co"},"message":"Add early termination support for min/max aggregations (#33375)\n\nThis commit adds the support to early terminate the collection of a leaf\r\nin the min/max aggregator. If the query matches all documents the min and max value\r\nfor a numeric field can be retrieved efficiently in the points reader.\r\nThis change applies this optimization when possible.","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/ee21067a418be2abab626fe847ff0eb607cc641f"},{"sha":"d45fe43a68b4706745f34533dd7d2b53614c2167","author":{"name":"Kazuhiro Sera","email":"2eaf49e3c886636400c14353bc7391a757b66cca@gmail.com"},"message":"Fix a variety of typos and misspelled words (#32792)","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/d45fe43a68b4706745f34533dd7d2b53614c2167"},{"sha":"a21a99da1817e703c7bbf73ea76ceca66a6a6428","author":{"name":"Jay Modi","email":"f182cd2a7ab0a6fbaa274ddb12599a63008bca8c@users.noreply.github.com"},"message":"Security: upgrade unboundid ldapsdk to 4.0.8 (#34247)\n\nThis commit upgrades the unboundid ldapsdk to version 4.0.8. The\r\nprimary driver for upgrading is a fix that prevents this library from\r\nrewrapping Error instances that would normally bubble up to the\r\nUncaughtExceptionHandler and terminate the JVM. Other notable changes\r\ninclude some fixes related to connection handling in the library's\r\nconnection pool implementation.\r\n\r\nCloses #33175","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/a21a99da1817e703c7bbf73ea76ceca66a6a6428"},{"sha":"f79282e47da26b351dc6b2d97e669c0ea9287b5e","author":{"name":"Yogesh Gaikwad","email":"f5a254bbca9acc7630578898e4b0c9a85877b314@users.noreply.github.com"},"message":"[TESTS] Set SO_LINGER and SO_REUSEADDR on the mock socket (#34211)\n\nIn SessionFactoryLoadBalancingTests#testRoundRobinWithFailures()\r\nwe kill ldap servers randomly and immediately bind to that port\r\nconnecting to mock server socket. This is done to avoid someone else\r\nlistening to this port. As the creation of mock socket and binding to the\r\nport is immediate, sometimes the earlier socket would be in TIME_WAIT state\r\nthereby having problems with either bind or connect.\r\nThis commit sets the SO_REUSEADDR explicitly to true and also sets\r\nthe linger on time to 0(as we are not writing any data) so as to\r\nallow re-use of the port and close immediately.\r\n\r\nNote: I could not find other places where this might be problematic\r\nbut looking at test runs and netstat output I do see lot of sockets\r\nin TIME_WAIT. If we find that this needs to be addressed we can\r\nwrap ServerSocketFactory to set these options and use that with in\r\nmemory ldap server configuration during tests.\r\n\r\nCloses #32190","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/f79282e47da26b351dc6b2d97e669c0ea9287b5e"},{"sha":"6dd716b0c40032537c8bc2910f6e35c5ae8ece04","author":{"name":"Nhat Nguyen","email":"1943a2452209b7c42f2abb91b701b4a903281a30@elastic.co"},"message":"Replace version with reader cache key in IndicesRequestCache (#34189)\n\nToday we use the version of a DirectoryReader as a component of the key\r\nof IndicesRequestCache. This usage is perfectly fine since the version\r\nis advanced every time a new change is made into IndexWriter. In other\r\nwords, two DirectoryReaders with the same version should have the same\r\ncontent. However, this invariant is only guaranteed in the context of a\r\nsingle IndexWriter because the version is reset to the committed version\r\nvalue when IndexWriter is re-opened.\r\n\r\nSince #33473, each IndexShard may have more than one IndexWriter, and\r\nusing the version of a DirectoryReader as a part of the cache key can\r\ncause IndicesRequestCache to return stale cached values. For example, in\r\n#27650, we rollback the engine (i.e., re-open IndexWriter), index new\r\ndocuments, refresh, then make a count request, but the search layer\r\nmistakenly returns the count of the DirectoryReader of the previous\r\nIndexWriter because the current DirectoryReader has the same version of\r\nthe old DirectoryReader even their documents are different. This is\r\npossible because these two readers come from different IndexWriters.\r\n\r\nThis commit replaces the the version with the reader cache key of\r\nIndexReader as a component of the cache key of IndicesRequestCache.\r\n\r\nCloses #27650\r\nRelates #33473","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/6dd716b0c40032537c8bc2910f6e35c5ae8ece04"},{"sha":"81227dc3892de76b2c22781a57865bef6028a959","author":{"name":"Yogesh Gaikwad","email":"f5a254bbca9acc7630578898e4b0c9a85877b314@users.noreply.github.com"},"message":"[Authz] Allow update settings action for system user (#34030)\n\nWhen the cluster.routing.allocation.disk.watermark.flood_stage watermark\r\nis breached, DiskThresholdMonitor marks the indices as read-only. This\r\nfailed when x-pack security was present as system user does not have the privilege\r\nfor update settings action(\"indices:admin/settings/update\").\r\nThis commit adds the required privilege for the system user. Also added missing\r\ndebug logs when access is denied to help future debugging.\r\nAn assert statement is added to catch any missed privileges required for\r\nsystem user.\r\n\r\nCloses #33119","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/81227dc3892de76b2c22781a57865bef6028a959"},{"sha":"e8b986cc37eaf54a9717ef0687daead670eba12c","author":{"name":"Jim Ferenczi","email":"bfc895747ff69d4aa3998ee4182601bb7909bce5@apache.org"},"message":"Fix sporadic failure in NestedObjectMapperTests\n\nRelates #34225","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/e8b986cc37eaf54a9717ef0687daead670eba12c"},{"sha":"2c82b80b8529a1b855c2916a83532c32bf65a313","author":{"name":"Ioannis Kakavas","email":"462b74368bfe6ee2e2a7eda0d8e0ab4c90724d4d@protonmail.com"},"message":" Support PKCS#11 tokens as keystores and truststores  (#34063)\n\nThis enables Elasticsearch to use the JVM-wide configured\r\nPKCS#11 token as a keystore or a truststore for its TLS configuration.\r\nThe JVM is assumed to be configured accordingly with the appropriate\r\nSecurity Provider implementation that supports PKCS#11 tokens.\r\nFor the PKCS#11 token to be used as a keystore or a truststore for an\r\nSSLConfiguration, the .keystore.type or .truststore.type must be\r\nexplicitly set to pkcs11 in the configuration.\r\nThe fact that the PKCS#11 token configuration is JVM wide implies that\r\nthere is only one available keystore and truststore that can be used by TLS\r\nconfigurations in Elasticsearch.\r\nThe PIN for the PKCS#11 token can be set as a truststore parameter in\r\nElasticsearch or as a JVM parameter ( -Djavax.net.ssl.trustStorePassword).\r\n\r\nThe basic goal of enabling PKCS#11 token support is to allow PKCS#11-NSS in\r\nFIPS mode to be used as a FIPS 140-2 enabled Security Provider.","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/2c82b80b8529a1b855c2916a83532c32bf65a313"},{"sha":"74993fe1519b11ae45666ab7af31d1303a7633a5","author":{"name":"Ioannis Kakavas","email":"462b74368bfe6ee2e2a7eda0d8e0ab4c90724d4d@protonmail.com"},"message":"Document smtp.ssl.trust configuration option (#34275)\n\nThis adds documentation for `smtp.ssl.trust` that was reintroduced\r\nin #31684 in 6.3.2.\r\n\r\nResolves #32936","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/74993fe1519b11ae45666ab7af31d1303a7633a5"},{"sha":"577261ee578607349c29f7d0920a7b40718412ff","author":{"name":"Ed Savage","email":"fa6d253355549ec496a481c76b2f75d12bc45e44@users.noreply.github.com"},"message":"[ML] Label anomalies with  multi_bucket_impact (#34233)\n\n* [ML] Label anomalies with  multi_bucket_impact\r\n\r\nAdd the multi_bucket_impact field to record results.","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/577261ee578607349c29f7d0920a7b40718412ff"},{"sha":"f817bc57d370cde59938ac7686a2a69d64c8fcef","author":{"name":"Albert Zaharovits","email":"2b41d54e6567a819085ba9c6bedb407ffe03dcb5@gmail.com"},"message":"[Security] Multi Index Expression alias wildcard exclusion (#34144)\n\nThe Security plugin authorizes actions on indices. Authorization\r\nhappens on a per index/alias basis. Therefore a request with a\r\nMulti Index Expression (containing wildcards) has to be\r\nfirst evaluated in the authorization layer, before the request is\r\nhandled. For authorization purposes, wildcards in expressions will\r\nonly be expanded to indices/aliases that are visible by the authenticated\r\nuser. However, this \"constrained\" evaluation has to be compatible with\r\nthe expression evaluation that a cluster without the Security plugin\r\nwould do. Therefore any change in the evaluation logic\r\nin any of these sites has to be mirrored in the other site.\r\n\r\nThis commit mirrors the changes in core from #33518 that allowed\r\nfor Multi Index Expression in the Get Alias API, loosely speaking.","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/f817bc57d370cde59938ac7686a2a69d64c8fcef"},{"sha":"3ccb7af56a127371807714d0b869c1952a7685ce","author":{"name":"Ignacio Vera","email":"08d6e9602350e3d98f57a621f70a1b8d40cedd0a@gmail.com"},"message":"HLRC: Add activate watch action (#33988)\n\n* HLRC: Add activate watcher action\r\n\r\nAdds activate watch action to the high level rest client.\r\n\r\nRelates #29827","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/3ccb7af56a127371807714d0b869c1952a7685ce"},{"sha":"dc2cf28fde6a7ec2576cf526eb8e1a238fad2f3e","author":{"name":"Nik Everett","email":"cd30b83b3787c52251dabc7000a4f9dfbe1c5f24@gmail.com"},"message":"Docs: Allow skipping response assertions (#34240)\n\nWe generate tests from our documentation, including assertions about the\r\nresponses returned by a particular API. But sometimes we *can't* assert\r\nthat the response is correct because of some defficiency in our tooling.\r\nPreviously we marked the response `// NOTCONSOLE` to skip it, but this\r\nis kind of odd because `// NOTCONSOLE` is really to mark snippets that\r\nare json but aren't requests or responses. This introduces a new\r\nconstruct to skip response assertions:\r\n```\r\n// TESTRESPONSE[skip:reason we skipped this]\r\n```","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/dc2cf28fde6a7ec2576cf526eb8e1a238fad2f3e"},{"sha":"ef5007b6d89fad848e8c0a706fdfda78f954c459","author":{"name":"David Kyle","email":"dbae93ae58290c477ca495305491bd57429018d8@elastic.co"},"message":"[ML] Remove unused last_data_time member from Job (#34262)","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/ef5007b6d89fad848e8c0a706fdfda78f954c459"},{"sha":"ab8a5563f2d5f580e62fbd228c1de7c0d590662e","author":{"name":"Nik Everett","email":"cd30b83b3787c52251dabc7000a4f9dfbe1c5f24@gmail.com"},"message":"Logging: Drop remaining Settings log ctor (#34149)\n\nDrops the last logging constructor that takes `Settings` because it is\r\nno longer needed.\r\n\r\nWatcher goes through a lot of effort to pass `Settings` to `Logger`\r\nconstructors and dropping `Settings` from all of those calls allowed us\r\nto remove quite a bit of log-based ceremony from watcher.","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/ab8a5563f2d5f580e62fbd228c1de7c0d590662e"},{"sha":"3ccfc3de58f87249bd811432ec60f78dfd70d371","author":{"name":"Armin Braun","email":"b1c1d8736f20db3fb6c1c66bb1455ed43909f0d8@obrown.io"},"message":"SCRIPTING: Terms set query expression (#33856)\n\n* SCRIPTING: Add Expr. Compile for TermSetQuery Ctx.\r\n\r\n* Follow up to #33602 adding the ability to compile TermsSetQuery\r\nscripts with the expressions engine in the same way we support\r\nSearchScript in Expressions\r\n   * Duplicated the code here for now to make the change less complex,\r\n the only difference to SearchScript is that `_score` and `_value` are not handled for TermsSetQuery\r\n* remove redundant check","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/3ccfc3de58f87249bd811432ec60f78dfd70d371"},{"sha":"f1f0687b57812f0a3f997d0111145ad2b034246a","author":{"name":"iverase","email":"05ea832c8ceb03b739485e25a8166167e434e7ff@apache.org"},"message":"Fix error in documentation for activete watch","distinct":false,"url":"https://api.github.com/repos/jasontedor/elasticsearch/commits/f1f0687b57812f0a3f997d0111145ad2b034246a"}]}
{"actor":{"display_login":"jasontedor"}}