[KOGITO-3507] Mounting custom Truststore for KogitoServices

Signed-off-by: Ricardo Zanini<EMAIL_ADDRESS>See https://issues.redhat.com/browse/KOGITO-3507
Depends on https://github.com/kiegroup/kogito-images/pull/404
In this PR, we introduce the possibility of adding a custom JKS TrustStore to a deployed Kogito Service. It's a bit tricky to test this feature if you don't have certain requirements. You will need:

This image: (built based on https://github.com/kiegroup/kogito-images/pull/404)
A Kogito Service that can make HTTP calls. I recommend this one: https://github.com/kiegroup/kogito-examples/tree/master/serverless-workflow-temperature-conversion. You can deploy subtraction and multiplication behind a custom or self-signed certificate, then change the application.properties file to this secured endpoint (crc or minikube have self-signed certs).
Extract the self-signed certificate from your browser (or using openssl cli)
Modify cacerts or create a new Truststore using KeyStore Explorer
Follow the instructions in the examples/custom-truststore.yaml
Report here any bugs. :)

Many thanks for submitting your Pull Request :heart:!
Please make sure your PR meets the following requirements:

[x] You have read the contributors' guide
[x] Pull Request title is properly formatted: [KOGITO-XYZ] Subject
[x] Pull Request contains a link to the JIRA issue
[x] Pull Request contains a description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket
[x] Your feature/bug fix has a unit test that verifies it
[x] You've tested the new feature/bug fix in an actual OpenShift cluster
[x] You've added a RELEASE_NOTES.md entry regarding this change

/jenkins test

/jenkins test

/jenkins test

@ricardozanini  From what I understood in the images and the operator PR, these changes will allow our KogitoRuntime/ KogitoSupportingService to use and communicate to a TLS endpoint using the given custom Truststore, but reading the initial requirement on JIRA I am not sure how this will solve the problem when using self-signed maven mirror doing build with KogitoBuild. They will still fail or am I missing something?

@Kaitou786 The issue described in JIRA description was addressed in https://issues.redhat.com/browse/KOGITO-3553 , IMHO this PR address the issue from JIRA subject, in the description there is mentioned just an usage example.

@Kaitou786 The issue described in JIRA description was addressed in https://issues.redhat.com/browse/KOGITO-3553 , IMHO this PR address the issue from JIRA subject, in the description there is mentioned just an usage example.

I see but in KOGITO-3553 we are just ignoring those self signed certificates using maven options. Maybe do we want a follow-up JIRA import those self-signed certs for our maven as well for doing the SSL verification instead of just ignoring them?

I think it can be done, though having a low priority for now. Can you create a JIRA for it?

@Kaitou786 The issue described in JIRA description was addressed in https://issues.redhat.com/browse/KOGITO-3553 , IMHO this PR address the issue from JIRA subject, in the description there is mentioned just an usage example.

I see but in KOGITO-3553 we are just ignoring those self signed certificates using maven options. Maybe do we want a follow-up JIRA import those self-signed certs for our maven as well for doing the SSL verification instead of just ignoring them?

The self-signed certs must be added to the custom cacerts provided by the user. How do you think we can automatically import these certs? From where?

The self-signed certs must be added to the custom cacerts provided by the user. How do you think we can automatically import these certs? From where?

Yeah, they need to be provided by the user, but currently we are only using those certs in our kogitoService interface (Runtime/SupportingService) I was thinking maybe we can also use them in our KogitoBuild and in the images we add them in our Maven module so when doing a build from a repo using KogitoBuild we don't completely ignore the certs as done in KOGITO-3553 but instead use the truststore to validate them
Currently, we specify the truststore in JAVA options after the JAR for our service is built I was thinking to provide that same truststore in the Maven options and use it while building those JAR

The self-signed certs must be added to the custom cacerts provided by the user. How do you think we can automatically import these certs? From where?

Yeah, they need to be provided by the user, but currently we are only using those certs in our kogitoService interface (Runtime/SupportingService) I was thinking maybe we can also use them in our KogitoBuild and in the images we add them in our Maven module so when doing a build from a repo using KogitoBuild we don't completely ignore the certs as done in KOGITO-3553 but instead use the truststore to validate them
Currently, we specify the truststore in JAVA options after the JAR for our service is built but I was thinking to provide that same truststore in the Maven options and use it while building those JAR

Ok, so this is another use case. Where a user would fetch their libraries from a Maven Repo with self-signed/private root certificate? In this case, the builders must trust these certs as well. It's more or less the same approach, but not a priority whatsoever since building it's not supported nor recommended to use in production. But a totally valid use case. Please open the JIRA?

/jenkins test
We had an infra problem.

@ricardozanini As I understood from PR, we are importing complete trust store. Isn't better if we could create our trust store and just import certificate from user. So when user provide certificate we could just add them into our trust store which we create along our service.
We have following benefit with that approach :

With above approach user have to maintain seperate trust store by itself for each kogito service. For example in Travel agaency, travel service will import those certificate which requires by travel service to work with other external service and similiarly visa service will import different set of certs.
Currently creating and maintaining of trust store is user resposiblity. With new approach, it will be operator resposiblity. One less thing to manage for user.
We could take list of certificate in our CR, so that kogito service can connect with n number of external services.
If user want to add one more certificate then he could easily make patch request on CR.
Lifecycle of trust store will manage with our service.
No volume/volume mount.

WDYT?

With above approach user have to maintain seperate trust store by itself for each kogito service. For example in Travel agaency, travel service will import those certificate which requires by travel service to work with other external service and similiarly visa service will import different set of certs.

Not necessarily. You can have one secret per namespace with your certs and reuse it to all your services.

Currently creating and maintaining of trust store is user resposiblity. With new approach, it will be operator resposiblity. One less thing to manage for user.

Actually, this feature can be wider used by users/customers that are migrating from older architectures, reusing the same cacerts. And also facilitates for the new-comers. Yes, it's their responsibility for now, but later we will use the OCP bundle: https://issues.redhat.com/browse/KOGITO-4793
This way they won't have to even bother with anything. It will be handled in a future JIRA.

We could take list of certificate in our CR, so that kogito service can connect with n number of external services.

Absolutely. Users will choose what/how to import the Kubernetes TLS Secrets into the KogitoService. In KOGITO-4763 we will add an interface with a list of TLS Secrets that are not included in the OCP bundle.
In this scenario, even if they have an old cacert that they wish to use during the migration process, we will modify it during deployment time to include the bundle. So both use cases will converse with each other.

Not necessarily. You can have one secret per namespace with your certs and reuse it to all your services.

I think its important from security point of view as well. Any external service can't be trusted to assess all internal services in a eco-system.  Mostly there are always one dedicated microservice which is resposible to connect with any specific external service and all request in a eco system to access that external service goes to that dedicated microservice only.
If all the internal services are trusted to connect with all external services then it could be a big security threat.
Even with OCP bundle we should't say that every trusted service is allowed to access all internal service.

Not necessarily. You can have one secret per namespace with your certs and reuse it to all your services.

I think its important from security point of view as well. Any external service can't be trusted to assess all internal services in a eco-system. Mostly there are always one dedicated microservice which is resposible to connect with any specific external service and all request in a eco system to access that external service goes to that dedicated microservice only.
If all the internal services are trusted to connect with all external services then it could be a big security threat.
Even with OCP bundle we should't say that every trusted service is allowed to access all internal service.

Yes, you're right. But this is a user's concern. We have to give them the possibility to configure the outbound encryption connection.

@spolti can you take a look?
@vaibhavjainwiz I believe your concerns were addressed, and we have a follow up JIRA to handle bundles and k8s CRTs in the future.


webapp: Uploading Python app to Azure

This is autogenerated. Please review and update as needed.
Describe the bug
Command Name
az webapp up
Errors:
'NoneType' object has no attribute 'resource_group'
Traceback (most recent call last):
Temp\pip-install-umfcm_n2\knack\knack\cli.py, ln 206, in invoke
azure\cli\core\commands\__init__.py, ln 603, in execute
azure\cli\core\commands\__init__.py, ln 661, in _run_jobs_serially
azure\cli\core\commands\__init__.py, ln 652, in _run_job
azure\cli\command_modules\appservice\commands.py, ln 55, in _polish_bad_errors
azure\cli\core\commands\__init__.py, ln 631, in _run_job
azure\cli\core\commands\__init__.py, ln 306, in __call__
azure-cli-core\azure\cli\core\__init__.py, ln 485, in default_command_handler
azure\cli\command_modules\appservice\custom.py, ln 2929, in webapp_up
AttributeError: 'NoneType' object has no attribute 'resource_group'

To Reproduce:
Steps to reproduce the behavior. Note that argument values have been redacted, as they may contain sensitive information.

Put any pre-requisite steps here...
az webapp up --sku {} -n {} -l {}

Expected Behavior
Environment Summary
Windows-10-10.0.17763-SP0
Python 3.6.6
Shell: cmd.exe

azure-cli 2.0.76

Additional Context

Duplicate of #11100

Please downgrade to version pip install azure-cli==2.0.75

Please update to the latest version of CLI https://pypi.org/project/azure-cli/ version 2.0.77 and re-try. there was a known regression with version 2.0.76


Cleaning up global parameters & config parameters

Starting to deprecate global parameters and merging them with configuration options.

I like the idea!

It's an outcome of the long discussion in the luigi-user email thread. I'm working on a series of commits that will (a) remove global parameters (b) merge configuration and parameters.
These first few commits are the easy ones. There's some bigger ones coming. We can merge it as it is though.

Yea, I'm totally fine with merging this. LGTM.
By the way, note that when I said

Would be nice to hear why you did this.

I commented on 6447179 in particular, not on this PR (#609).

Will continue with the bigger stuff in a separate PR


Prefer type composition and reusing over common types

I decided to change type distribution across components. All components should export own types and reexport types of extended component as own. This can reduce common types mess.

Hey 😄 Just wondering if you planned to finish up the Flow types. Been a while since the last PR.

Hey. Yeah. I was busy a few weeks. Hope to continue these days.

Great! Glad to hear it 😄 Was hoping to hold off for the next release until the Flow types were in place.


[BUG] Black bar on the right

Describe the bug
Black bar on the right
To Reproduce
Scan one barcode
Screenshots
https://i.imgur.com/fyEbSLL.png
Smartphone (please complete the following information):
https://i.imgur.com/mErv4cU.png

Hi @vyakhirev
I haven't been able to replicate this issue. Have you tried running the sample app and seeing if that has the same issue?
This could be a device specific bug which would need to be raised with Android Camera2.


Dangerous gestures

A careless swipe on the image to the left or right, permanently deletes the wallpaper with no warning or ability to undo or recover.
I don't even know which images of many were deleted out of my large collection.
Please fix before other unsuspecting users permanently lose data.
Many thanks.

Added a popup for swipe delete confirmation (https://github.com/Hamza417/Peristyle/issues/3)
Added option to completely disable the swipe to delete (https://github.com/Hamza417/Peristyle/issues/3)

These two features should help now :)


Updated build_doc.sh to build on the new release tag found

Description

Checked out the new release tag if found and do makes docs on it.
Rest of the logic stays same.
Added readable comments in many places so reader can follow the logic in the code.

Testing:
Currently building on ubuntu. I can see the extracted tag and building it when found, but the build itself is taking too long and freezing. Retrying build again. "make docs" is taking up a lot of memory and taking too long to run.

I checked out your fork and ran the script using:
sudo docs/build_version_doc/build_doc.sh https://github.com/apache/incubator-mxnet-site asf-site
It created VersionedWeb folder with 1.0.0 as the default and 1.1.0 was not present.
Please provide details on how to run the script to get it to produce all of the tags.

To run locally, I had to tweak the script to set
curr_tag=1.1.0 inside the script. The {TAG} value is coming from Jenkins when the Job is run and it picks the curr_tag:5 as well. I am not very clear from Jenkins job configuration, but these two lines in the script picks the latest tag:
curr_tag=${TAG}
curr_tag=${curr_tag:5}
But for manual testing I override this value
curr_tag=${TAG}
curr_tag=${curr_tag:5}
curr_tag=1.1.0 (... for example to force build 1.1.0 and test the logic)


JEK Disrespects keybindings forcing default keybinds

While JEK is installed all custom keybinds stop functioning, they say they are bound to a particular key, but the only binds that work are the defaults.
e.g Drop is bound to 'x' defaults back to 'q'

Which version of the mod?
Minecraft 1.16 or 1.17?
Which operating system?
Forge or Fabric?
In case of Fabric, Which version of fabric and fabric api are you using?
In case of Forge, which version of forge?
What other mods are you using?
Can I pleas have your latest log file?

JEK 0.2.1
MC 1.17.1
Win 10 19043
Fabric Loader 0.11.6
Fabric API 0.37.0
Latest log - https://paste.ee/p/3mHlA
Mods:
[✔] advancements-enlarger-0.2.4
[✔] appleskin-fabric-mc1.17-2.1.2
[✔] ArmorSoundTweak-3.0.0-fabric
[✔] auto_third_person-1.17-1.1.0
[✔] auto-clicker-fabric-1.17-1.1.1-build.7
[✔] betterbeds-1.2.0
[✔] betterbiomeblend-1.17.0-1.2.0-fabric
[✔] BetterCommandBlock-2.0.0
[✔] BetterGameMenu-1.17.1-Fabric-1.1
[✔] Blur-2.2.1-1.17+fabric
[✔] builtin-servers-1.0.1-BETA+1.17
[✔] centeredinventory-1.0.3
[✔] chat_heads-0.3.1+1.17.1
[✔] chat-up-2.0.0
[✔] CleanView-1.17.1-v1-fabric
[✔] clear-skies-mc117-1.5.70
[✔] cloth-config-5.0.38-fabric
[✔] Clumps-fabric-1.17-<IP_ADDRESS>
[✔] cmdkeybind-1.5.2-1.17
[✔] cullleaves-2.2.0
[✔] customfov-fabric-1.4.1-1.17
[✔] customsplashscreen-1.1.0
[✔] damage-tint-fabric-1.17.1-1.1.0
[✔] darkness-mc117-1.6.74
[✔] DetailArmorBar-1.2.3+1.17.1
[✔] DripSounds-1.17-0.2.2
[✔] dynamic-music-1.3.1
[✔] fabric-api-0.37.0+1.17
[✔] fabric-language-kotlin-1.6.3+kotlin.1.5.21
[✔] fallingleaves-1.7.2+1.17
[✔] FirstPersonMod-2.0.2
[✔] interactic-0.1.1-1.17
[✔] inventory-control-tweaks-1.3.8+MC1.17-1.17.1
[✔] iris-mc1.17-1.1.1
[✔] lambdabettergrass-1.2.0+1.17
[✔] lithium-fabric-mc1.17.1-0.7.3
[✔] malilib-fabric-1.17.1-0.10.0-dev.24
[✔] maptooltip-fabric-1.17-1.3.0
[✔] modmenu-2.0.4
[✔] music-duration-reducer-1.2.1
[✔] namepain-1.4.0+fabric-1.17.x
[✔] NoAngleBrackets-1.17-1.1.0
[✔] NoFog-1.17.1b1-Fabric
[✔] no-potion-offset-1.0.2
[✔] nospyglass-1.0
[✔] notenoughanimations-1.3.0
[✔] particle-rain-1.4
[✔] physics-mod-2.4.7-mc-1.17.1
[✔] quickspyglasser-0.2.1
[✔] recipecache-0.2.0-1.17.1
[✔] replanter-fabric-1.17.1-1.3
[✔] seamless-loading-screen-1.3.6+1.17.1
[✔] shulkerboxtooltip-3.0.0+1.17
[✔] smoothboot-fabric-1.16.5-1.6.0
[✔] SmoothCoasters-1.17.1-v1
[✔] spyglass-zoom-1.0.1
[✔] ToolStats-fabric-1.17.1-2.0.1
[✔] tooltipfix-1.0.3-1.17
[✔] TRansliterationLib-1.1.0
[✔] voicechat-fabric-1.17.1-1.1.6
[✔] Void-Fog-2.5.1-1.17-rc1
[✔] window_title_changer-2.1.1-1.17
[✔] worldtime-1.17.1-fabric0.36.1-1.3.1

I am unable to reproduce the issue, from the log file, the mod does not seem to be loaded at all.
Also, you may have duplicate fabric api?

Try to reproduce the issue without any other mods in a new instance.

Okay here is the proper log https://paste.ee/p/H7Cg3

Still unable to reproduce.. Do you still have the issue without any other mods installed?
If not then it is an incompatibility with one of the mods you are using.
If you can export your modpack, please send a zip.. I may be able to find which mod is causing it by process of elimination.

Here ya go - https://1drv.ms/u/s!AiLJZeY90KpQ6irEZICS5YPhHjQm?e=v6qFuv
There's a 'test' server there available as well.
( If you like, stick around and build something ☺ )

Seems to be working fine in this modpack... assigning x to drop worked.

Never mind, I found the bug finally.

Can you please send the options.justenoughkeys.txt file from the .minecraft folder?
Since you made changes if like to see how it has responded
On 11 Aug 2021, 02:17 +1200, starmun @.***>, wrote:

Seems to be working fine in this modpack... assigning x to drop worked.

—You are receiving this because you authored the thread.Reply to this email directly, view it on GitHub, or unsubscribe.

Never mind, I found the bug finally. It resets after relaunching the client.

Uhuh, I'm glad I'm not crazy! Thank you.

Fixed in latest release


⚠ Avatar API Endpoint has degraded performance

In b13d445, Avatar API Endpoint (https://avatar.roblox.com/v1/avatar-rules) experienced degraded performance:

HTTP code: 200
Response time: 4588 ms

Resolved: Avatar API Endpoint performance has improved in 31d0840 after 25 minutes.


Dark mode switch light mode style failure

Description

Steps to Reproduce
When switching theme.mode through window.apex using vue etc., it will not take effect immediately, if you use the refresh component to switch from dark to light mode, the style will be invalid when switching from light to dark mode.
Expected Behavior
Dynamically update window.apex to switch between light and dark mode, or switch from dark to light and change color normally
Actual Behavior
Dark color switch to light color style failure
Screenshots

Reproduction Link

window.Apex.tooltip.theme toggle normal
window.Apex.theme.mode toggle disabled

You did not provide the required reproduction app.


canonicalize ' ?

I realize ' was not a valid HTML entity code as of HTML4, but it was added in HTML5.
Once in awhile I do come across strings containing ' that I need to canonicalize to the single quote character before performing another encoding type on the string.

I am all for adding support for ' - scheduling this for the next release


Files inside zip archives being reported as directories when using fs.WalkDir()

What version of the package or command are you using?
(copied from go.sum)
github.com/mholt/archiver/v4 v4.0.0-alpha.9 h1:EZgAsW6DsuawxDgTtIdjCUBa2TQ6AOe9pnCidofSRtE=
github.com/mholt/archiver/v4 v4.0.0-alpha.9/go.mod h1:5D3uct315OMkMRXKwEuMB+wQi/2m5NQngKDmApqwVlo=
What are you trying to do?
List files inside a zip file using archiver.FileSystem() and determine if they are directories or not
What steps did you take?
package main

import (
	"archive/zip"
	"context"
	"fmt"
	"io"
	"io/fs"
	"os"

	"github.com/mholt/archiver/v4"
)

func main() {
	// Create a test zip file
	zipArchive, _ := os.Create("demo.zip")
	zipWriter := zip.NewWriter(zipArchive)

	// Add a few files to it
	var f io.Writer
	f, _ = zipWriter.Create("001.txt")
	f.Write([]byte("test"))

	f, _ = zipWriter.Create("002.txt")
	f.Write([]byte("test"))

	f, _ = zipWriter.Create("003.txt")
	f.Write([]byte("test"))

	zipWriter.Close()
	zipArchive.Close()

	// List each entry and check if it is a dir or not
	fsys, _ := archiver.FileSystem(context.TODO(), "demo.zip", nil)
	fs.WalkDir(fsys, ".", func(path string, d fs.DirEntry, err error) error {
		fmt.Println(path, d.IsDir())
		return nil
	})
}

What did you expect to happen, and what actually happened instead?
What I expected (this is the output from v4.0.0-alpha.8):
. true
001.txt false
002.txt false
003.txt false

What I got from the same code running on v4.0.0-alpha.9:
. true
001.txt true
002.txt true
003.txt true

Bonus: What do you use archiver for, and do you find it useful?
I'm using it for a self-hosted online manga reader that dynamically loads .cbz and .cbr files (.zip and .rar with a different extension) and unzipped folders.
This package fits my needs like a glove. Before I found out about this package, I had to write 3 different functions to parse zip, rar and folders into a common interface.

Huh, thanks -- I think I found the problem, will push a fix as soon as I can.

@blamoo I think I fixed it, if you want to verify -- your sample program works as expected for me now, as well as with some sample archives I tested.


Auto capitalization problem for keyboard type 'default'/alphanumeric values

For the OTP which contains small letters in it for e.g. a1b2c3 or abcde ,
According to the default behavior autoCapitalize:'sentences' (i.e first letter of each sentence in caps), the keyboard caps lock gets on for each TextInput of the 'react-native-otp-inputs' which is a bit annoying for users if they have an alphanumeric OTP.
Can there be an option to set auto capitalization "none" (or other) by an open prop similar to  'keyboardType'?

Sure, I will implement this today or tomorrow. You can also send a PR if you need something specific :)

Check 1.0.0 v


Silence PluggyTeardownErrors in test_delayed due to using dask-memusage

The memusage monitoring works but is polluting the test outputs right now, and seems to trigger random errors in subsequent tests if not properly ordered. Might need to force that test to happen last as a temporary fix... :cry:

For example: https://github.com/GlacioHack/geoutils/actions/runs/9196822431/job/25295815616


Demo audio item

Changed for #1531

Current coverage is 66.65%

Merging #1540 into develop will not affect coverage as of 5e62126

@@            develop   #1540   diff @@
=======================================
  Files            63      63
  Stmts          2309    2309
  Branches          0       0
  Methods
=======================================
  Hit            1539    1539
  Partial           0       0
  Missed          770     770

Review entire Coverage Diff as of 5e62126

Powered by Codecov. Updated on successful CI builds.

:tada:


Allow user to set amount of chimes in live announcements

for the live announcements, it would be nice if there was a dropdown to select the amount of chimes (for each announcer/all in general?), e.g. I personally prefer 3 chimes rather than 4, but when I select Phil, I hear 4 chimes with no way to change it.

because in real life on the system this is based off of, 3 chimes were played for celia announcements and 4 for phil

but I have seen both Celia and Phil play without any chimes sometimes.

because thats on a different system


Add handling to Observable.from for Async Iterators

Observable.from(asyncIterator) should "just work™" ...
According to @zenparsing in this issue, there should be a Symbol.asyncIterator that can be checked for.

Which will be nice because IxJS implements this so it's a nice compliment

I should land this soon.

Any progress on this?

This is in the experimental branch now. It'll land in v7.


nixos/ups: shutdown UPS at host shutdown

Description of changes
Implement the missing bit of the NUT shutdown design[1]. This ensures
that machines come back up automatically after a power outage. (Without
this change they will only come back up if the UPS completely empties
its battery.)
[1] https://networkupstools.org/docs/user-manual.chunked/Configuration_notes.html#Shutdown_design
Commit list:

nixos/ups: sort settings attributes
nixos/ups: document default upsmon MONITOR value
nixos/ups: shutdown UPS at host shutdown

Tested out-of-tree in NixOS 24.05. (This PR cannot be cherry-picked to
release-24.05 / has conflicts.)

Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

For non-Linux: Is sandboxing enabled in nix.conf? (See Nix manual)

[ ] sandbox = relaxed
[ ] sandbox = true

[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
24.11 Release Notes (or backporting 23.11 and 24.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[x] Fits CONTRIBUTING.md.

Add a :+1: reaction to pull requests you find important.

Are there any risks to introducing this as a default for existing users? Should we put the POWERDOWNFLAG default behind a stateVersion check?

I guess a risk could be if the UPS firmware is broken and turns power off immediately, instead of waiting a few seconds? But the system should have unmounted all the normal filesystems by then, so I don't think it should cause any damage.
But maybe I should write a release note entry and mention the POWERDOWNFLAG = null as a way to keep the old functionality?

The latest push has these changes:

Support nullable POWERDOWNFLAG.
Add ups-killpower.service to the new system-ups.slice, like the other ups/nut services.

Forgot the release notes entry. Added now.

Last two pushes:

Fix typo/grammar in release notes entry.
Use lib.mkDefault on POWERDOWNFLAG default value, so that users don't need to use lib.mkForce to disable it.

Friendly ping. (Rebased to resolve release notes conflict.)

Have you tested this?

I've tested it on NixOS 24.05 (as I wrote in the PR message), which I think should be good enough?

(as I wrote in the PR message)

Whoops. :smile: LGTM!


Added attributes without values.

Quick and dirty, just adds the ability to add attributes without values (this is already supported in yours, but requires an = after the attribute, e.g. <!-- {data-foo=} -->).
Mine allows an attribute without the = following the attribute (e.g. <!-- {data-foo} -->). Both convert to e.g. <p data-foo="">. I'd like to see them convert to e.g. <p data-foo>, but didn't find where you're adding the ="" in concatenation yet. Your current setup requires attributes to have values, e.g. m[2] - mine is simply a blank string ('') for now.

can you update the tests too? looks like you're halfway there :)

Sorry about that. First PR on GitHub.

Merged with v1.2.0.


Allow function developers to access Kubernetes Secrets

Function developers should be able to specify secrets that needs to be mounted or added as ENV variable to the deployed function.
They can do that via editing func.yaml file or via func secret command, which should interactively suggest secrets available in the namespace on the cluster and then allow users to attach them to the function.
func.yaml example:

name: my-func
namespace: "test"
runtime: node
...
volumes:
   - secret: example-secret                              # mount secret as a Volume
     path: /etc/secret-volume
   - secret: example-secret2
     path: /etc/secret-volume2
   - configMap: example-cm                               # possibility to mount a ConfigMap
     path: /etc/cm-volume
envs:
   - name: EXAMPLE1                                      # ENV directly from a value
     value: value1
   - name: EXAMPLE2                                      # ENV from the local ENV var
     value: {{ env.MY_ENV }}
   - name: EXAMPLE3                                      # ENV from a key in secret
     value: {{ secret.example-secret.key1 }}
   - value: {{ secret.example-secret1 }}                 # all ENVs from secret

Thank you for the details @zroubalik. Two questions:

Can you provide an example with namespaces?
It looks like Example 3 above is incorrect (multiple value fields, incl. inconsistent use of array/non-array semantics)?

Thank you for the details @zroubalik. Two questions:
1. Can you provide an example with namespaces?

Do you mean referencing a Secret from a different namespace? That's not possible currently and honestly I don't think this is a good practice wrt security.

2. It looks like Example 3 above is incorrect (multiple value fields, incl. inconsistent use of array/non-array semantics)?

No it is correct, but those are 2 separate examples:
This sets key1 from the secret as a env value EXAMPLE3:
envs:
   - name: EXAMPLE3
     value: {{ secret.example-secret.key1 }}

This sets all key=value pairs from the secret as env variables:
envs:
   - value: {{ secret.example-secret1 }}

Do you mean referencing a Secret from a different namespace? That's not possible currently and honestly I don't think this is a good practice wrt security.

Ah sorry for the confusion here as I read the initial comment that this should be possible. I just reread and noticed my wrong assumption. I also agree that secrets should be assumed to live in the same namespace. All good then.

No it is correct, but those are 2 separate examples:

Gotcha! Got tripped off by the missing name property, which of course is not missing in the examples. 👍

@zroubalik this can be closed now that #396 has landed, correct?


Remove RenderEditable dependency from TextSelectionHandleOverlay

This is the first part of the refactoring pr. The ultimate goal is refactor renderEditable out of TextSelectionOverlay so that it can be reused in https://github.com/flutter/flutter/pull/95226
This PR remove rendereditable dependency from the TextSelectionHandleOverlay
Pre-launch Checklist

[ ] I read the Contributor Guide and followed the process outlined there for submitting PRs.
[ ] I read the Tree Hygiene wiki page, which explains my responsibilities.
[ ] I read and followed the Flutter Style Guide, including Features we expect every widget to implement.
[ ] I signed the CLA.
[ ] I listed at least one issue that this PR fixes in the description above.
[ ] I updated/added relevant documentation (doc comments with ///).
[ ] I added new tests to check the change I am making, or this PR is test-exempt.
[ ] All existing and new tests are passing.

If you need help, consider asking for advice on the #hackers-new channel on Discord.

test-exempt: code refactor with no semantic change


Minor formatting changes.

Small punctuation changes.

I'm wondering if I should have made some of those full-stops, colons, as you did in the first example? This applies to the other pull-request, too.
Not sure :-( Both seem valid, but I didn't notice that you had already started with the colon in the first one.
Are you able to selectively merge? Leave out the full stops for the parts where it refers to examples, but keep any other changes? I can go back and use colons consistently later.

I found a way to fix my broken fixes! Now uses colons so should be fine to merge in once you check it over. Sorry for the multi-commits!

Hi s-moon I'm merging when I get some time, just cheking a bit before merge but nothing wrong with the edits, Thanks !!
You can also create a unifified Pull Request for changes in various files if you want, if not, is fine too
Thanks for your contributions !!

That would be easier for you (one pull) but that facility on your website to edit pages is brilliant (and simple for me) though seems to do only one page at a time. Is that right? Can I edit multiple and just do one pull request?

You are right, you can only edit one file that way, and is the best one, so is all fine with multiple PRs :+1:
Thanks for your help


fix: Fixed bug when custom_error_response is empty

Fixes #90

This PR is included in version 3.0.3 :tada:

I am finding that this version is causing an issue:
│ Error: Invalid index
│
│   on .terraform/modules/maintenance.cdn/main.tf line 252, in resource "aws_cloudfront_distribution" "this":
│  252:       error_code = custom_error_response.value["error_code"]
│     ├────────────────
│     │ custom_error_response.value is object with 2 attributes
│
│ The given key does not identify an element in this collection value.


Can we take over?

Hi @slicen,
I work at Linode/Akamai. My team recently forked your repo but we were wondering if you would be willing to transfer ownership of it over to us? We appreciate the work you have done over the past several years and were hoping to continue the effort.
Thanks!

Thank you! Please let us know when we have a working docker image (we should trust).

We rolled a 0.3.0 which should get you past the incompatibility issues with the recent Kube versions.


Fix: legacy backend state reading and GC

For now if restart controller with --controller-namespace. The configuration state will become GeneratingTerraformOutputs and stuck. This is because controller can't got the legacy backend.
Fix that Configuration.Spec.Backend will be overwritten if set --controller-namespace. Instead, now controller
only overwrite Configuration.Spec.Backend  when no backend specified.
Signed-off-by: Qiaozp<EMAIL_ADDRESS>

Shoule we add some e2e tests for the "restart controller with --controller-namespace" cases?

If a user applies a Configuration without spec.Backend, then the terraform apply job will use the default kubernetes backend whose secret is {Namespace: ${env.TERRAFORM_BACKEND_NAMESPACE} || ${configuration.Namespace}, Name: tfstate-default-${confguration.Name}}.
Then, the user restarts the controller with --controller-namespace. In this case, the terraform apply job will use the default kubernetes backend whose secret is {Namespace: ${env.TERRAFORM_BACKEND_NAMESPACE} || ${configuration.Namespace}, Name: tfstate-default-${confguration.UID}}.
The two backend secrets are in the same namespace but have different names. Will this cause an error?

There are duplications.  But it's OK.

New secret won't be used. It is created for simplicity (No need for extra logic).
They will be both deleted when calling  backend.Cleanup.


snap (0,0)-(100,100) to snap.png  can't get snap.tag - install OpenJDK and reinstall TagUI

Hi @limengtaylor can you share the tagui log in tagui\src\tagui.sikuli? It should look something like this:

the log is null

Hi @limengtaylor can you share the tagui log in tagui\src\tagui.sikuli? It should look something like this:

the log is null,i don't know the reason;

I helped my colleague before on this issue, his reason is didn't install java
https://tagui.readthedocs.io/en/latest/setup.html
Install OpenJDK for Windows

Hi @limengtaylor can you share the tagui log in tagui\src\tagui.sikuli? It should look something like this:

after install OpenJDK，

I helped my colleague before on this issue, his reason is didn't install java https://tagui.readthedocs.io/en/latest/setup.html Install OpenJDK for Windows

thanks

Hi @limengtaylor for the unable to access jarfile error, can you try reinstalling TagUI by copying over a fresh copy of the installation src files from here.

Hi @limengtaylor for the unable to access jarfile error, can you try reinstalling TagUI by copying over a fresh copy of the installation src files from here.

Thank you! now, snap ()-() to snap.png can get snap.png

Closing but please ping back if this is still relevant or an issue.


Random access term dictionary

Description
Related issue https://github.com/apache/lucene/issues/12513
Opening this PR early to avoid massive diffs in one-shot

[x]  Encode (term type, local ord) in FST

TODO:

[ ] Implement bit-packing and unpacking for each term type
[ ] Implement the PostingsFormat

I'll also try to review!
On the bit packing subject, I have some handy generic code (not in Lucene yet) to write and read variable size bits. Tell me if you are interested.

Thanks @bruno-roustant ! If you're okay to share it feel free to share it here.
I'm in the process of baking my own specific implementation (which internally uses a single long as bit buffer), but I might absorb some interesting ideas from your impl.

This is some code I wrote a long time ago. It has been tested and used, so
I'm confident on the functional aspect, and it might benefit from a
benchmark for perf.
Le ven. 20 oct. 2023 à 19:20, Tony-X @.***> a écrit :

Thanks @bruno-roustant https://github.com/bruno-roustant ! If you're
okay to share it feel free to share it here.
I'm in the process of baking my own specific implementation (which
internally uses a single long as bit buffer), but I might absorb some
interesting ideas from your impl.
—
Reply to this email directly, view it on GitHub
https://github.com/apache/lucene/pull/12688#issuecomment-1773113866, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AIC45DG57A67JAS2CWX4SDLYAKXF5AVCNFSM6AAAAAA6C3VWVGVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTONZTGEYTGOBWGY
.
You are receiving this because you were mentioned.Message ID:
@.***>

It seems like you have the low level encode/decode working? So all that remains is to hook that up with the Codec components that read/write the terms dict ... then you can test the Codec by passing -Dtests.codec= and Lucene will run all tests cases using your Codec.

Thanks for the tips! Yes, almost there. I'm working on the real compact bitpacker and unpacker. I still need to implement the PostingFormat afterwards. Do you think I need to implement a new Codec?

Just realized that we have lucene99 Codec out! I'll update the code to reflect that as this posting format aims to work with the latest Codec.

After some tweaking and tinkering I was finally able to get the bench running the way I wanted in luceneutil! @mikemccand
Unfortunately luceneutil out of the box doesn't work for my case...
                            TaskQPS baseline      StdDevQPS my_modified_version      StdDev                Pct diff p-value                                    [19/1802]
                        Wildcard       56.20      (2.0%)        7.30      (0.2%)  -87.0% ( -87% -  -86%) 0.000
                         Respell       44.00      (1.7%)       14.46      (0.6%)  -67.1% ( -68% -  -65%) 0.000
                          Fuzzy1       54.11      (1.2%)       20.86      (0.8%)  -61.4% ( -62% -  -60%) 0.000
                         Prefix3      103.61      (0.8%)       41.37      (0.5%)  -60.1% ( -60% -  -59%) 0.000
                          Fuzzy2       42.43      (1.2%)       20.26      (0.9%)  -52.3% ( -53% -  -50%) 0.000
               HighTermTitleSort      127.60      (1.7%)      114.65      (1.6%)  -10.1% ( -13% -   -6%) 0.000
               HighTermMonthSort     2549.22      (2.8%)     2435.74      (3.8%)   -4.5% ( -10% -    2%) 0.037
                      AndHighLow      708.99      (2.3%)      678.15      (2.1%)   -4.4% (  -8% -    0%) 0.001
                         LowTerm      369.16      (5.5%)      358.15      (3.1%)   -3.0% ( -10% -    5%) 0.287
                    OrNotHighLow      258.51      (1.8%)      252.11      (2.2%)   -2.5% (  -6% -    1%) 0.054
                       OrHighLow      348.58      (1.1%)      340.11      (2.5%)   -2.4% (  -5% -    1%) 0.046
                   OrNotHighHigh      141.31      (6.7%)      138.54      (3.2%)   -2.0% ( -11% -    8%) 0.554
                          IntNRQ       17.93      (1.8%)       17.62      (3.7%)   -1.7% (  -7% -    3%) 0.349
                 MedSloppyPhrase       26.73      (0.8%)       26.28      (1.3%)   -1.7% (  -3% -    0%) 0.017
            HighIntervalsOrdered        3.88      (2.6%)        3.82      (2.3%)   -1.6% (  -6% -    3%) 0.314
                        HighTerm      290.77      (7.3%)      286.20      (6.9%)   -1.6% ( -14% -   13%) 0.727
                   OrHighNotHigh      296.51      (6.9%)      291.90      (4.9%)   -1.6% ( -12% -   11%) 0.682
             LowIntervalsOrdered       15.48      (1.1%)       15.26      (1.3%)   -1.4% (  -3% -    0%) 0.057
                         MedTerm      405.54      (6.3%)      399.77      (5.9%)   -1.4% ( -12% -   11%) 0.713
                 LowSloppyPhrase       44.64      (0.5%)       44.04      (2.1%)   -1.3% (  -3% -    1%) 0.171
           HighTermDayOfYearSort      177.36      (1.6%)      175.08      (1.8%)   -1.3% (  -4% -    2%) 0.234
                       OrHighMed       79.44      (3.7%)       78.48      (3.0%)   -1.2% (  -7% -    5%) 0.572
                    OrNotHighMed      268.82      (4.3%)      265.74      (3.1%)   -1.1% (  -8% -    6%) 0.632
           BrowseMonthTaxoFacets        3.89      (0.4%)        3.85      (1.2%)   -0.9% (  -2% -    0%) 0.134
         AndHighMedDayTaxoFacets       44.33      (0.7%)       43.96      (1.1%)   -0.8% (  -2% -    0%) 0.145
                     MedSpanNear       30.67      (1.1%)       30.42      (2.3%)   -0.8% (  -4% -    2%) 0.481
                     LowSpanNear        4.56      (0.8%)        4.53      (2.1%)   -0.6% (  -3% -    2%) 0.576
                    HighSpanNear        8.52      (1.4%)        8.47      (2.1%)   -0.5% (  -3% -    2%) 0.636
                    OrHighNotLow      236.32      (6.6%)      235.28      (4.4%)   -0.4% ( -10% -   11%) 0.901
        AndHighHighDayTaxoFacets        4.31      (0.6%)        4.29      (0.8%)   -0.4% (  -1% -    1%) 0.446
                       LowPhrase       69.90      (1.2%)       69.67      (2.7%)   -0.3% (  -4% -    3%) 0.807
                      AndHighMed       41.87      (0.6%)       41.75      (2.7%)   -0.3% (  -3% -    3%) 0.828
                      OrHighHigh       45.86      (7.4%)       45.77      (7.9%)   -0.2% ( -14% -   16%) 0.969
                      TermDTSort      101.90      (2.3%)      101.84      (2.0%)   -0.1% (  -4% -    4%) 0.966
                HighSloppyPhrase        0.48      (2.2%)        0.48      (2.6%)   -0.0% (  -4% -    4%) 0.995
            BrowseDateSSDVFacets        1.00      (3.7%)        1.00      (5.3%)   -0.0% (  -8% -    9%) 1.000
            HighTermTitleBDVSort        4.48      (5.4%)        4.49      (4.4%)    0.0% (  -9% -   10%) 0.990
       BrowseDayOfYearSSDVFacets        3.51     (13.4%)        3.52     (13.3%)    0.1% ( -23% -   30%) 0.990
           BrowseMonthSSDVFacets        3.38      (0.7%)        3.39      (0.6%)    0.1% (  -1% -    1%) 0.740
       BrowseDayOfYearTaxoFacets        3.85      (0.3%)        3.85      (0.5%)    0.2% (   0% -    0%) 0.469
             MedIntervalsOrdered        1.65      (1.5%)        1.65      (1.5%)    0.2% (  -2% -    3%) 0.802
            BrowseDateTaxoFacets        3.82      (0.3%)        3.83      (0.4%)    0.3% (   0% -    0%) 0.264
     BrowseRandomLabelSSDVFacets        2.34      (1.0%)        2.35      (0.5%)    0.3% (  -1% -    1%) 0.494
                    OrHighNotMed      296.34      (7.6%)      297.38      (4.6%)    0.4% ( -11% -   13%) 0.930
     BrowseRandomLabelTaxoFacets        3.29      (0.6%)        3.31      (0.7%)    0.5% (   0% -    1%) 0.275
                       MedPhrase        9.84      (2.1%)        9.90      (4.1%)    0.6% (  -5% -    6%) 0.787
                     AndHighHigh       33.50      (1.2%)       33.73      (3.4%)    0.7% (  -3% -    5%) 0.669
                      HighPhrase       15.15      (2.3%)       15.28      (4.1%)    0.9% (  -5% -    7%) 0.679
            MedTermDayTaxoFacets       13.36      (1.8%)       13.55      (2.0%)    1.4% (  -2% -    5%) 0.240
          OrHighMedDayTaxoFacets        3.73      (1.4%)        3.83      (2.2%)    2.6% (   0% -    6%) 0.026
                        PKLookup      147.84      (1.6%)      157.37      (1.5%)    6.4% (   3% -    9%) 0.000

Observations:
PKLookup has improvement
This is reasonable as the terms index (FST) holds all the terms.
Fuzzy/Wildcard/Prefix queries got much slower
This is also expected because currently I used the default implementation provided by TermsEnum which does not take advantage of the FST. With an optimized implementation I expect it to at least be on-par and slightly better because the FST holds information about all terms, whereas the current BlockTreeTerms only holds prefixes.
HighTermTitleSort and HighTermMonthSort got about 4.5% ~ 10% less throughput
I don't quite understand why term lookup could
AndHighLow got slower
Am i missing some optimization opportunity for low freq terms?

This is reasonable as the terms index (FST) holds all the terms.

+1, nice!

Fuzzy/Wildcard/Prefix queries got much slower
This is also expected because currently I used the default implementation provided by TermsEnum which does not take advantage of the FST. With an optimized implementation I expect it to at least be on-par and slightly better because the FST holds information about all terms, whereas the current BlockTreeTerms only holds prefixes.

OK this makes sense, and it is a (sad) measure of how slow the emulated (on top of seekCeil) .intersect TermsEnum is.  Once you have an optimized version it should likely be faster than block tree since it can intersect all suffixes instead of scanning byte[] suffixes in the term block and re-testing each.

HighTermTitleSort and HighTermMonthSort got about 4.5% ~ 10% less throughput
I don't quite understand why term lookup could affect sorting on a DV field

This is odd.  Though, the HighTermMonthSort QPS is so crazy high as to not really be trustworthy -- likely BMW is kicking in and saving tons of work.

AndHighLow got slower
Am i missing some optimization opportunity for low freq terms?

Hmm maybe pulsing?  Are we still inlining single-occurrence terms directly into the terms dict with your new terms dict?

Since the first working version, I iterated with a list of profiling-guided allocation optimizations, as they stood out quite obviously from the merged JFR reports (thanks to luceneutil !).
Some of them comes from my code that implements the term dictionary data lookup, and a few of them are at more general Lucene level. I want to highlight the general issue I see from this work and maybe we can have separate issues to improve them!
Here is the first heap profile comparison (search-only, no indexing).
Candidate Heap
17.50%        24440M        java.lang.Long#valueOf()
10.09%        14096M        jdk.internal.misc.Unsafe#allocateUninitializedArray()
6.87%         9594M         org.apache.lucene.facet.taxonomy.IntTaxonomyFacets#initializeValueCounters()
4.40%         6140M         org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts#countOneSegmentNHLD()
...

main
13.65%        11898M        org.apache.lucene.facet.taxonomy.IntTaxonomyFacets#initializeValueCounters()
9.26%         8071M         org.apache.lucene.util.FixedBitSet#<init>()
6.70%         5836M         org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts#countOneSegmentNHLD()
6.60%         5751M         org.apache.lucene.util.ArrayUtil#growExact()
5.21%         4541M         org.apache.lucene.facet.FacetsConfig#stringToPath()
4.69%         4090M         org.apache.lucene.util.DocIdSetBuilder$Buffer#<init>()

FST doesn't play nicely with primitive types (I know, this is more or less a java issue)
24440M java.lang.Long#valueOf() huge amount of allocations... This is obvious. The FST implementation is generic over its output type and in my case T is Long. So for trivial long add and subtract, the implementation would allocate an object. Not only it is wasteful but from a perf perspective it'd be less than 1 CPU cycle v.s. calling allocator which is easily tens if not hundreds of cycles.
For this work, I forked the FST class and manually templated it with long just to see how much difference it makes. Here is a diff in heap profile and bench results before and after.
Before

PERCENT       HEAP SAMPLES  STACK
25.97%        32791M        java.lang.Long#valueOf()
7.58%         9571M         org.apache.lucene.facet.taxonomy.IntTaxonomyFacets#initializeValueCounters()
5.13%         6482M         org.apache.lucene.util.FixedBitSet#<init>()
4.90%
....

After
PERCENT       HEAP SAMPLES  STACK
8.44%         7988M         org.apache.lucene.facet.taxonomy.IntTaxonomyFacets#initializeValueCounters()
7.17%         6788M         org.apache.lucene.util.FixedBitSet#<init>()
6.22%         5886M         org.apache.lucene.facet.sortedset.SortedSetDocValuesFacetCounts#countOneSegmentNHLD()
5.89%         5577M         org.apache.lucene.util.ArrayUtil#growExact()

Bench diff
Before

                            TaskQPS baseline      StdDevQPS my_modified_version      StdDev                Pct diff p-value
                        Wildcard       11.61      (2.7%)        2.40      (0.6%)  -79.4% ( -80% -  -78%) 0.000
                          Fuzzy1       78.17      (0.7%)       27.16      (0.9%)  -65.3% ( -66% -  -64%) 0.000
                         Respell       29.09      (0.6%)       10.91      (0.8%)  -62.5% ( -63% -  -61%) 0.000
                          Fuzzy2       47.80      (0.6%)       18.50      (1.2%)  -61.3% ( -62% -  -59%) 0.000
                         Prefix3      765.08      (3.1%)      463.94      (0.9%)  -39.4% ( -42% -  -36%) 0.000
               HighTermTitleSort       98.48      (2.0%)       90.62      (2.2%)   -8.0% ( -11% -   -3%) 0.000
           BrowseMonthTaxoFacets        3.89     (29.2%)        3.62      (0.9%)   -6.9% ( -28% -   32%) 0.293
                 LowSloppyPhrase       22.73      (6.5%)       22.35      (6.9%)   -1.7% ( -14% -   12%) 0.432
                         LowTerm      365.47      (3.6%)      359.62      (2.9%)   -1.6% (  -7% -    5%) 0.121
                        HighTerm      398.57      (5.1%)      393.16      (4.7%)   -1.4% ( -10% -    8%) 0.380
                 MedSloppyPhrase       10.63      (3.6%)       10.51      (3.7%)   -1.1% (  -8% -    6%) 0.339
                         MedTerm      422.73      (4.2%)      418.60      (4.0%)   -1.0% (  -8% -    7%) 0.451
            MedTermDayTaxoFacets       14.84      (2.6%)       14.71      (2.5%)   -0.8% (  -5% -    4%) 0.296
                HighSloppyPhrase       12.41      (3.1%)       12.33      (3.1%)   -0.7% (  -6% -    5%) 0.487
            HighTermTitleBDVSort        6.88      (3.3%)        6.84      (3.5%)   -0.6% (  -7% -    6%) 0.599
                       LowPhrase       58.15      (2.9%)       57.85      (2.8%)   -0.5% (  -6% -    5%) 0.567
       BrowseDayOfYearSSDVFacets        3.24      (0.4%)        3.23      (0.5%)   -0.3% (  -1% -    0%) 0.042
                       MedPhrase       26.19      (3.1%)       26.11      (3.2%)   -0.3% (  -6% -    6%) 0.775
                    OrNotHighMed      185.23      (3.9%)      184.73      (3.3%)   -0.3% (  -7% -    7%) 0.813
          OrHighMedDayTaxoFacets        3.82      (3.3%)        3.81      (3.2%)   -0.3% (  -6% -    6%) 0.796
                    OrHighNotLow      194.98      (5.1%)      194.51      (4.6%)   -0.2% (  -9% -   10%) 0.875
                    OrHighNotMed      337.15      (4.4%)      336.53      (3.8%)   -0.2% (  -7% -    8%) 0.888
                          IntNRQ       67.60      (0.9%)       67.55      (1.0%)   -0.1% (  -1% -    1%) 0.783
                     MedSpanNear        9.85      (1.4%)        9.84      (2.1%)   -0.1% (  -3% -    3%) 0.906
                   OrNotHighHigh      205.12      (4.1%)      205.01      (3.9%)   -0.1% (  -7% -    8%) 0.967
        AndHighHighDayTaxoFacets        6.35      (1.5%)        6.34      (1.7%)   -0.0% (  -3% -    3%) 0.932
           BrowseMonthSSDVFacets        3.29      (0.8%)        3.29      (0.7%)   -0.0% (  -1% -    1%) 0.887
     BrowseRandomLabelSSDVFacets        2.30      (0.8%)        2.30      (1.0%)    0.0% (  -1% -    1%) 0.919
                     LowSpanNear       16.41      (2.6%)       16.42      (2.7%)    0.1% (  -5% -    5%) 0.931
                      HighPhrase       77.12      (3.0%)       77.20      (3.6%)    0.1% (  -6% -    6%) 0.923
         AndHighMedDayTaxoFacets       39.64      (1.2%)       39.68      (1.0%)    0.1% (  -2% -    2%) 0.742
     BrowseRandomLabelTaxoFacets        3.19      (1.6%)        3.19      (1.1%)    0.1% (  -2% -    2%) 0.728
            BrowseDateTaxoFacets        3.73      (0.7%)        3.74      (0.5%)    0.3% (   0% -    1%) 0.157
                     AndHighHigh       27.08      (1.3%)       27.15      (3.0%)    0.3% (  -4% -    4%) 0.718
       BrowseDayOfYearTaxoFacets        3.76      (0.6%)        3.77      (0.5%)    0.3% (   0% -    1%) 0.072
           HighTermDayOfYearSort      224.01      (2.1%)      224.81      (2.1%)    0.4% (  -3% -    4%) 0.592
                    HighSpanNear        6.09      (2.7%)        6.11      (3.1%)    0.4% (  -5% -    6%) 0.683
            HighIntervalsOrdered        8.08      (3.3%)        8.11      (3.4%)    0.4% (  -6% -    7%) 0.705
                      TermDTSort      103.29      (4.4%)      103.83      (3.1%)    0.5% (  -6% -    8%) 0.669
             MedIntervalsOrdered       33.12      (4.4%)       33.29      (4.6%)    0.5% (  -8% -    9%) 0.702
             LowIntervalsOrdered       10.06      (3.9%)       10.12      (3.6%)    0.6% (  -6% -    8%) 0.609
                      AndHighMed       73.71      (2.2%)       74.18      (2.5%)    0.6% (  -3% -    5%) 0.394
                       OrHighMed       71.44      (2.7%)       71.98      (3.3%)    0.7% (  -5% -    6%) 0.429
            BrowseDateSSDVFacets        0.96      (4.8%)        0.97      (5.7%)    0.9% (  -9% -   11%) 0.601
                   OrHighNotHigh      308.82      (4.0%)      311.53      (3.7%)    0.9% (  -6% -    8%) 0.470
                       OrHighLow      404.69      (3.0%)      408.63      (3.5%)    1.0% (  -5% -    7%) 0.348
                      OrHighHigh       20.44      (4.7%)       20.73      (7.2%)    1.4% ( -10% -   13%) 0.469
                    OrNotHighLow      381.28      (1.8%)      388.18      (2.1%)    1.8% (  -2% -    5%) 0.004
               HighTermMonthSort     2500.04      (2.2%)     2554.91      (4.3%)    2.2% (  -4% -    8%) 0.042
                      AndHighLow      668.12      (3.1%)      692.04      (3.9%)    3.6% (  -3% -   10%) 0.001
                        PKLookup      140.25      (2.0%)      168.53      (1.9%)   20.2% (  15% -   24%) 0.000

After

                            TaskQPS baseline      StdDevQPS my_modified_version      StdDev                Pct diff p-value
                        Wildcard       54.96      (2.6%)       10.43      (0.5%)  -81.0% ( -82% -  -80%) 0.000
                         Respell       45.54      (1.0%)       16.74      (0.7%)  -63.2% ( -64% -  -62%) 0.000
                          Fuzzy1       46.41      (1.2%)       17.26      (1.0%)  -62.8% ( -64% -  -61%) 0.000
                         Prefix3      121.65      (2.4%)       55.57      (0.9%)  -54.3% ( -56% -  -52%) 0.000
                          Fuzzy2       32.33      (1.2%)       15.79      (1.1%)  -51.2% ( -52% -  -49%) 0.000
               HighTermTitleSort       95.24      (2.1%)       87.04      (1.9%)   -8.6% ( -12% -   -4%) 0.000
     BrowseRandomLabelSSDVFacets        2.37      (7.1%)        2.33      (4.8%)   -1.7% ( -12% -   10%) 0.374
           BrowseMonthSSDVFacets        3.34      (7.3%)        3.29      (0.6%)   -1.5% (  -8% -    6%) 0.362
                      TermDTSort      120.57      (2.3%)      119.02      (3.4%)   -1.3% (  -6% -    4%) 0.163
                      OrHighHigh       19.13      (5.6%)       18.92      (2.7%)   -1.1% (  -8% -    7%) 0.430
                     AndHighHigh       22.04      (5.1%)       21.87      (3.0%)   -0.8% (  -8% -    7%) 0.555
                      AndHighMed       55.06      (3.0%)       54.79      (2.1%)   -0.5% (  -5% -    4%) 0.546
                    HighSpanNear        3.29      (1.6%)        3.28      (1.7%)   -0.5% (  -3% -    2%) 0.346
            HighIntervalsOrdered        0.65      (1.8%)        0.65      (2.0%)   -0.5% (  -4% -    3%) 0.433
           HighTermDayOfYearSort      282.86      (2.0%)      281.57      (2.6%)   -0.5% (  -4% -    4%) 0.533
             MedIntervalsOrdered       16.36      (1.5%)       16.29      (1.5%)   -0.4% (  -3% -    2%) 0.369
                       OrHighMed       68.27      (2.9%)       67.99      (1.8%)   -0.4% (  -5% -    4%) 0.598
                     MedSpanNear        3.22      (1.0%)        3.21      (1.4%)   -0.4% (  -2% -    2%) 0.317
                HighSloppyPhrase        9.59      (2.5%)        9.57      (2.6%)   -0.3% (  -5% -    4%) 0.733
           BrowseMonthTaxoFacets        3.64      (2.4%)        3.63      (1.8%)   -0.2% (  -4% -    4%) 0.756
             LowIntervalsOrdered       14.66      (0.9%)       14.63      (1.5%)   -0.2% (  -2% -    2%) 0.633
            MedTermDayTaxoFacets       15.56      (2.7%)       15.54      (3.9%)   -0.2% (  -6% -    6%) 0.879
         AndHighMedDayTaxoFacets       18.70      (1.4%)       18.67      (3.7%)   -0.2% (  -5% -    5%) 0.864
                     LowSpanNear        4.39      (1.1%)        4.38      (1.4%)   -0.1% (  -2% -    2%) 0.728
          OrHighMedDayTaxoFacets        5.38      (3.5%)        5.38      (5.4%)   -0.1% (  -8% -    9%) 0.945
        AndHighHighDayTaxoFacets        7.06      (1.6%)        7.06      (3.0%)   -0.1% (  -4% -    4%) 0.924
                 LowSloppyPhrase        7.16      (1.4%)        7.15      (1.6%)   -0.1% (  -2% -    2%) 0.891
                 MedSloppyPhrase      128.54      (1.9%)      128.56      (2.2%)    0.0% (  -4% -    4%) 0.979
                         LowTerm      417.80      (3.3%)      418.01      (2.7%)    0.1% (  -5% -    6%) 0.958
                       LowPhrase      125.59      (4.0%)      125.77      (3.1%)    0.1% (  -6% -    7%) 0.900
                       OrHighLow      313.22      (2.1%)      313.72      (2.2%)    0.2% (  -4% -    4%) 0.817
            BrowseDateTaxoFacets        3.73      (0.7%)        3.74      (0.7%)    0.2% (  -1% -    1%) 0.470
       BrowseDayOfYearTaxoFacets        3.76      (0.7%)        3.76      (0.7%)    0.2% (  -1% -    1%) 0.457
                         MedTerm      384.57      (4.6%)      385.44      (3.6%)    0.2% (  -7% -    8%) 0.863
                   OrHighNotHigh      255.07      (4.3%)      256.05      (4.3%)    0.4% (  -7% -    9%) 0.778
                       MedPhrase       11.17      (3.0%)       11.21      (2.6%)    0.4% (  -5% -    6%) 0.658
                        HighTerm      361.26      (5.1%)      362.86      (4.2%)    0.4% (  -8% -   10%) 0.764
     BrowseRandomLabelTaxoFacets        3.19      (1.5%)        3.20      (0.6%)    0.5% (  -1% -    2%) 0.203
                   OrNotHighHigh      205.38      (4.0%)      206.35      (4.0%)    0.5% (  -7% -    8%) 0.712
                    OrNotHighLow      317.96      (1.7%)      319.48      (2.1%)    0.5% (  -3% -    4%) 0.428
                      HighPhrase       47.91      (3.8%)       48.15      (3.3%)    0.5% (  -6% -    7%) 0.661
            BrowseDateSSDVFacets        0.97      (6.9%)        0.98      (6.7%)    0.5% ( -12% -   15%) 0.801
                    OrHighNotLow      185.96      (4.9%)      187.04      (5.0%)    0.6% (  -8% -   11%) 0.710
       BrowseDayOfYearSSDVFacets        3.21      (2.1%)        3.23      (0.9%)    0.6% (  -2% -    3%) 0.225
            HighTermTitleBDVSort        5.83      (3.7%)        5.87      (4.0%)    0.7% (  -6% -    8%) 0.584
                    OrNotHighMed      516.84      (2.5%)      520.76      (2.5%)    0.8% (  -4% -    5%) 0.334
                          IntNRQ       29.24      (3.0%)       29.50      (4.1%)    0.9% (  -6% -    8%) 0.425
                    OrHighNotMed      268.45      (4.4%)      270.92      (4.2%)    0.9% (  -7% -    9%) 0.501
               HighTermMonthSort     2498.46      (4.8%)     2590.43      (3.7%)    3.7% (  -4% -   12%) 0.007
                      AndHighLow      747.94      (2.1%)      775.60      (4.0%)    3.7% (  -2% -   10%) 0.000
                        PKLookup      141.68      (2.0%)      177.85      (1.5%)   25.5% (  21% -   29%) 0.000

Non-trivial amount of allocations for?  .... building IndexInput slice descriptions !?
jdk.internal.misc.Unsafe#allocateUninitializedArray(). This was not trivial to find out why. But again with the raw JFR report, we can analyze the call tree. It turn out that in the buildSlice() implementation of MemorySegmentIndexInput we call IndexInput#getFullSliceDescription() which creates new String. And allocateUninitializedArray is called to allocate the bytes for the String.
AFAIK, the description is only used for debugging and tracking purposes. I didn't expect it'd cause that much of allocation. So I made a change to pass null when building the description so those allocations are gone.
Before

PERCENT       HEAP SAMPLES  STACK
10.39%        12103M        java.lang.Long#valueOf()
9.91%         11543M        org.apache.lucene.facet.taxonomy.IntTaxonomyFacets#initializeValueCounters()
8.91%         10383M        jdk.internal.misc.Unsafe#allocateUninitializedArray()

After
PERCENT       HEAP SAMPLES  STACK                                                                                [37/1812]
25.97%        32791M        java.lang.Long#valueOf()
7.58%         9571M         org.apache.lucene.facet.taxonomy.IntTaxonomyFacets#initializeValueCounters()
5.13%         6482M         org.apache.lucene.util.FixedBitSet#<init>()

Here is the even more interesting stuff. After all those allocation optimizations. I also implemented the on-paper more "efficient" algorithm to intersect FST and FSA for Terms.intersect(), which leverages the sorted nature of the FST arcs and FSA transitions from a given state (so at least we can binary search to advance with some skipping). FST in some cases have direct addressing which is exploited, too. As a side note -- it also uncovered a bug for the NFA impl which is tracked here https://github.com/apache/lucene/issues/12906.
But that change is not moving the needle at all for WildCard and Prefix3 search tasks.
Before
                            TaskQPS baseline      StdDevQPS my_modified_version      StdDev                Pct diff p-value
                        Wildcard       62.85      (1.8%)       12.66      (0.6%)  -79.9% ( -80% -  -78%) 0.000
                          Fuzzy2       55.12      (1.0%)       18.92      (0.8%)  -65.7% ( -66% -  -64%) 0.000
                          Fuzzy1       61.20      (0.8%)       22.55      (0.8%)  -63.2% ( -64% -  -62%) 0.000
                         Respell       31.11      (0.8%)       11.95      (0.6%)  -61.6% ( -62% -  -60%) 0.000
                         Prefix3      135.69      (2.0%)       65.06      (0.7%)  -52.1% ( -53% -  -50%) 0.000
               HighTermTitleSort      119.58      (0.9%)      111.03      (1.7%)   -7.2% (  -9% -   -4%) 0.000
                          IntNRQ       22.25      (1.1%)       21.87      (1.5%)   -1.7% (  -4% -    0%) 0.000
                      HighPhrase       25.82      (3.6%)       25.55      (3.2%)   -1.1% (  -7% -    5%) 0.318
                       MedPhrase        7.41      (2.4%)        7.35      (2.2%)   -0.8% (  -5% -    3%) 0.259
                     LowSpanNear        8.81      (1.9%)        8.74      (2.1%)   -0.8% (  -4% -    3%) 0.202
          OrHighMedDayTaxoFacets        3.86      (5.8%)        3.83      (4.8%)   -0.8% ( -10% -   10%) 0.636
                      TermDTSort      100.75      (2.9%)       99.98      (2.0%)   -0.8% (  -5% -    4%) 0.336
            HighIntervalsOrdered        6.07      (2.1%)        6.03      (2.4%)   -0.7% (  -5% -    3%) 0.342
             MedIntervalsOrdered       45.89      (2.0%)       45.61      (2.4%)   -0.6% (  -4% -    3%) 0.389
                    HighSpanNear       10.73      (1.0%)       10.66      (1.5%)   -0.6% (  -3% -    2%) 0.165
           HighTermDayOfYearSort      206.09      (1.8%)      204.93      (1.9%)   -0.6% (  -4% -    3%) 0.338
             LowIntervalsOrdered        8.39      (2.3%)        8.37      (2.5%)   -0.3% (  -5% -    4%) 0.654
                     MedSpanNear       66.00      (1.3%)       65.81      (1.9%)   -0.3% (  -3% -    2%) 0.574
                         MedTerm      322.61      (4.7%)      321.89      (4.5%)   -0.2% (  -9% -    9%) 0.878
         AndHighMedDayTaxoFacets       22.62      (1.0%)       22.58      (1.2%)   -0.2% (  -2% -    2%) 0.617
                       LowPhrase       48.52      (1.3%)       48.46      (1.4%)   -0.1% (  -2% -    2%) 0.745
                         LowTerm      403.54      (2.9%)      403.22      (2.4%)   -0.1% (  -5% -    5%) 0.923
     BrowseRandomLabelTaxoFacets        3.20      (0.7%)        3.20      (0.9%)   -0.0% (  -1% -    1%) 0.905
        AndHighHighDayTaxoFacets        8.06      (1.3%)        8.06      (1.6%)    0.0% (  -2% -    2%) 0.962
       BrowseDayOfYearTaxoFacets        3.76      (0.6%)        3.76      (0.6%)    0.0% (  -1% -    1%) 0.859
           BrowseMonthTaxoFacets        3.62      (1.0%)        3.62      (1.0%)    0.1% (  -1% -    2%) 0.866
                   OrHighNotHigh      156.16      (6.0%)      156.26      (5.9%)    0.1% ( -11% -   12%) 0.972
            BrowseDateTaxoFacets        3.73      (0.6%)        3.73      (0.6%)    0.1% (  -1% -    1%) 0.722
                   OrNotHighHigh      144.55      (5.1%)      144.68      (4.7%)    0.1% (  -9% -   10%) 0.957
            MedTermDayTaxoFacets       17.57      (2.8%)       17.59      (2.8%)    0.2% (  -5% -    5%) 0.863
       BrowseDayOfYearSSDVFacets        3.22      (0.9%)        3.23      (0.7%)    0.2% (  -1% -    1%) 0.424
                        HighTerm      401.13      (5.4%)      402.30      (5.7%)    0.3% ( -10% -   12%) 0.868
           BrowseMonthSSDVFacets        3.27      (0.7%)        3.28      (1.0%)    0.3% (  -1% -    2%) 0.202
                     AndHighHigh       20.87      (2.8%)       20.94      (2.5%)    0.4% (  -4% -    5%) 0.670
                HighSloppyPhrase        6.58      (3.3%)        6.61      (3.4%)    0.4% (  -6% -    7%) 0.727
                      AndHighMed       89.34      (1.8%)       89.76      (1.4%)    0.5% (  -2% -    3%) 0.355
            BrowseDateSSDVFacets        0.95      (2.8%)        0.95      (4.0%)    0.5% (  -6% -    7%) 0.656
                    OrNotHighLow      420.17      (2.2%)      422.34      (2.2%)    0.5% (  -3% -    4%) 0.452
                 LowSloppyPhrase        2.89      (2.4%)        2.91      (1.9%)    0.6% (  -3% -    4%) 0.369
                    OrNotHighMed      219.50      (4.5%)      221.02      (4.1%)    0.7% (  -7% -    9%) 0.611
                 MedSloppyPhrase       10.44      (2.2%)       10.52      (1.4%)    0.7% (  -2% -    4%) 0.222
                    OrHighNotLow      288.48      (5.4%)      290.70      (5.7%)    0.8% (  -9% -   12%) 0.663
                       OrHighMed       53.25      (3.6%)       53.66      (3.5%)    0.8% (  -6% -    8%) 0.488
            HighTermTitleBDVSort        2.77      (7.2%)        2.79      (7.0%)    0.9% ( -12% -   16%) 0.699
                    OrHighNotMed      270.38      (5.7%)      272.88      (5.4%)    0.9% (  -9% -   12%) 0.601
                      OrHighHigh       20.86      (5.1%)       21.08      (5.2%)    1.1% (  -8% -   12%) 0.519
                       OrHighLow      220.40      (4.2%)      223.52      (5.6%)    1.4% (  -8% -   11%) 0.367
     BrowseRandomLabelSSDVFacets        2.32      (4.3%)        2.38      (7.6%)    2.3% (  -9% -   14%) 0.240
                      AndHighLow      395.82      (2.9%)      405.36      (2.8%)    2.4% (  -3% -    8%) 0.008
               HighTermMonthSort     2375.71      (3.7%)     2555.72      (5.0%)    7.6% (  -1% -   16%) 0.000
                        PKLookup      140.60      (1.8%)      178.02      (1.3%)   26.6% (  23% -   30%) 0.000

After
                            TaskQPS baseline      StdDevQPS my_modified_version      StdDev                Pct diff p-value
                        Wildcard       37.77      (2.7%)        5.70      (1.3%)  -84.9% ( -86% -  -83%) 0.000
                         Prefix3       52.27      (2.7%)       22.71      (1.8%)  -56.6% ( -59% -  -53%) 0.000
                          Fuzzy1       59.96      (1.6%)       54.80      (2.3%)   -8.6% ( -12% -   -4%) 0.000
               HighTermTitleSort      106.17      (2.1%)      101.30      (1.5%)   -4.6% (  -7% -   -1%) 0.000
                          Fuzzy2       33.40      (1.3%)       32.14      (1.6%)   -3.8% (  -6% -    0%) 0.000
                         MedTerm      273.84      (5.4%)      265.92      (9.7%)   -2.9% ( -17% -   12%) 0.245
                        HighTerm      349.66      (5.2%)      341.63      (8.9%)   -2.3% ( -15% -   12%) 0.320
                         LowTerm      356.23      (3.1%)      350.27      (4.3%)   -1.7% (  -8% -    5%) 0.156
                 LowSloppyPhrase        4.47      (2.1%)        4.44      (4.6%)   -0.8% (  -7% -    6%) 0.492
                    HighSpanNear        8.12      (2.1%)        8.06      (2.5%)   -0.7% (  -5% -    4%) 0.331
                 MedSloppyPhrase       31.05      (3.6%)       30.83      (4.1%)   -0.7% (  -8% -    7%) 0.559
             MedIntervalsOrdered        3.88      (3.3%)        3.86      (3.3%)   -0.7% (  -7% -    6%) 0.519
                     MedSpanNear        8.94      (1.2%)        8.88      (1.6%)   -0.7% (  -3% -    2%) 0.126
             LowIntervalsOrdered        7.40      (3.3%)        7.35      (3.4%)   -0.7% (  -7% -    6%) 0.537
                     LowSpanNear       29.33      (2.0%)       29.15      (2.2%)   -0.6% (  -4% -    3%) 0.374
                HighSloppyPhrase        6.68      (3.6%)        6.64      (3.5%)   -0.5% (  -7% -    6%) 0.624
            MedTermDayTaxoFacets        9.14      (3.0%)        9.11      (8.2%)   -0.3% ( -11% -   11%) 0.861
                      HighPhrase      115.62      (3.9%)      115.24      (4.0%)   -0.3% (  -7% -    7%) 0.798                                                [162/1927]
                     AndHighHigh       13.95      (4.2%)       13.92      (4.5%)   -0.3% (  -8% -    8%) 0.847
           BrowseMonthSSDVFacets        3.30      (0.8%)        3.29      (1.0%)   -0.3% (  -2% -    1%) 0.377
                      AndHighMed       85.40      (2.0%)       85.18      (2.1%)   -0.2% (  -4% -    3%) 0.695
                          IntNRQ       16.65      (4.1%)       16.63      (3.8%)   -0.1% (  -7% -    8%) 0.914
     BrowseRandomLabelSSDVFacets        2.30      (0.9%)        2.30      (1.1%)   -0.1% (  -2% -    1%) 0.754
                      OrHighHigh       24.99      (6.1%)       24.97      (5.3%)   -0.1% ( -10% -   12%) 0.957
        AndHighHighDayTaxoFacets        2.29      (2.8%)        2.29      (2.4%)   -0.0% (  -5% -    5%) 0.977
         AndHighMedDayTaxoFacets       40.17      (1.4%)       40.20      (1.4%)    0.1% (  -2% -    2%) 0.872
          OrHighMedDayTaxoFacets        3.15      (3.9%)        3.15      (3.4%)    0.1% (  -6% -    7%) 0.946
                       LowPhrase       30.23      (2.5%)       30.26      (2.4%)    0.1% (  -4% -    5%) 0.911
                    OrNotHighLow      201.78      (2.9%)      202.03      (3.0%)    0.1% (  -5% -    6%) 0.896
     BrowseRandomLabelTaxoFacets        3.20      (3.2%)        3.21      (4.1%)    0.1% (  -6% -    7%) 0.899
            HighIntervalsOrdered        0.42      (1.9%)        0.42      (1.6%)    0.2% (  -3% -    3%) 0.699
                    OrNotHighMed      235.49      (5.5%)      236.01      (4.7%)    0.2% (  -9% -   11%) 0.892
           BrowseMonthTaxoFacets        3.62      (1.0%)        3.63      (1.0%)    0.2% (  -1% -    2%) 0.477
                   OrNotHighHigh      329.77      (4.9%)      330.79      (5.5%)    0.3% (  -9% -   11%) 0.851
                       MedPhrase       35.79      (3.4%)       35.90      (3.4%)    0.3% (  -6% -    7%) 0.771
                      TermDTSort      112.10      (3.2%)      112.45      (3.4%)    0.3% (  -6% -    7%) 0.763
            BrowseDateSSDVFacets        0.97      (7.1%)        0.98     (10.0%)    0.4% ( -15% -   18%) 0.897
       BrowseDayOfYearSSDVFacets        3.21      (2.2%)        3.22      (1.6%)    0.4% (  -3% -    4%) 0.525
           HighTermDayOfYearSort      235.24      (2.1%)      236.16      (1.6%)    0.4% (  -3% -    4%) 0.512
                       OrHighMed       70.60      (3.3%)       70.99      (2.7%)    0.5% (  -5% -    6%) 0.571
                      AndHighLow      370.31      (3.2%)      372.60      (3.4%)    0.6% (  -5% -    7%) 0.559
            HighTermTitleBDVSort        5.53      (4.1%)        5.56      (4.5%)    0.6% (  -7% -    9%) 0.648
                    OrHighNotLow      263.18      (5.6%)      264.95      (6.2%)    0.7% ( -10% -   13%) 0.717
                    OrHighNotMed      222.41      (5.8%)      224.06      (5.8%)    0.7% ( -10% -   13%) 0.688
                   OrHighNotHigh      233.04      (5.5%)      234.89      (5.8%)    0.8% (  -9% -   12%) 0.657
                       OrHighLow      463.17      (3.0%)      466.91      (3.1%)    0.8% (  -5% -    7%) 0.403
       BrowseDayOfYearTaxoFacets        3.77      (0.6%)        3.84      (8.9%)    1.9% (  -7% -   11%) 0.342
            BrowseDateTaxoFacets        3.74      (0.6%)        3.81      (8.8%)    1.9% (  -7% -   11%) 0.332
               HighTermMonthSort     2350.73      (4.0%)     2477.32      (4.5%)    5.4% (  -2% -   14%) 0.000
                         Respell       30.81      (1.5%)       34.87      (1.7%)   13.2% (   9% -   16%) 0.000
                        PKLookup      141.03      (1.9%)      177.54      (2.0%)   25.9% (  21% -   30%) 0.000

I tried to modify the bench task file and only run WildCard to understand where the time is spent.
My version

mainline

So we can see that the most time is spent in actually reading out the FST arcs and FSA transitions... My intuitive explanation for why this is slower than the blocktree is that it has worse locality in its data access pattern. (@mikemccand maybe you can shed some light) Here are some relevant factors:

The FST is larger as it contains all terms. So there are more Arcs to visit. Blocktree (main) use the FST to index prefixes.
When binary-searching or directly address Arc/Transitions the target is somewhat random.
The FST bytes are read backwards. (probably less of an issue if we read sequentially on modern HW)
Blocktree at a given node reads bytes sequentially and terms are sorted, too.

Just out of curiosity I altered my code to load the FST on-heap to compare with the default off-heap option. It did not help much with Wildcard but PKLookup got substantially faster!
The PKLookup task is a great proxy to FST performance, as both versions of the code visits the exact same number of Arcs.

Off heap
                        Wildcard       47.56      (1.7%)       10.13      (0.4%)  -78.7% ( -79% -  -77%) 0.000
                        PKLookup      136.03      (2.4%)      147.93      (2.3%)    8.8% (   3% -   13%) 0.000

on heap
                        Wildcard       37.11      (1.5%)        8.35      (0.3%)  -77.5% ( -78% -  -76%) 0.000
                        PKLookup      136.04      (3.3%)      269.60      (9.0%)   98.2% (  83% -  114%) 0.000

Theres are very interesting results @Tony-X!  I'll try to give deeper response soon, but one idea that jumped out about Wildcard is that BlockTree somewhere takes advantage of commonSuffixBytes or so?   This is a BytesRef that is non-empty when all strings matched by the Automaton share some common suffix, as would happen with a wildcard query like ab*cd (cd would be the common suffix).
Maybe block tree is able to use this opto more effectively than the "all terms in FST" approach?  But I think you could implement such an opto too, maybe: just find the one node (or, maybe more than one) whose suffix is the common suffix, and fast-check somehow?

The PKLookup gains are astounding!
Especially interesting is the off -> on heap gains for that task.  We are somehow paying a high price for going through Lucene's IO APIs instead of byte[] backed ByteBuffer?

Thanks @mikemccand for taking a look! I see the getCommonSuffixBytesRef method from Automaton.
I wonder if it is really applicable to the FST... i.e. for the FST is it guaranteed that there exists one and only one state where all valid outputs path that share the same suffix go through?  Or put it in other words, how many sub-graphs of the FST are there that represents the same suffix?


⚠ Bofrost.fr has degraded performance

In b017625, Bofrost.fr (https://www.bofrost.fr) experienced degraded performance:

HTTP code: 200
Response time: 1614 ms

Resolved: Bofrost.fr performance has improved in ba17ba3 after 21 minutes.


workaround for the flaking full-test with snarks

Reduced the number of payments for now. Will revisit this after the parallel-scan-state refactoring
Checklist:

[ ] Tests were added for the new behavior
[X] All tests pass (CI will check this if you didn't)
[ ] Serialized types are in stable-versioned modules
[ ] Does this close issues? List them:

@deepthiskumar   @imeckler made his code change, but this test may no longer be flakey?  (for you to review)


New line character issue

It looks like we can't have \n as a new line character in CSV and should use \r\n.
Looking at data fetcher in this repo, I found https://github.com/githubocto/flat-viewer/blob/main/src/api/index.ts#L142 which parses CSV using https://github.com/githubocto/flat-viewer/blob/main/src/api/index.ts#L7
So it looks like that parser is here https://github.com/d3/d3-dsv/blob/main/src/dsv.js

@anuveyatsu No it's the opposite, it's not generating the correct table for windows-style line ending \r\n.

OK looks like this issue is INVALID because we're implementing custom data fetcher and parser due to our requirements. So probably your fetcher works ok 😄 sorry for confusion!


Box-Shadow in Nav-toggler

Describe the bug
1.Change box-shadow of the nav-toggler button from focus to hover.
2.Add blur to the box-shadow and use lighter colour
Expected behavior
Box shadow to appear during hover of nav-toggler icon and lighter colour of box shadow.

Note:

Do mention if your are working under GSSoC'21.
If you want to work on an issue, you should check if it has already been assigned to anyone. If the issue is free you can comment /assign to get the issue assigned to you.
If you are raising a new issue and want to work on it then also you should comment /assign under the issue to get it auto assigned.
Please refrain from adding labels to your issue/pull-request on your own. It is the job of the Project Admin and the Mentors to review your issue/pull-request and add labels accordingly.
According to the level of the issue, respective time will be allotted under which the task needs to be completed/resolved by the assigned person. If the issue is not resolved within the given time, it will be assigned to the next person. In case of any discrepancies, the decision of the maintainer will be final.

level - 0: 2 days
level - 1: 3 days
level - 2: 4 days
level - 3: 5 days

/level1

/assign Liri-s29

/review

/assign

would like to work on it if available


Input field not being reset

I am trying to reset the input field after selection with
this.$refs.autocomplete.clear()
But keep getting this error
TypeError: this.$refs.autocomplete is undefined

I know this is a really late reply, but I just ran into this issue and figured it out, so I thought I'd add a reply here for anyone who comes across this unanswered issue like I did. There're two things I had to do, one of which differs from how the example says to do it (unless I missed something).

You have to include ref="autocomplete" on the component itself. This is how it'll add the object you need into this.$refs.
The autocomplete that gets put in there is actually an array, so while the example says to use this.$refs.autocomplete.clear(), what you ACTUALLY have to do is this.$refs.autocomplete[0].clear(). This is the part that's wrong in the example given, again unless I'm missing something.


Fix datetime parsing

Parsing __DATE__ and __TIME__ does not work right now, this PR fixes it.
Current parsing tries to parse double digits as a character which only takes the first digit. It used to work before this commit: https://github.com/NorthernWidget/DS3231/commit/c15b45025691f90caceb793480b62132886742eb
But the scanf string wasn't correct before either, as it used %d for uint8_t, while %d should be used for int. The correct specifier for uint8_t would be %hhu as per https://www.cplusplus.com/reference/cstdio/scanf/

Many thanks for this improvement to the parser!


Is there a Grafana Dashboard Which goes nicely with it.

I came here to ask the very same question! If a Dashboard like this (https://grafana.com/dashboards/315) could be created it would be a great way for beginners to get started.

+1


docs(ui/image-preview): use the setup script for exmple and docs

Checklist

[ ] Fix linting errors
[ ] Tests have been added / updated (or snapshots)

Change information

Codecov Report

Merging #434 (ba6a4ba) into docs/script-setup (aabe24d) will not change coverage.
The diff coverage is n/a.

@@                Coverage Diff                 @@
##           docs/script-setup     #434   +/-   ##
==================================================
  Coverage              96.42%   96.42%
==================================================
  Files                    217      217
  Lines                   5148     5148
  Branches                 944      944
==================================================
  Hits                    4964     4964
  Misses                   184      184

Continue to review full report at Codecov.

Legend - Click here to learn more
Δ = absolute <relative> (impact), ø = not affected, ? = missing data
Powered by Codecov. Last update aabe24d...ba6a4ba. Read the comment docs.

我们之前做的不够好，所以这个组件的案例需要优化，参考action-sheet将一个冗长的案例拆分成子案例

已优化


Should embedded documents without identifiers be in the identity map?

Should embedded documents without identifiers be in the identity map?
Should embedded documents be in the identity map at all?

This question was triggered by the work being done in #771

#1252 aims to make situation better and allow reusing VOs

Situation with embedded documents seems to be stable now


Interpreter/namespaces not functioning as expected

My understanding from https://github.com/davidhalter/jedi-vim/issues/498 was that using the Interpreter with namespaces is highly more performant that pure static analysis and should return the same (if not better) results.  I'm getting slower performance and incorrect results using namespaces/Interpreter.  See below:
import jedi
def x():
    return ''
script = jedi.Interpreter('''
x().startsw''', [locals()])
print 'w/ namespace:',', '.join([c.name for c in script.completions()])

script = jedi.Interpreter('''
def x():
    return ''
x().startsw''', [])
print 'w/o namespace:',', '.join([c.name for c in script.completions()])

Results in:
w/ namespace:
w/o namespace: startswith

I'm using it based on the docstring in the Interpreter class.  Any ideas?

Hi @saluker,
In the first case, there is no way for Jedi to know that the result type of the function "x" is a string without executing it. I think it's a conscious decision to not execute callables (like methods) to retrieve their completions, because this could cause side effects. On the other hand, it is possible to know that the result type is a string by parsing the code.
Maybe @davidhalter could explain in better. I guess Jedi stays a best effort implementation of what is possible within the bounds of a language as dynamic as Python.
Jonathan

Thanks for that, @jonathanslenders !
I'm confused though how this relates to @davidhalter comments in https://github.com/davidhalter/jedi-vim/issues/498 -- my understanding is he was suggesting that ptpython somehow does execute code and that's why it's so much faster than "purely with text".  I looked at how ptpython uses jedi under the hood and tried to copy it, but ended up with the results above.  I realize now I put this issue in the wrong repo, but could you shed some light on your use of jedi in ptpython and why the decision was made to use Interpreter as opposed to Script (i.e pure text analysis)?  Seems the latter is faster is better, no?

Unfortunately, I don't know much about how Jedi works internally. Interpreter was the right API to choose according to the Jedi docs, so that's what I did.
My guess is that Jedi does not really execute code, but rather looks into the __dict__ of objects that were created before. (If they have a __dict__.) I think you can do that rather safe.

Thanks @jonathanslenders

@saluker It's actually not as easy as it might look like. (Though probably part of the problems above are fixed in Jedi's master branch).
I don't have time to explain it all here, but essentially some things are easier to understand with static analysis and some are easier with the dir function.
The dir function is very fast and correct in most cases, but evaluating function objects is a bit hard (if you don't have a reference to the actual code in a file). Remember: You have only access to the function object in a shell, not the code itself. This makes it so you will not be able to know evaluate return statements, unless you execute that function (which you never want for obvious reasons).
Static analysis on the other hand can gather more information.
Let me know if this has helped you understand this issue.

@davidhalter That was helpful, thanks.  A few hopefully quick questions that should help others:

When I have the luxury of choosing how variables and functions are introduced to the Interpreter (text vs namespace as in the example above), what should the be the rule of thumb for making the decision?
For my use case evaluating functions is fine (i.e. sandbox environment).  Can JEDI help with enabling this option?  I understand this might not be possible in the current implementation, but I would try an implementation and some tips from you on where to start would help.
Further on #2, if for my use case I'm fine with executing functions, this opens the road to telling the user about syntax or other errors.  Any guidance on JEDI ways of implementing this would be much appreciated.

Thanks!
Serge

Well, I think that static analysis is better (except for direct attribute access like foo.bar.
Executing functions will not be part of the Jedi API. I think that's just wrong. What I would accept is reverse engineering the code object (func.__code__.co_code) and getting some knowledge from the bytecode. However that requires a lot of work, probably (and knowledge).
You could execute functions and then kind of pass them back to jedi.evaluate.compiled.create, but that has multiple limitations. The biggest one being that the return value might not be returned, because of exceptions (which would happen in a LOT of cases like not entering the correct params). Since I don't want this within Jedi, note that there's no API in Jedi, so you're using Python code that is just internal and subject to change (and probably has changed in the latest branch).


fix: Unicode problem about atob/btoa

https://github.com/yusukebe/hono/pull/84#pullrequestreview-870144435
Thank you @danielweck

Hello 😃
Have you considered using a well-tested micro-lib like @cfworker/base64url? See source code:
https://github.com/cfworker/cfworker/tree/main/packages/base64url/src

HI!
I didn't know @cfworker/base64url , thank you to tell me 😄
Our policy is that Hono should not depend other libraries. So, we should not use @cfworker/base64url directly.
@cfworker/base64url is implemented with decodeURIComponent/encodeURIComponent . This PR is using TextDecoder. I think it may not matter which one. If we should write with another way, I will refer to these libralies 👍
Thank you!


epinowcast universe use

https://github.com/CDCgov/cfa-gam-rt/blob/15c14804c7dbca9ad5e67f1796066eca1731589f/DESCRIPTION#L52
What is this for at the moment? The only thing I think I see is primarycensored and it feels like we may as well use the CRAN version (perhaps this is just out of date)?

Just out of date. It's from pre-CRAN.


⚠ Jenkins Plugins Artifactory has degraded performance

In 29d9315, Jenkins Plugins Artifactory (https://get.jenkins.io/plugins/artifactory/) experienced degraded performance:

HTTP code: 200
Response time: 1397 ms

Resolved: Jenkins Plugins Artifactory performance has improved in 62b4c03 after 28 minutes.


Support editing media description when editing statuses

The media_attributes key has not made it into the docs yet, but the functionality has been merged in mastodon/mastodon#20878.
At least Ivory is using this key, and it's only sent when there are changes, so we preserve alt texts when the key is not in the request.
Mona on the other hand seems to not use this, but calls POST /api/v2/media before editing the post.

I didn't realise clients were already using it! Thanks.


Revert "[Search Documents] Migrating search-documents to the new recorder"

Reverts Azure/azure-sdk-for-js#20125
As discussed offline, I will be reverting the changes.
@HarshaNalluru Please review and approve the PR

/azp run js - search-documents - tests-weekly

/azp run js - search-documents - tests-weekly

/azp run js - search-documents - tests-weekly


fix disallowed chars matching for colons (:) (#1117)

Author: @phcreery

whoops didnt mean to make this. Should be #1128 being merged ASAP.

whoops didnt mean to make this. Should be #1128 being merged ASAP.


Add UI frontend article

Hi @mpeterdev 👋 I've merged your changes and adjusted some minor details.
Let me know if you have more suggestions 🙏 thank you!


Duplicate Running Extensions views when stopping profiling

Testing #39568

Open a split layout like in the picture
Start profiling
Focus the editor on the right
Stop profiling in the status bar

You will end up with two Running Extensions views

@bpasero is it possible to limit the view to only be showed once at most?
I believe I was somehow achieving this while the REPL was an editor?

@isidorn could probably do this if you set revealIfOpened as editor options. This will try first to reveal the editor if it is opened in any editor group, even if not visible.


Problem for importing seabird. "ImportError: No module named 'exceptions'"

Hello,
I'm a new user on phython. For my work, I downloaded the package seabird. When I tried do import it on the shell I had the error message:
ImportError: No module named 'exceptions'
I work on the IEP Pyzo 2015a version. My python version is a 3+ (3.4.1 exactly).
I work under Windows seven.
It was on the seabird 0.6.1 version.
NB: Now I have upgrade to the seabird 0.6.2 and the problem is fixed.

Thanks for the note David.
If you have trouble again with this package or find another bug, please, open a new issue here and I'll work on that.


Implement client-side timeouts

Pre-review checklist

[x] I have split my patch into logically separate commits.
[x] All commit messages clearly explain what they change and why.
[x] I added relevant tests for new features and bug fixes.
[x] All commits compile, pass static checks and pass test.
[x] PR description sums up the changes and reasons why they should be introduced.
[x] I added appropriate Fixes: annotations to PR description.

This pull request introduces client-side timeouts and a management layer for orphaned stream ids. Orphaned stream ids are the ones for which the client-side timeout already fired, but no response came from the server yet. In such scenario, a stream id cannot be released yet, because the response associated with the same id may still be received later. Instead, orphaned stream ids are tracked per connection, and once a threshold is reached, the connection is killed.
Fixes #304
Fixes #305

Tested manually by setting up a program with very low client timeout and observing the orphan count rise up to the threshold.

v2:

merged AllocStreamId and Request into a single task -- there was no point in splitting it in two in the first place; stream id is simply returned via a separate oneshot channel
retested

v3:

added a way to specify per-query client timeout
added docs

The fact that the whole connection is killed now in the event of not enough stream ids is still not addressed, but after some consideration I decided to keep the original semantics. We should have better handling of no stream ids anyway, but there's no point in severing a connection which could still have ongoing requests just because somebody pushed one too many new requests in there.

v4:

restored the original behavior of not killing the connection when a stream id could not be allocated; instead, only the offending request will get an error

review ping

Noble cause, but the implementation is severely outdated. Closing this one, we'll get it rewritten.


SSL Cert has been expired

Installing with bundle --trust-policy=MediumSecurity returns
The gem multi_json-1.11.2 can't be installed because the security policy didn't
allow it, with the message: certificate /CN=pavel/DC=pravosud/DC=com not valid
after 2016-03-03 04:10:35 UTC

Fixed and release 1.11.3. Thanks for reporting this.


Fixed decoding binary bulk strings containing \r

Hi Satoshi!
I've found that proto/parser incorrectly parses binary strings. The problem is that parser stops on \r character, but this is absolutely valid character in a bulk string like any other byte. When parsing bulk string only length bytes should be considered, and just last two bytes should be \r\n
You can easily reproduce the error using redis-cli as follows:
> set a "\r"

Or even key may contain \r or any other byte
> set "\r" "\r"

I've changed bulk string parsing logic and added some tests. Additionally I've added option to check expected errors to be able to test error cases.

@Peter-Sh Thank you for your request about binary batch strings. I have no problem with your request and will merge it and release it as v1.5.3.


State == Ready while playing

Describe the bug
After calling .play() on the audio, when I check the state using .getState(), it returns TrackPlayer.STATE_READY.
In this screenshot, playing podcast is logged when the podcast plays, playbackstate comes from the event listener on playback-state, and new state is ready is logged 500ms after the state is set to ready. I thought maybe after 500ms the state would definitely be TrackPlayer.STATE_PLAYING, however it is still ready.

To Reproduce
Steps to reproduce the behavior:

Play an audio file
Reset the TrackPlayer
Play another audio file
Sometimes the state sticks to "ready"

Environment (please complete the following information):
System:
OS: macOS 10.15.5
CPU: (4) x64 Intel(R) Core(TM) i7-4578U CPU @ 3.00GHz
Memory: 31.82 MB / 16.00 GB
Shell: 3.2.57 - /bin/bash
Binaries:
Node: 12.18.2 - /usr/local/bin/node
npm: 6.14.5 - /usr/local/bin/npm
Watchman: 4.9.0 - /usr/local/bin/watchman
SDKs:
iOS SDK:
Platforms: iOS 13.7, DriverKit 19.0, macOS 10.15, tvOS 13.4, watchOS 6.2
IDEs:
Android Studio: 4.0 AI-193.69<IP_ADDRESS>14223
Xcode: 11.7/11E801a - /usr/bin/xcodebuild
npmPackages:
react: 16.9.0 => 16.9.0
react-native: 0.61.1 => 0.61.1
What react-native-track-player version are you using?
"react-native-track-player": "^1.2.3",
Are you testing on a real device or in the simulator? Which OS version are you running?
Real Device - iOS 13

Can confirm, having the same issue. @davidsalib

I added a workaround in SwiftAudio using patch-package, which has seemed to work so far.
diff --git a/node_modules/react-native-track-player/ios/RNTrackPlayer/Vendor/SwiftAudio/Classes/AVPlayerWrapper/AVPlayerWrapper.swift b/node_modules/react-native-track-player/ios/RNTrackPlayer/Vendor/SwiftAudio/Classes/AVPlayerWrapper/AVPlayerWrapper.swift
index d17c936..acddef1 100755
--- a/node_modules/react-native-track-player/ios/RNTrackPlayer/Vendor/SwiftAudio/Classes/AVPlayerWrapper/AVPlayerWrapper.swift
+++ b/node_modules/react-native-track-player/ios/RNTrackPlayer/Vendor/SwiftAudio/Classes/AVPlayerWrapper/AVPlayerWrapper.swift
@@ -134,6 +134,11 @@ class AVPlayerWrapper: AVPlayerWrapperProtocol {

     func play() {
         avPlayer.play()
+
+         // workaround for state staying in ready state
+        if self._state == .ready {
+            self._state = .playing
+        }
     }

     func pause() {

I added a workaround in SwiftAudio using patch-package, which has seemed to work so far.
diff --git a/node_modules/react-native-track-player/ios/RNTrackPlayer/Vendor/SwiftAudio/Classes/AVPlayerWrapper/AVPlayerWrapper.swift b/node_modules/react-native-track-player/ios/RNTrackPlayer/Vendor/SwiftAudio/Classes/AVPlayerWrapper/AVPlayerWrapper.swift
index d17c936..acddef1 100755
--- a/node_modules/react-native-track-player/ios/RNTrackPlayer/Vendor/SwiftAudio/Classes/AVPlayerWrapper/AVPlayerWrapper.swift
+++ b/node_modules/react-native-track-player/ios/RNTrackPlayer/Vendor/SwiftAudio/Classes/AVPlayerWrapper/AVPlayerWrapper.swift
@@ -134,6 +134,11 @@ class AVPlayerWrapper: AVPlayerWrapperProtocol {

     func play() {
         avPlayer.play()
+
+         // workaround for state staying in ready state
+        if self._state == .ready {
+            self._state = .playing
+        }
     }

     func pause() {

Facing the same issue in version 3.1.0


Upgrade ReviewAppV0 to NodeJS16

Task name: ReviewAppV0
Description: Upgrade ReviewAppV0 to NodeJS16
Documentation changes required: N
Added unit tests: N
Attached related issue: N
Checklist:

[x] Task version was bumped - please check instruction how to do it
[x] Checked that applied changes work as expected

/azp run


[LIBCLOUD-839] IAM temporary credentials token support for ElasticLBDriver

Connect to AWS ELB using IAM role temporary credentials
Description
Current implementation of ElasticLBDriver driver doesn't support token parameter which is required for authentication using IAM temporary credentials.
Issue:
https://issues.apache.org/jira/browse/LIBCLOUD-839
Status
done, ready for review
Checklist (tick everything that applies)

[ ] Code linting (required, can be done after the PR checks)
[ ] Documentation
[ ] Tests
[ ] ICLA (required for bigger changes)

Thanks for the contribution.
The change looks good to me.

Merged, thanks!


Update generateMarkdown.ts

#1977

Sorry, just added the missing new line character in.

Thanks!