GIRAF - Legislation for communities

Project Abstract
We plan to build a system on top of Substrate that allows the creation and lobbying of laws in groups of different size: from small communities to a size of a country. It will be used in groups that lack legislation due to the small size of a group or in bigger societies to speedup the creation of a public consensus.
Grant level

[ ] Level 1:  Up to $10,000, 2 approvals
[x] Level 2:  Up to $30,000, 3 approvals
[ ] Level 3:  Unlimited, 5 approvals (for >$100k: Web3 Foundation Council approval)

Application Checklist

[x] The application template has been copied and aptly renamed ([project_name.md](http://project_name.md/)).
[x] I have read the application guidelines.
[x] A BTC, Ethereum (USDC/DAI) or Polkadot/Kusama (aUSD/USDT) address for the payment of the milestones is provided in the application.
[x] The software delivered for this grant will be released under an open-source license specified in the application.
[x] The initial PR contains only one commit (squash and force-push if needed).
[x] The grant will only be announced once the first milestone has been accepted (see the announcement guidelines).
[ ] I prefer the discussion of this application to take place in a private Element/Matrix channel. My username is: @[_______:matrix.org](http://_______:matrix.org/) (change the homeserver if you use a different one)

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.

Also could you still sign the latest terms and conditions (see CLA bot above)?

@Noc2 David, thank you very much for the prompt review. I've changed the 1st Milestone description to incorporate your suggestion about the substrate functionality. It's good idea to submit slon token to some EVM parachain to be able to make a bridge to our current ecosystem. However I'm not sure that we can maintain such bridge now, as our current implementation of SLON token is a native balance pallet of our parachain and the bridge is not our first in line target. The mentioned EVM slon token repo was used to make a first token release on Ethereum in 2019, then we switched to Polkadot and discontinued Ethereum version of the token.
I'm happy with your interest on our progress during this year. So let me update you what have been done since the finishing our previous web3 grant.

we've migrated the recommendation-letter-pallet to Substrate v4 to be able use it inside the parachain: updated pallet version, updated node
we've created a new UI compatible with polkadot.js wallet to use recommendation-letter-pallet. See repo and our current web-site
updated web site: https://slonigiraf.org/
migrated all our services to another cloud provider and orchestrate them as docker containers - not standalone servers as they were.
we've grown from a single person project to the 4 person team able to drive the project faster.

@Noc2 David, many thanks for pointing me to the description of Milestone 2. I've corrected it as you recommended.

A reminder to sign our T&C's (presented by the CLA bot above).

A reminder to sign our T&C's (presented by the CLA bot above).

@alxs is it signed now? I've used the button above.

@slonigiraf it doesn't look like it. You need to click on the link.

@slonigiraf it doesn't look like it. Please note that since reshetovdenis authored the first commit, he needs to sign it too.
Done)) many thanks!

hat will the other team members contribute to these milestones? It currently looks like only you are contributing to the project on GitHub

@Noc2 David, thank you very much for new questions. Our new team members mentioned in milestones are joining the project now and I'm trying to get money to pay for their future work. So if Web3 foundation will accept our grant application they will contribute to our Github. We think to split the work as following: Rust: Denis Reshetov and Aleksey Pastutsan; JavaScript: Ilya Moskvin, Aleksey Pastutsan and Denis Reshetov; Project management, UI/UX, documentation: Natalie Andreeva.
About UI - we are planning to develop React/Typescript modules that can be used in any Substrate based chain to interact with the Substrate module as it was done recently with other our pallet: source code and UI.
Do you mean that you recommend us instead create an UI that can't be directly integrated with polkadot.js/app, for example like this app?

@Noc2 David, I agree fork sounds confusing. Actually we plan to develop a module for polkadot.js not fork of it. You know that polkadot.js UI consists of modules, see page... in this repo. We plan to add a functionality by providing an additional page-giraf module. We did the same way recently with other our pallet: page-recommendations, UI.

@Noc2 David thank you very much for the review. We've incorporated the requested changes.

Thanks for integrating the changes and all the effort you put into this application. However, the grants committee isn’t willing to support the application, so I’m closing the PR. Independent of it, we wish you all the best for your project. Let me know if you have any questions.


Release 0.0.2

v0.0.2: Minor packaging fixes.
* Require NumPy as an install requirement.
* Attempt to fix an issue with Travis CI's deployment.

Hi! This is the friendly automated conda-forge-linting service.
I just wanted to let you know that I linted all conda-recipes in your PR (recipe) and found it was in an excellent condition.


BREAKING CHANGE:DPH Service updated. \n\n feat: drop dph 0.0.6 support

Service name updates in README file.
PR summary
DataProductHub API Service SDK updates
PR Checklist
Please make sure that your PR fulfills the following requirements:

[x] The commit message follows the Angular Commit Message Guidelines.
[ ] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] New tests
[ ] Build/CI related changes
[x] Documentation content changes
[ ] Other (please describe)

What is the current behavior?

What is the new behavior?

Does this PR introduce a breaking change?

[x] Yes
[ ] No

Other information

:tada: This PR is included in version 1.0.0 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Encode line protocol to UTF8

Encode line protocol to UTF8, make sure unicode (python 2) / str (python 3) with non-ASCII characters can be used in all places that allow it (measurement names, tag keys/values, field keys/values)
I'm pretty confident this change does not break existing usage of pytelegraf. Previously, using any non-ASCII data in either str/unicode/bytes data type would either crash in format_value or at last in TelegrafClient.send where an attempt to encode it to ASCII was made.

Can you please resolve the conflict

Sure, resolved.

Thanks again for this @sbi


Set additional (Eurobench) entry points

In the line of the complete Eurobench Entry point, I could create other entry points for cases where the user may not have all optional files. I wanted to check with you which are the relevant cases, as it may not make sense to handle all possible combinations.

The minimum parameters are model, pos, gait
The complete case adds vel, acc, torque, left and right reaction forces

Which would be in your opinion possible subset of parameters? Like one without the reaction forces, and another without reaction forces & torques?
Another option could be preparing an entry point per metric, based on the _required information each of your PIs contain, and eventually gathering in a single entry point all which requires same input parameters.  I can work on this as well.

ping @flxalr


android Could not determine the dependencies of task  app:mergeDebugNativeLibs

I followed the instructions on https://docs.beeware.org/en/latest/tutorial/tutorial-5/android.html, and when I execute briefcase build android after briefcase create android, I got the following errors.
(beeware-venv) D:\code\python\beeware-tutorial\helloworld>briefcase create android

[helloworld] Generating application template...
Using app template: https://github.com/beeware/briefcase-android-gradle-template.git, branch 3.8
Using existing template (sha 97d59ef36678719a58c487cb2705b3d617f2caec, updated Sat Jun  5 14:12:50 2021)

[helloworld] Installing support package...
Using support package https://briefcase-support.org/python?platform=android&version=3.8
... using most recent revision
Python-3.8-Android-support.b3.zip already downloaded
Unpacking support package...

[helloworld] Installing dependencies...
Collecting toga-android>=0.3.0.dev20
  Using cached toga_android-0.3.0.dev27-py3-none-any.whl (26 kB)
Collecting rubicon-java>=0.2.2
  Using cached rubicon_java-0.2.5-py3-none-any.whl (23 kB)
Collecting toga-core==0.3.0.dev27
  Using cached toga_core-0.3.0.dev27-py3-none-any.whl (487 kB)
Collecting travertino>=0.1.3
  Using cached travertino-0.1.3-py3-none-any.whl (15 kB)
Installing collected packages: travertino, toga-core, rubicon-java, toga-android
Successfully installed rubicon-java-0.2.5 toga-android-0.3.0.dev27 toga-core-0.3.0.dev27 travertino-0.1.3

[helloworld] Installing application code...
Installing src/helloworld...

[helloworld] Installing application resources...
Unable to find 48px round variant for application icon; using default
Unable to find 72px round variant for application icon; using default
Unable to find 96px round variant for application icon; using default
Unable to find 144px round variant for application icon; using default
Unable to find 192px round variant for application icon; using default
Unable to find 48px square variant for application icon; using default
Unable to find 72px square variant for application icon; using default
Unable to find 96px square variant for application icon; using default
Unable to find 144px square variant for application icon; using default
Unable to find 192px square variant for application icon; using default

[helloworld] Created android\gradle\Hello World

(beeware-venv) D:\code\python\beeware-tutorial\helloworld>briefcase build android
[helloworld] Building Android APK...

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':app:mergeDebugNativeLibs'.
> Invalid revision: 3.18.1-g262b901-dirty

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 8s

Error while building project.

(beeware-venv) D:\code\python\beeware-tutorial\helloworld>

I even tried to clean the android project, but still got errors.
(beeware-venv) D:\code\python\beeware-tutorial\helloworld\android\gradle\Hello World>gradlew clean
> Task :app:externalNativeBuildCleanDebug FAILED

FAILURE: Build failed with an exception.

* What went wrong:
Execution failed for task ':app:externalNativeBuildCleanDebug'.
> Invalid revision: 3.18.1-g262b901-dirty

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 5s
2 actionable tasks: 1 executed, 1 up-to-date

(beeware-venv) D:\code\python\beeware-tutorial\helloworld\android\gradle\Hello World>gradlew assembleDebug

FAILURE: Build failed with an exception.

* What went wrong:
Could not determine the dependencies of task ':app:mergeDebugNativeLibs'.
> Invalid revision: 3.18.1-g262b901-dirty

* Try:
Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

* Get more help at https://help.gradle.org

BUILD FAILED in 3s

(beeware-venv) D:\code\python\beeware-tutorial\helloworld\android\gradle\Hello World>

I have the updated the latest android sdk.

close due to transfer to https://github.com/beeware/briefcase-android-gradle-template/issues/31


Use force directed layout for categorical variables

Does this PR close any open issues?
No
Give a longer description of what this PR addresses and why it's needed
This PR makes the categorical layout use the force directed layout for jittering the nodes of one group. This means that the nodes are no longer overlapping each other when rendering in this manner.
Provide pictures/videos of the behavior before and after these changes (optional)
I find this so satisfying:
https://user-images.githubusercontent.com/36867477/177649981-fe40bf4a-1be2-4852-959d-bd809b4facd3.mp4
Are there any additional TODOs before this PR is ready to go?
TODOs:

[x] Fix weird behavior with forces returning wrong value on first application
[x] Fix charge force on closer layouts by removing it

This is awesome! One comment: the labels switch off automatically when switching to categorical layout. Is that intentional? It might not be necessary in this case.


prepare release-0.93.1

Description:

Included a small makefile update so CHANGELOG.md content is validated after it is generated.
Needed to add a note in CHANGELOG.md about a certmanager issue affecting previous releases.

Let's include this one https://github.com/signalfx/splunk-otel-collector-chart/pull/1162

Please rerun now that #1162 is merged


API style: avoid semantics in IDs

Sean writes:

For RNA cells, there will be two clusters, following those two patterns.  For ATAC cells, there will be one cluster, following the pattern leiden-UMAP-{uuid}-#.  For CODEX cells, there will be several clusters, following the pattern {cluster_method}-{cluster_data}-{dataset_uuid}-{tile}-#.

It's a bad idea to encode semantics in IDs: It looks like the data is right there, but it's too easy for developers on the backend to add new variations without clearly communicating the interface change, and it's too easy for developers on the frontent to make bad assumptions about the strings they see, and to write buggy regexes.
For example, in this case, what will the behavior be when/if cell types are available? Will the code we write now handle it?
I'd suggest that in this case instead of returning a list of IDs, it should be something more like a JSON object whose keys are the cluster families, and whose values could be the ID you are returning right now.

I strongly second @mccalluc's proposal. I had exactly the same concern and would prefer a solution where the details about the method are in a separate data structure rather than encoded in the name of the field.
That separate data structure could contain a full, human-readable name for the clustering/cell type assignment method and even a description, it could also include a type of flag to indicate that "cell sets" represent cell types.


Training loss: 0.000000；SDR value remains unchanged.

Hello, author, why is the SDR the same for every epoch after 60 epochs of training using the musdb18hq dataset, and the training loss remains 0 all the time? I used the following command:

python train.py --model_type htdemucs --config_path configs/config_musdb18_htdemucs.yaml  --results_path results/model1.ckpt  --data_path '/data2/fjy/demucs-main/musdbhq/train' --valid_path /data2/fjy/demucs-main/musdbhq/test --device_ids 0

What is your batch_size for training?

My batch_size is 1

It's not possible for current loss functin. Batch size must be at least 2.

Sorry,this file

Should I simply set the batch_size to 2?

Should I simply set the batch_size to 2?

It's better to find maximum which still fit in your GPU memory

How can I use two GPUs for training?

Add parameter in comand line: --device_ids 0 1 2 3 - and list number of GPUs you want to use.

Thank you!!


[Wayland] Contex menus don't work anymore in statusnotifier widget

As the title says, the context menu of the StatusNotifier widget no longer works.Before it worked in wayland (in X11 it still works)

Interesting.
I don't use Wayland so hadn't seen this but I suspect it's due to the changes that were made recently to how we handle certain window types.
I susoect any fix would be at the qtile level, rather than in this repo.

Hmm. Having tested it. Context menu works for me  Tested with both vlc and remmina.

Okay.  I tried with Steam and OBS, later when I get home from work I'll try with your 2 applications.  Maybe it stopped working with apps that use Xwayland

vlc and remmina doesn't even show the icons in my StatusNotifier config, neither Wayland nor X11.
Now in obs it does show the context menu, but in steam it doesn't and when I click on the icon it shows me this message
2022-03-04 23:18:42,162 ERROR libqtile loop.py:_handle_exception():L63 division by zero Traceback (most recent call last):   File "/usr/lib/python3.9/asyncio/events.py", line 80, in _run     self._context.run(self._callback, *self._args)   File "/usr/local/lib/python3.9/dist-packages/qtile_extras-0.1.0-py3.9.egg/qtile_extras/widget/statusnotifier.py", line 231, in parse_menu     callback(menu)   File "/usr/local/lib/python3.9/dist-packages/qtile_extras-0.1.0-py3.9.egg/qtile_extras/widget/statusnotifier.py", line 373, in display_menu     self.menu = PopupMenu.from_dbus_menu(self.qtile, menu_items, **self.menu_config)   File "/usr/local/lib/python3.9/dist-packages/qtile_extras-0.1.0-py3.9.egg/qtile_extras/popup/menu.py", line 188, in from_dbus_menu     return cls.generate(qtile, menuitems, **config)   File "/usr/local/lib/python3.9/dist-packages/qtile_extras-0.1.0-py3.9.egg/qtile_extras/popup/menu.py", line 212, in generate     return cls(qtile, controls=menuitems, **menu_config)   File "/usr/local/lib/python3.9/dist-packages/qtile_extras-0.1.0-py3.9.egg/qtile_extras/popup/menu.py", line 146, in __init__     PopupGridLayout.__init__(self, qtile, controls=controls, **config)   File "/usr/local/lib/python3.9/dist-packages/qtile_extras-0.1.0-py3.9.egg/qtile_extras/popup/toolkit.py", line 398, in __init__     self._width = self.rows * round((self.width - 2 * self.margin) / self.rows) ZeroDivisionError: division by zero

And this is a general log, from my Qtile
2022-03-04 23:06:23,113 ERROR libqtile loop.py:_handle_exception():L63 invalid object path: org.kde.StatusNotifierItem-2880-2 Trace (most recent recent calls):   File "/usr/lib/python3.9/asyncio/events.py", line 80, in _run     self._context.run(self._callback, *self._args)   File "/usr/local/lib/python3.9/dist-packages/libqtile/widget/statusnotifier.py", line 480, in item_added     success = future.result()   File "/usr/local/lib/python3.9/dist-packages/libqtile/widget/statusnotifier.py", line 97, at start     introspect = expect self.bus.introspect(self.service, self.path)   File "/usr/local/lib/python3.9/dist-packages/dbus_next/aio/message_bus.py", line 214, in introspection     super().introspect(bus_name, route, answer_handler)   File "/usr/local/lib/python3.9/dist-packages/dbus_next/message_bus.py", line 204, in introspection     Message(destination=bus_name,   File "/usr/local/lib/python3.9/dist-packages/dbus_next/message.py", line 92, in __init__     assert_object_path_valid(auto.path)   File "/usr/local/lib/python3.9/dist-packages/dbus_next/validators.py", line 153, in assert_object_path_valid     raise InvalidObjectPathError(path) dbus_next.errors.InvalidObjectPathError: invalid object path: org.kde.StatusNotifierItem-2880-2 2022-03-04 23:07:37,909 WARNING libqtile lifecycle.py:_atexit():L37 Qtile will now terminate 2022-03-04 23:07:48,850 WARNING libqtile prompt.py:_configure():L429 Prompt widget only supports audible chime on X11 2022-03-04 23:07:48,850 WARNING libqtile tasklist.py:_configure():L294 Tasklist icons are not supported in Wayland. 2022-03-04 23:09:47,211 WARNING libqtile prompt.py:_configure():L429 Prompt widget only supports audible chime on X11 2022-03-04 23:09:47,211 WARNING libqtile tasklist.py:_configure():L294 Tasklist icons are not supported in Wayland. 2022-03-04 23:12:42,298 WARNING libqtile prompt.py:_configure():L429 Prompt widget only supports audible chime on X11 2022-03-04 23:12:42,299 WARNING libqtile tasklist.py:_configure():L294 Tasklist icons are not supported in Wayland.

Thanks for posting more info.
I tried installing obs and steam and the menus work on both of them for me.
Your first error is interesting as it suggests that there are no menu items. I don't think the code currently handles that possibility so I can try adding something there. However, as above, the menus work for me so I'm not sure this is the problem.

I've pushed a change that will stop the widget trying to create a menu when there are no menu items. You could see if that makes any difference here.

I've pushed a change that will stop the widget trying to create a menu when there are no menu items. You could see if that makes any difference here.

Update the repository and do not notice any changes. Also as you say, maybe it's more because of the qtile code, since I'm always updating it and it worked before.
Also do not worry about this issue, but it would be nice if they could incorporate part of the code of your StatusNotifier widget to the official Qtile since yours has context menus, in order to improve it

It will never be merged into the main repo as there's too much extra code required.
If the menus worked before, can you try doing a git bisect? Again, I'm dubious if that would work because I can't replicate this

I update all pip packages and steam context menu and obs started working. But I have to restart qtile with mod+ctrl+r for it to work. I guess it's some problem with the qtile bar, because sometimes when I move the mouse up in some widget the pointer disappears. Also for the mouse pointer to appear I have to have a window open, but that is already a problem of qtile with wayland. So I'm going to close this issue. Thank you very much

I install nm-tray (QT app) and give me this error in the log file
Traceback (most recent call last):   File "/usr/lib/python3.9/asyncio/events.py", line 80, in _run     self._context.run(self._callback, *self._args)   File "/usr/local/lib/python3.9/dist-packages/libqtile/widget/statusnotifier.py", line 480, in item_added     success = future.result()   File "/usr/local/lib/python3.9/dist-packages/libqtile/widget/statusnotifier.py", line 97, in start     introspection = await self.bus.introspect(self.service, self.path)   File "/usr/local/lib/python3.9/dist-packages/dbus_next/aio/message_bus.py", line 214, in introspect     super().introspect(bus_name, path, reply_handler)   File "/usr/local/lib/python3.9/dist-packages/dbus_next/message_bus.py", line 204, in introspect     Message(destination=bus_name,   File "/usr/local/lib/python3.9/dist-packages/dbus_next/message.py", line 92, in __init__     assert_object_path_valid(self.path)   File "/usr/local/lib/python3.9/dist-packages/dbus_next/validators.py", line 153, in assert_object_path_valid     raise InvalidObjectPathError(path) dbus_next.errors.InvalidObjectPathError: invalid object path: org.kde.StatusNotifierItem-1771-1
An this in the app (i launched by kitty)
QSystemTrayIcon::setVisible: No Icon set QDBusTrayIcon encountered a D-Bus error: QDBusError("org.freedesktop.DBus.Error.NoReply", "Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.")
I re-open the issue. If you want, feel free to close it. Thank you

The second error message is hopefully fixed by https://github.com/qtile/qtile/pull/3434
I've installed nm-tray from the AUR but can't get it to run. Get an error No Icon Set. This happens because they don't provide any fallback icons. There's an unmerged PR that fixes this so I may have to build it manually unless you know how to fix that (the fix in https://github.com/palinek/nm-tray/issues/40 didn't work for me).

OK. Built from git with their PR to add fallback icons.
Menus work for me on both.

Yes, I am using the latest version.  When I get off work I'll update qtile with the latest changes

I have applied the changes in Qtile, in my case nm-tray still does not show the icon in the system tray, but icons that were not shown before like VLC now do.
The context menus for which I made this issue now work, but first I have to restart qtile with mod4+Ctrl+R for them to do so.

You really shouldn't have to restart. Do any of your widgets respond to mouse clicks before restarting?

No, the mouse does not respond to clicks before restart

Can you check if the same thing happens if you remove the status notifier widget. If it does, post an issue on the qtile repo instead and we'll take a look.


[FLINK-5928] [checkpoints] Use custom metadata file for externalized checkpoints

Adds a checkpoint coordinator test for externalized checkpoints. This was covered only in unit tests for the involved checkpoint components like PendingCheckpoint etc. This would have caught the issue.
The fix is to not use a _metadata but a random checkpoint_metadata-:randomSuffix file for externalized checkpoints, because they are not unique per configured directory. Hopefully, we can get rid of this soon with @StephanEwen's refactorings.

This is based on top of #3411, which is already good to merge.

Thanks, good and critical fix!
Looking at this...

Looks good, merging this...


Add notification for low fishing trawler activity

Implements the first part of #5272

Needs rebasing

Also, this sents the notif only once per game? what if you raise your activity and it goes down again

As soon as your activity raises above the threshold or you leave the trawler regions, the notification sent flag is set to false again

rebased


Move all related code generation to this repo

Current Sysl Version
currently the following is needed to generate code:
sysl codegen --transform transforms/svc_client.sysl --grammar grammars/go.gen.g --start goFile  -outdir=output --app-name Simple model/1_project.sysl
These transforms and grammars should be included in this repo and used by default and use sysl modules
Use-cases
This could simplify the command to something like:
sysl codegen --language=go --app-name Simple model/1_project.sysl

I disagree. transforms should not be implicitly built into the sysl repo


Hoist key mutexes from every command impls to Connection::ExecuteCommand

Search before asking

[X] I had searched in the issues and found no similar issues.

Motivation
We can remove all key-level mutex locking operations in command implementation and handle them uniformly in Connection::ExecuteCommand.
In this way, we can handle transaction support of scripts, index, etc. more easily.
Solution
No response
Are you willing to submit a PR?

[ ] I'm willing to submit a PR!

I am trying to move the operation of the lock key from ExecuteCommand to ExecuteCommands because I realized that the index might also need to be locked. If cmd_flags contains the kCmdWrite flag, I will use attributes->ForEachKeyRange to get all the keys that need to be locked and lock these keys together with MultiLockGuard.
What I want to confirm is whether the keys obtained in this way do indeed correspond to those that need to be locked, and if there are any redundancies or omissions?
Furthermore, after some attempts, I found that the locking for certain methods depends on the method's parameters. Since the locks are now uniformly applied within ExecuteCommands, we may need to unlock them based on the inverse conditions.
rocksdb::Status String::MSet(engine::Context &ctx, const std::vector<StringPair> &pairs, uint64_t expire_ms,
                             bool lock) {
  // Data race, key string maybe overwrite by other key while didn't lock the keys here,
  // to improve the set performance
  std::optional<MultiLockGuard> guard;
  if (lock) {
    std::vector<std::string> lock_keys;
    lock_keys.reserve(pairs.size());
    for (const StringPair &pair : pairs) {
      std::string ns_key = AppendNamespacePrefix(pair.key);
      lock_keys.emplace_back(std::move(ns_key));
    }
    guard.emplace(storage_->GetLockManager(), lock_keys);
  }

This has raised a few questions that need to be considered:

We do not pass the LockGuard object but instead unlock through the LockManager. When unlocking, there is no association between the two, which could lead to the LockGuard being unlocked multiple times due to repeated calls. Should we pass the LockGuard or establish some kind of association mechanism?
Would directly unlocking individual or partial keys via the LockManager violate the requirements for the order of unlocking? I noticed that MultiLockGuard has a specific requirement for the order of unlocking

  ~MultiLockGuard() {
    // Lock with order `A B C` and unlock should be `C B A`
    for (auto iter = locks_.rbegin(); iter != locks_.rend(); ++iter) {
      (*iter)->unlock();
    }
  }

For MSet, it's quite easy, the lock parameter is just for reuse MSet in other functions (e.g. maybe it's already locked in other methods so it shouldn't lock again while calling MSet), if we move them to ExecuteCommands we can just remove these parameters.
For RangeByRank, you can see that for commands like ZREMRANGEBYRANK, with_deletion is true, and for commands like ZRANGE, it's false. So it doesn't affect this part, we can just check if the command is with a "write" flag.
For some more complicated commands which is an "optionally-write" command, e.g. it can be "write" in some cases (some arguments are provided by users), we should model it via a runtime flag generator mechanism here.


SC offer finalization fix [#164568935]

change finalize offer in Holding SC
adapt offer related SC tests

This branch needs to be merged into release/v.2.0.50 branch.


chinese charset not show right

<EMAIL_ADDRESS>commented:

Which version of PhantomJS are you using?
1.2
What steps will reproduce the problem?
1.phanthomjs examples/render_multi_url.js www.sohu.com
2.see generated www.sohu.com.cn.png
3.can't not render chinese charset
What is the expected output? What do you see instead?
render chinese charset right
Which operating system are you using?
windows xp sp3
Did you use binary PhantomJS or did you compile it from source?
1.2
Please provide any additional information below.

Disclaimer:
This issue was migrated on 2013-03-15 from the project's former issue tracker on Google Code, Issue #164.
:star2:   10 people had starred this issue at the time of migration.

PhantomJS 2.0 includes a major update to Webkit that may well have solved this problem, and I cannot reproduce it (on Debian) with any of the suggested test URLs.  It's possible that there is still a problem with some combination of character encodings and fonts, but I'm going to go ahead and close this issue.  If you are still having this problem, please file a new issue and be specific about what website, what characters, and what fonts are involved.

Had a similar issue on Ubuntu; installing the Chinese fonts such as described in this link, helped me out
https://en.wikipedia.org/wiki/Help:Multilingual_support_(East_Asian)
sudo apt-get install fonts-arphic-ukai fonts-arphic-uming fonts-ipafont-mincho fonts-ipafont-gothic fonts-unfonts-core

@vaneri Yes, PhantomJS doesn't bundle any fonts.

Is there a way to bundle font in phantomjs ?

@vaneri We don't have any way to do that right now.  I think it's possible, but it would be a big chunk of new code to write.  I don't think any of us has time to do it anytime soon, sorry.

thanks for the info @zackw ;)

I think we can extend our qpa plugin with this feature (or by this http://doc.qt.io/qt-5/qfontdatabase.html#addApplicationFont). i.e. add a custom option to specify font folders. But this is a just my guess.

I've the same issue, no system chinese fonts, but even when i import some custom fonts including chinese glyphs it doesn't work.
E.g. I import 2 fonts from typekit, regular alphabet works fine, chinese doesn't

Hi, While being export to pdf using phantomJS, some of the Chinese characters are missing. Can you help on this?

The best is to check if the font are installed on your OS; it must be the
issue ;)
On Thu, Sep 21, 2017 at 9:24 AM, koodalingam<EMAIL_ADDRESS>wrote:

Hi, While being export to pdf using phantomJS, some of the Chinese
characters are missing. Can you help on this?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/ariya/phantomjs/issues/10164#issuecomment-331074318,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AFXq5R4XyZ-UwyZWPYfsd-6DKokzVYnPks5skg8QgaJpZM4AsZbc
.

Thanks for the reply. Required fonts are installed on my OS. Example, the HTML content has

Simple 中国是东亚人口众多的国家，其广阔的景观包括草原。

Its output was Simple 中国是东  人口众多的国家，其广阔的景观包括草. Here 亚 is replaced by space.


Disable on startup

Hello. Can i disable signs on startup and just toggle it when I need? Can't find disable option in readme...

Just call setup when you need it.

Just call setup when you need it.

Could you please print the command for gs map for example?
How can I map it? Sorry I'm not good in lua...

The command would just be:
:lua require(gitsigns).setup()

Run this command and gitsigns will run and attach to all open buffers.

I don't know, it's not something I've ever looked into or even thought about.
Why don't you just use :Gitsigns toggle_signs instead?

signcolumn=false

Yep! This is exactly what I need. Thanks. Close issue.


Android toolchains find local includes

After the CMake 3.7.1+ codepath change for Android toolchains, they all stopped working.
Specifically, it was finding local include paths (/usr/include), which were then finding local arch-specific includes and causing the compilation to fail.
This affects all hunter/polly compiles for Android so I am not sure how anyone has this working. It even affects a fresh install for me.
Anyway, the fix was to add this to os/android.cmake (or the Android toolchain):
set(CMAKE_FIND_ROOT_PATH_MODE_INCLUDE ONLY)
I can now successfully compile Android with latest CMake + Hunter + Polly with GCC or Clang.
Thanks.

so I am not sure how anyone has this working

Just for your info here is an succesful builds of OpenCV/Boost on Travis CI:

https://travis-ci.org/ingenue/hunter/jobs/217544451
https://travis-ci.org/ingenue/hunter/jobs/217998884

it was finding local include paths (/usr/include)

3rd party management is out of the scope of Polly toolchains. If project with no dependencies works fine with Polly, then Polly is correct. 3rd party management is Hunter responsibility.

Anyway, the fix was to add this to os/android.cmake (or the Android toolchain)

We are using standard CMake variables now so I prefer not to add any extra variables for no strong reason.


Packit is interpreting string as dict

What happened? What is the problem?
If I give packit the following config:
# https://packit.dev/docs/configuration/

specfile_path: fido-device-onboard.spec

files_to_sync:
    - fido-device-onboard.spec
    - .packit.yaml

upstream_package_name: fido-device-onboard
downstream_package_name: fido-device-onboard

upstream_tag_template: v{version}
copy_upstream_release_description: true

srpm_build_deps:
- cargo

actions:
  create-archive:
  - "cargo vendor vendor"
  - "rm -rf vendor/winapi/src/*"
  - "touch vendor/winapi/src/lib.rs"
  - "rm -rf vendor/winapi-x86_64-pc-windows-gnu/lib/*"
  - "rm -rf vendor/winapi-i686-pc-windows-gnu/lib/*"
  - "rm -rf vendor/vcpkg/test-data"
  - bash -c "tar cJf fido-device-onboard-rs-$(git rev-parse HEAD)-vendor-patched.tar.xz vendor/"
  - bash -c "ls -1 ./fido-device-onboard-rs-$(git rev-parse HEAD)-vendor-patched.tar.xz"
  fix-spec-file:
  - bash -c "sed -i -r \"s/Release:(\s*)\S+/Release:$(git rev-parse HEAD)%{?dist}/\" fido-device-onboard.spec"
  - bash -c "sed -i -r \"s/Version:(\s*)\S+/Version:$(git rev-parse HEAD)/\" fido-device-onboard.spec"
  - bash -c "sed -i -r \"s/Source0:(\s*)\S+/Source0: https:\/\/github.com\/fedora-iot\/fido-device-onboard-rs\/archive\/$(git rev-parse HEAD).tar.gz/\" fido-device-onboard.spec"

jobs:
- job: copr_build
  trigger: pull_request
  targets:
  - centos-stream-9-aarch64
  - centos-stream-9-x86_64
  - fedora-development-aarch64
  - fedora-development
- job: copr_build
  trigger: commit
  branch: main
  owner: "@fedora-iot" # copr repo namespace
  project: fedora-iot  # copr repo name so you can consume the builds
  targets:
  - centos-stream-9-aarch64
  - centos-stream-9-x86_64
  - fedora-development-aarch64
  - fedora-development

when parsing
  - bash -c "sed -i -r \"s/Source0:(\s*)\S+/Source0: https:\/\/github.com\/fedora-iot\/fido-device-onboard-rs\/archive\/$(git rev-parse HEAD).tar.gz/\" fido-device-onboard.spec"

it gives me the following error
2023-11-30 11:23:07.039 utils.py          ERROR  Preparation of the repository for creation of an SRPM failed: Expecting 'str' or 'list' as a command, got '<class 'dict'>'. The value: {'bash -c "sed -i -r \\"s/Source0:(\\s*)\\S+/Source0': 'https:\\/\\/github.com\\/fedora-iot\\/fido-device-onboard-rs\\/archive\\/$(git rev-parse HEAD).tar.gz/\\" fido-device-onboard.spec"'}
Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/packit/api.py", line 1508, in prepare_sources
    self.up.prepare_upstream_for_srpm_creation(
  File "/usr/lib/python3.12/site-packages/packit/upstream.py", line 617, in prepare_upstream_for_srpm_creation
    SRPMBuilder(upstream=self, ref=upstream_ref).prepare(
  File "/usr/lib/python3.12/site-packages/packit/upstream.py", line 1163, in prepare
    self._fix_specfile_to_use_local_archive(
  File "/usr/lib/python3.12/site-packages/packit/upstream.py", line 1140, in _fix_specfile_to_use_local_archive
    if self.upstream.with_action(action=ActionName.fix_spec, env=env):
       ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/packit/base_git.py", line 305, in with_action
    commands_to_run = self.get_commands_for_actions(action)
                      ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/packit/base_git.py", line 274, in get_commands_for_actions
    raise ValueError(
ValueError: Expecting 'str' or 'list' as a command, got '<class 'dict'>'. The value: {'bash -c "sed -i -r \\"s/Source0:(\\s*)\\S+/Source0': 'https:\\/\\/github.com\\/fedora-iot\\/fido-device-onboard-rs\\/archive\\/$(git rev-parse HEAD).tar.gz/\\" fido-device-onboard.spec"'}

The above exception was the direct cause of the following exception:

Traceback (most recent call last):
  File "/usr/lib/python3.12/site-packages/packit/cli/utils.py", line 47, in covered_func
    func(config=config, *args, **kwargs)  # noqa: B026
    ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib/python3.12/site-packages/packit/cli/utils.py", line 143, in covered_func
    func(*args, **decorated_func_kwargs)
  File "/usr/lib/python3.12/site-packages/packit/cli/prepare_sources.py", line 187, in prepare_sources
    api.prepare_sources(
  File "/usr/lib/python3.12/site-packages/packit/api.py", line 1515, in prepare_sources
    raise PackitSRPMException(
packit.exceptions.PackitSRPMException: Preparation of the repository for creation of an SRPM failed: Expecting 'str' or 'list' as a command, got '<class 'dict'>'. The value: {'bash -c "sed -i -r \\"s/Source0:(\\s*)\\S+/Source0': 'https:\\/\\/github.com\\/fedora-iot\\/fido-device-onboard-rs\\/archive\\/$(git rev-parse HEAD).tar.gz/\\" fido-device-onboard.spec"'}
2023-11-30 11:23:07.043 local_project.py  DEBUG  Cleaning: /tmp/tmpns3hpdrr
2023-11-30 11:23:07.256 local_project.py  DEBUG  Cleaning: /tmp/tmpns3hpdrr
Finish: chroot ['su - mockbuild -c \'set -xe ; cd /workdir ; COPR_OWNER=packit COPR_PROJECT=fdo-rs-fido-device-onboard-rs-582 COPR_PACKAGE=\'"\'"\'\'"\'"\' COPR_RESULTDIR=/workdir /script\'']
Finish: run
Traceback (most recent call last):
  File "/usr/bin/copr-sources-custom", line 115, in <module>
    run_cmd(mock + ['--chroot', 'su - {0} -c {1}'.format(user, cmd)])
  File "/usr/bin/copr-sources-custom", line 64, in run_cmd
    return subprocess.check_call(command, **kwargs)
           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
  File "/usr/lib64/python3.11/subprocess.py", line 413, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['mock', '-r', '/var/lib/copr-rpmbuild/results/mock-config.cfg', '--chroot', 'su - mockbuild -c \'set -xe ; cd /workdir ; COPR_OWNER=packit COPR_PROJECT=fdo-rs-fido-device-onboard-rs-582 COPR_PACKAGE=\'"\'"\'\'"\'"\' COPR_RESULTDIR=/workdir /script\'']' returned non-zero exit status 2.
Copr build error: Build failed

aka, it is interpreting
{'bash -c "sed -i -r \\"s/Source0:(\\s*)\\S+/Source0': 'https:\\/\\/github.com\\/fedora-iot\\/fido-device-onboard-rs\\/archive\\/$(git rev-parse HEAD).tar.gz/\\" fido-device-onboard.spec"'}

as a dict instead of a string.
What did you expect to happen?
I expect the bash command line code to be executed in the same way that it does when you run it from the command line.
Example URL(s)
Logs: https://dashboard.packit.dev/results/srpm-builds/195851
Steps to reproduce
Provided with the example of the bug.

Workaround

[ ] There is an existing workaround that can be used until this issue is fixed.

Participation

[ ] I am willing to submit a pull request for this issue. (Packit team is happy to help!)

hi @7flying ! When I tried parsing the provided snippet in online parser, I got the same error, so this doesn't look like an issue of Packit. With the fix-spec-file section like this the parsing works as expected:
  fix-spec-file:
  - bash -c "sed -i -r \"s/Release:(\s*)\S+/Release:$(git rev-parse HEAD)%{?dist}/\" fido-device-onboard.spec"
  - bash -c "sed -i -r \"s/Version:(\s*)\S+/Version:$(git rev-parse HEAD)/\" fido-device-onboard.spec"
  - |
   bash -c "sed -i -r \"s/Source0:(\s*)\S+/Source0: https:\/\/github.com\/fedora-iot\/fido-device-onboard-rs\/archive\/$(git rev-parse HEAD).tar.gz/\" fido-device-onboard.spec"


make JSON output be JSONlines, stepping stone to #766

Depends on #765 to get the sequence number and function call string into the function call record.
Make toascii output be jsonlines.  Each Vulkan command (and later, command block in the capture file) would be a single JSON record, with no newlines so they would be each on one line.  Remove the leading { and trailing } we have now and remove the , we add after each record.

Would be good to get an attribute (key) in the top level object on each line identifying the line as a Vulkan function call. Then a downstream tool looking out for calls could gracefully skip lines we add later.
E.g.
...
{ "type"="call", "index"=11, "name"="vkEnumeratePhysicalDevices", ... }
{ "type"="call", "index"=12, "name"="vkGetPhysicalDeviceProperties", ... }
...

Noting here that our dev branch already has some of what we need in the ability to put each call on one line with the following tiny change:
diff --git a/framework/util/to_string.h b/framework/util/to_string.h
index 54fd03e..5487964 100644
--- a/framework/util/to_string.h
+++ b/framework/util/to_string.h
@@ -36,7 +36,7 @@ enum ToStringFlagBits
 {
     kToString_Unformatted = 0,
     kToString_Formatted   = 1,
-    kToString_Default     = kToString_Formatted,
+    kToString_Default     = kToString_Unformatted,
 };

This change drops the size of one example 3.7GB toascii output down to 2.6GB.

This was fixed by PR 811: https://github.com/LunarG/gfxreconstruct/pull/811


R matrix values

Hi Daryl,
i have gone through the approach and most of the things i am able to understand. But i am not able to figure out the R matrix values. Can you please explain how you got those values in the matrix. i.e what rotations are done along which axes to get that matrix.
It would be really helpful if i get how you got that matrix, so that i can make necessary changes for my dataset.
Thanks
Best Regards
Tahera

Hi,
Can you point me to which script you are referring to.

Ipm -> utils.py -> line 77 -> R matrix values

Thanks for this issue. I realize there was a bug in the matrix. I have updated it. It follows the coordinate system according to https://www.mathworks.com/help/driving/ug/coordinate-systems.html
Let me know if you are still having trouble understanding

Hi,
Actually with previous R matrix itselfi was getting correct top view, but i didn't understand how u derived that matrix. I tried with this new matrix that you updated yesterday, its not giving proper top view.
Can you please look into this.
Best regards
Tahera

R is derived by the change from vehicle coordinate to camera coordinate. Which is similar to the link above. Is the coordinate system you have similar to the one I am using?


backport: merge bitcoin#27653, #24748, #29352, #29372, #29460, #29358, #29511, #29390, #29431, bitcoin-core/gui#788 (BIP324 backports: part 4)

Additional Information

Depends on https://github.com/dashpay/dash/pull/6329

Dash-specific P2P messages have been allocated short IDs after 128 based on a prior suggestion (source) as there are 255 potential short IDs (ID 0 is reserved for V1 fallback, source) and upstream uses 28 short IDs (though Dash has left ID 5 blank as we do not implement the FEEFILTER message, source).
As it is unlikely that upstream will utilize more than 127 short IDs (and the spec refers to IDs after 32 as "undefined", source), there shouldn't be an adverse effect to utilizing IDs >=128. The unified array of short IDs are accessible through V2ShortIDs().

As there are checks to see if an ID can be valid by checking against the array size (which wouldn't work here as we create an array of 256 entries combining both upstream and Dash's allocated short IDs, filling the rest with blank values and we cannot ignore blank values to know if a value is unallocated as the blanking could also signal a reservation, source), such a check needs to be done by using IsValidV2ShortID().
V2ShortIDs() isn't as elegant as desired as std::fill and std::copy are not constexpr until C++20 (source, source) and until we drop C++17 support, we have to be mindful of that.

masternode connect will now attempt to establish a P2Pv2 connection if the node initiating the connection has opted-in using the new argument (v2transport) and the node was started with P2Pv2 enabled (using the launch argument, -v2transport).
This mirrors changes to behavior to addconnection introduced in bitcoin#24748

The oversized payload test in p2p_invalid_messages.py will expect an excessively large message of size of 3145729 bytes (and in P2Pv2, 3145742 bytes), as opposed to upstream's 4000001 and 4000014 bytes respectively as Dash has a lower protocol limit of 3MiB (source) vs Bitcoin's 4MB (source)

Breaking Changes
None expected.
Checklist:

[x] I have performed a self-review of my own code
[x] I have commented my code, particularly in hard-to-understand areas
[x] I have added or updated relevant unit/integration/functional/e2e tests
[x] I have made corresponding changes to the documentation (note: N/A)
[x] I have assigned this pull request to a milestone (for repository code-owners and collaborators only)

changes looks good but needs rebase on latest develop now

also, I tested it a bit and it seems to be working with no issues on testnet 👍


Process finished with exit code -1073741819 (0xC0000005)

This is my simple coding:-
import tensorflow as tf
print("Hi");
output
Process finished with exit code -1073741819 (0xC0000005)
The "Hi" is not printed. I searched online for this issue, but seems like none of the people has this, so it has been bugging me for few days.
No GPU involved, just the CPU version of tensorflow.
I tried v1.13, v1.12, v1.11, and v.1.10, all gave the me the same issue.
I tried with python 3.5., 3.6., and 3.7.*, also same result.
Tried with LiClipse, PyCharm, Atom, all gave the same result as well.
Windows 10 x64.
It works before, but suddenly one day it didn't work anymore, so I have no idea what happen.
Tried to uninstall any apps that installed within few weeks, but didn't solve the issue.
I really wish someone can help me to solve this issue.

The same thing goes here. I have tried to install tensorflow through pip and tensorflow_mkl with conda. Another installation on a different machine which uses a GPU version tensorflow works just fine. Tried to remove and reinstall python environment to avoid any possible dependency issue, not working.
Since 0xC0000005 often comes from DLL importing issue on Windows, I checked the event log of Windows, the error comes from python.exe obviously, and the error module is unknown(which should be the dll name if any). The error report info goes as follows,
Fault bucket<PHONE_NUMBER>499684297, type 5
Event Name: BEX64
Response: Not available
Cab Id: 0

Problem signature:
P1: python.exe
P2: 3.7.2150.1013
P3: 5c6f3612
P4: StackHash_ac46
P5: <IP_ADDRESS>
P6: 00000000
P7: PCH_F0_FROM_ntdll+0x00000000000A01C4
P8: c0000005
P9:<PHONE_NUMBER>000008
P10:

I checked that the CPU is Core i7-4790 which has AVX2 capability, so that it shouldn'd be a problem about AVX right?

Also it worth mentioning that a custom py37-win-x64 build on branch r1.13 with cherry-pick https://github.com/tensorflow/tensorflow/commit/ec727016282383aacf9d26386b01f6bdbd65b14b by VS2017 also facing the same problem. I haven't had time to build a cpu version on the other computer, so it is unclear whether the issue is related to code or the environment (either system or python).

@bglee85 Could you uninstall python and tensorflow, restart system and install python and tensorflow following these instructions. This procedure is for installing TF1.12 but you can follow similar procedure to install higher version of TF. Please let me know how it progresses. Thanks!

I was quite urgent to use the tensorflow-gpu, so I reset my windows and reinstall everything. It works with the following conditions:-
CUDA 10.0, cudnn 7.5, python-3.6.8, tensorflow & tensorflow-gpu 1.13.1
Windows 10, i9, GTX 1050 Ti
I wish there is a better way to solve the issue without resetting the windows, but I didn't have time to try other options one by one.
** On side note, I did try with CUDA 9.0 (installation failed), CUDA 9.2 (works fine with tensorflow 1.12 but didn't work with tensorflow-gpu 1.12, I think is the graphic driver is higher version) and CUDA 10.1 (fine with CUDA 9.2, but works with tensorflow-1.13.1, not 1.12). All associated with the respective cudnn-7.5.
** Also, I ran the deviceQuery.exe, and the result came back with CUDA Driver Version = 10.1, CUDA Runtime = 10.0, so I tried to install the CUDA 10.1 Runtime instead, but it didn't work on python-3.6.8, I haven't try with python 3.7.2 yet.
Hope this help.

@bglee85 when you have time, please write simple step by step instructions that could help the community who have similar problems like you had earlier. Thanks!

@jvishnuvardhan, technically I didn't solve the problem, I just reset my windows and reinstall everything. Anyway here is the step after factory reset the windows.

Install CUDA 10.0
Copy cudnn into CUDA/v10.0 folder

you can check out whether your GPU is working with CUDA running at Anaconda prompt deviceQuery.exe at "UDA/v10.0/extras/demo_suite/deviceQuery.exe"
you also can test out the bandwidth by running bandwidthTest.exe in the same folder.

Install tensorflow at Anaconda prompt: pip install tensorflow (use tensorflow==xxx if you want specific version, e.g., tensorflow==1.12)
Install tensorflow-gpu at Anaconda prompt: pip install tensorflow-gpu (similar to tensorflow if you want specific version, e.g., tensorflow-gpu==1.12)

Technically, this doesn't solve the issue of 0xC0000005 as I just factory reset my windows.

Have you moved your files around in any way, like separate the application from the rest of the files. I moved the files back and the problem was solved.


polish translation

because why not

Sorry for the delay. I will check these over and merge them.


Prime missing from mutable axioms in SAT checker

Shouldn't there be a prime added to the mutable axioms in the line below? I think that the idea was to add all axioms to the initial states, and then only the mutable ones to post-states of a transition.
https://github.com/vmware-research/temporal-verifier/blob/343eb699ccbec27620c4002089554ffeeb97efd8/bounded/src/sat.rs#L42

This also appears to be the case in bdd.rs and smt.rs:
https://github.com/vmware-research/temporal-verifier/blob/343eb699ccbec27620c4002089554ffeeb97efd8/bounded/src/bdd.rs#L66
https://github.com/vmware-research/temporal-verifier/blob/343eb699ccbec27620c4002089554ffeeb97efd8/bounded/src/smt.rs#L29

Seems like a bug. Is there a simple test we could add to check that it's wrong?

I'm not even sure we mean to support mutable axioms, but the idea would be something like:
mutable p: bool
mutable q: bool

assume always q <-> p # mutable axiom
assume p # init
assume always p' <-> (p & q) # tr
assert always p # safety


Feature/improve schema logging

I was running into some issues where taps did not provide good schemas, which unfortunately lead to exceptions in target-bigquery. These were hard to debug at times, because it was difficult to pinpoint what exactly went wrong. Adding the following log statements helped my debugging of these problems a lot.
Note for reviewers:

Python is not my home turf, I used f-string for formatting log statements, not sure if that's the right way to go
I chose info log level for both statements. 1) The JSON schema is logged at info level as well, so logging the BQ schema at info felt right. 2) failing to format the record crashes the target always, so logging it at info level felt right, so that users would not have to re-run it with debug level

@JohannesRudolph , do you mind sharing a schema which caused the format_record_to_schema function to break? We may use it in our testing.

@RuslanBergenov sure you can find one in a log output at https://github.com/AutoIDM/tap-clickup/issues/100#issuecomment-1010945467 which links back to this issue here :-)

@JohannesRudolph, sorry for the delay, we released your feature, thank you for the contribution.


Increase "name" field maxmimum length from 50 characters

The current limit for characters in the name of a tenant,site,rack, device is set to a maximum of 50 characters. Can this be increased to say 100?
Example Import:
Record 11 (name): Ensure this value has at most 50 characters (it has 58).
Record 12 (name): Ensure this value has at most 50 characters (it has 55).
Record 13 (name): Ensure this value has at most 50 characters (it has 60).
Record 14 (name): Ensure this value has at most 50 characters (it has 59).
Record 15 (name): Ensure this value has at most 50 characters (it has 59).
Record 16 (name): Ensure this value has at most 50 characters (it has 51).
Record 17 (name): Ensure this value has at most 50 characters (it has 56).
Record 18 (name): Ensure this value has at most 50 characters (it has 53).
Record 19 (name): Ensure this value has at most 50 characters (it has 55).
Record 20 (name): Ensure this value has at most 50 characters (it has 52).
Record 21 (name): Ensure this value has at most 50 characters (it has 58).
Record 22 (name): Ensure this value has at most 50 characters (it has 58).
Record 23 (name): Ensure this value has at most 50 characters (it has 56).
Record 25 (name): Ensure this value has at most 50 characters (it has 61).
Record 26 (name): Ensure this value has at most 50 characters (it has 59).
Record 28 (name): Ensure this value has at most 50 characters (it has 58).
Record 29 (name): Ensure this value has at most 50 characters (it has 52).
Record 30 (name): Ensure this value has at most 50 characters (it has 55).
Record 31 (name): Ensure this value has at most 50 characters (it has 57).
Record 32 (name): Ensure this value has at most 50 characters (it has 52).

Can you provide an example of a name that's too long? I'm curious.

As an example, we chose to make use of a router hostname that contains identifying information. Due to the vast number of devices, sites and tenants we have, it helps locate the device across databases, monitoring and the like. Below is an example CPE hostname that we may use.
Example:
CUSTCODE-BUSINESSUNIT-BRANCHCODE-CPETYPE-LOCATION
As you can imagine this can quite easily become a name larger than 50 characters. Just the above vanilla example is 49 characters.
We are in the process of importing all our disparate technical information (1st Tier ISP) in to Netbox and have so far over 3500+ sites, 1500+ tenants which is easily expected to double once we get closer to completing the import. Each site could have more than 10 devices at times.
Great product btw!

I see this problem all too often.  Why do we need that much information from one name?  All of the info can be easily gathered by digging just a little deeper.  We have gotten so lazy, we expect to look at one name and identify location, business unit, site, building, floor, closet, cage, rack, serial number, IP address, MAC address, fqdn,...  Sorry, I got carried away.  I needed to vent.

I've personally not had this problem as we've always kept identifying information on interface descriptions or in the snmp sections on configs, but this shouldn't really be a problem to change can it? I can't come up with any dependencies that would break and would give the greater community more flexibility.

Even if we widened the field, we'd have to implement truncation in many places when displaying the device name (such as in the device list) to keep the layout readable.
Interestingly, RFC 1035 suggests a limit of 63 characters for host names, and my Ubuntu-based system seems to enforce a 64-character limit:
$ getconf HOST_NAME_MAX
64

@InsaneSplash how do you feel about a 64-character limit?

higher is better

64 characters should be more than sufficient. This is the maximum hostname length for many platforms.

Thanks for the increase in characters!


Switch from es6-shim to core-js/client/shim

tl;dr
The es6-shim is fatally slow for IE10 and IE11. The alternative core-js/client/shim.min.js can be as much as 25x faster.
Switch to that library when generating the ES6 shim script for index.html:
// package.json: "core-js": "^2.4.0",

<script src="node_modules/client/shim.min.js"></script>

Background
We (IdeaBlade) have a large A2 app that can display 1000s of table rows. Works fine in Chrome, Edge, FF.  Died miserably in IE11 and IE10.
Discovered that core-js is 25x faster than the es6-shim library when processing arrays of data.  The app is now usable on IE11 (IE10 testing pending).
See https://www.npmjs.com/package/core-js
See also: http://stackoverflow.com/questions/36570532/angular-2-performance-ie11-ngfor
After discussion with @mhevery and PatrickJS, have decided to switch to core-js. Core-js is highly modular and one could build a custom bundle.
We want one file that covers the largest shimming needs and don't want to have to maintain our own fine-tuned bundle. We selected the core-js/client/shim.min.js (77k) as best fit for our needs.
Am in process of migrating all doc samples to use this core-js shim.
Verification:
IdeaBlade reports success on IE11, Chrome, Edge, and FF with this library.
Ward spot checked a few of the larger doc samples in IE11 as well as Chrome and Edge.
No known tests on IE10 or Safari yet.

Implemented in #1455.


Upgrade bitcoin

This is not a merge candidate.
Upgrade to use the recently released rust-bitcoin v0.31.0-rc1 release.

Needs rust-electrum-client release as well as electrsd.

Needs rust-electrum-client release as well as electrsd.

new electrum-client 0.19 is ready to go: https://crates.io/crates/electrum-client/0.19.0

Needs electrsd release still.

I think the pinning problems are unrelated to this PR, leaving that for someone else.

I made #69 to bump our MSRV to 1.63 and fix the CI issues.

The test_get_height fail needs investigating, will come back to this.

The test_get_height test passes locally for me and the RawFd error seems unrelated to this PR. Can you kick CI and see if the test_get_height fail goes away please?

No changes, just kicking CI.

It looks good. Still working for it?

I open #74 , which fix the ci error.
The ci result can be seen here
https://github.com/getong/rust-esplora-client/pull/1

I'm happy for you to take over, closing in favour of #74. Thanks


Crashes when I use KeyboardAwareScrollView

Describe the bug
When I use KeyboardAwareScrollView in my application it crashes
Code snippet
  <KeyboardAwareScrollView keyboardShouldPersistTaps="always" bottomOffset={50}>
 // some code
     </KeyboardAwareScrollView>

Repo for reproducing
private project
Screenshots

Smartphone (please complete the following information):

Desktop OS: MacOS
Device: iPad Min
OS: ios 17.6
RN version: 0.75.2
RN architecture: old
JS engine: Hermes
Library version: 1.13.1

Additional context
Add any other context about the problem here.

@ramonxm which version of react-native-reanimated are you using?

@ramonxm which version of react-native-reanimated are you using?

v3.15.0

@ramonxm okay, this is weird 😐
Do you use workspaces by any chance? Is it possible to provide a reproduction example?
I'm using the same setup and everything works well in my example app 🤔
Maybe you can try to debug a little bit of why reanimated cannot be discovered? (just add console.log in that file and see path of the execution)
Do I correctly understand that before you were using 1.12.7 and you didn't have any problems, right?..

I'll try to simulate again, using only yarn in a react native cli project, the problem started precisely when I updated the react native and keyboard versions. I'll try to create a repo here with the error.

@ramonxm may I know how things are going on? 👀

@kirillzyusko sorry, I will try to create a repository now with the error

This is difficult, I even recreated everything again and still can't reproduce the error

@ramonxm well, very interesting! Really curious to know the setup that is causing the problem 🤔

@kirillzyusko I found the problem, the error occurs when I use this babel plugin: https://www.npmjs.com/package/babel-plugin-optional-require, without it the application works, that's why the problem occurs in this file: https://github.com/kirillzyusko/react-native-keyboard-controller/blob/main/src/event-handler.js

This package is very old and was not added by me to this project, I believe I can remove it.

@ramonxm thanks! I also can reproduce this problem in my project.
I've tried many things to workaround/fix this problem, but https://www.npmjs.com/package/babel-plugin-optional-require always gets executed and it always replaces my require statements with throw new Error() 😡
I think here are two ways how you can fix this problem:
1⃣ Just remove optional-require plugin
As you pointed out - if you don't use this package, then you can simply remove it - it'll solve all the problems.
2⃣ Add whitelist property
If you can not remove this package, then you can add a list of exceptions that shouldn't be processed by this plugin:
module.exports = {
  presets: ["module:@react-native/babel-preset"],
  plugins: [
    [
      "optional-require",
      {
        whitelist: [
          "react-native-reanimated/src/core", // for REA > 3.13
          "react-native-reanimated/src/reanimated2/core", // for REA < 3.12
        ],
      },
    ],
    "react-native-reanimated/plugin",
  ],
};

I'm going to close that issue - unfortunately it's not something I can fix in my package at the moment. But I hope this comment can help someone to fix this problem if the error occurs in their projects!


Improve limitTo filter handling of non-integer limit values

Improve handling of non-integer limit values in limitTo filter, and simplify implementation.
See https://github.com/angular/angular.js/issues/3560

@bryanrsmith thnx for the nice and clean PR, I'm not sure how we missed this one and didn't land it earlier... Sorry for this. The good news is that most of the changes and improvements made it to the repo already via other PRs (ex.: a3c3bf3332e5685dc319c46faef882cb6ac246e1) and now the limitTo filter looks almost exactly as you've proposed.
Once again, sorry for not coming back earlier on this PR and we sincerely hope to see other quality contributions from you!

No problem. Maybe because Mary Poppins didn't think my commit message followed guidelines-- I never figured out why. Thanks for the follow-up!


Base64 encode password before passing through Passport

Resolves https://github.com/getumbrel/umbrel/issues/424
Passport basic auth expects the auth header in the pattern username:password and chokes if the password contains :.
This PR just Base64 encodes the password in the auth middleware directly before passing it through Passport and decodes it immediately after before being passed through to the rest of the code logic.
Replaces:

https://github.com/getumbrel/umbrel-dashboard/pull/297
https://github.com/getumbrel/umbrel-manager/pull/76
https://github.com/getumbrel/umbrel-middleware/pull/79

https://github.com/getumbrel/umbrel-manager/pull/75

Closed by https://github.com/getumbrel/umbrel-manager/pull/78


RFE: A way to remove a list of packages after a workload is installed

I am interested in the following use-case: after the packages of a workload are installed, remove a list of packages which I don't want to be present. Such packages could be brought as dependencies.
This list could be provided as part of the workload configuration.

Do you have a specific example?
My thinking is: if something gets pulled into a workload as a dependency, it needs to be there. So you can't just remove it, it's a dependency of something.

Do you have a specific example?
My thinking is: if something gets pulled into a workload as a dependency, it needs to be there. So you can't just remove it, it's a dependency of something.

There is the case when a group is added to a workload but we want some of the packages to not be present in the end. If we include the option "include-weak-deps" to include the weak dependencies, then the number of packages not necessarily required increases even more.


feature: Add Quarkus generator and health check enricher

These are my changes which I added to make Quarkus run out of the box with 4.1
Actually its a bit more (sorry, there has been some changes slipped in, I'm a bit in a hurry):

Includes also #1576
Switched the order for picking up properties for generators: Now system properties (provided from the outside) override project properties from the pom. Actually I consider the former behaviour a bug as it was not possible to ovveride a property with -D when set in .
This Quarkus support uses either the java mode or, when "native" config is set, the native GraalVM mode for building the image. Also, if smallrye-healthcheck is added as a dependency, liveness and readiness checks are added.

See also the sample I added.
The generator could be improved: Currently, it detects only works when it detects the appropriate jars in target/ to find out the file names. However, since the generators are also run for enriching, and enriching typically happens before compile/package (so no jars are there already), the generator should get the name of the generated jars from the Maven pom. Just had no time to find out, how Quarkus names these jars and how to get it from the pom.


Don't initialize the file watcher in the MEF constructor.

Making a COM call in the MEF constructor can potentially cause deadlocks. At the very least it can perf problems by blocking background initialization.
@dotnet/project-system @lifengl

Tagging @MattGertz. for approval.

Looks good to me

@srivatsn Can you add the ASK/Escrow info please.

Scenario
Loading a solution could potentially deadlock VS.
Bug
#625
Workarounds
None
Risk
Low risk, initialization is moved to a UI context.
Performance Impact
None
Regression Analysis
Not a regression. Fault in the original implementation.

@srivatsn Sorry, still unclear on one point -- under what scenarios will it deadlock?  What kinds of projects are affected -- is this endemic to all CPS projects?  The above says "Making a COM call in the MEF constructor can potentially cause deadlocks" but I'm not clear when that actually happens, or how frequent.

Yes all CPS .NET Core projects can potentially deadlock during solution load (when the file watcher gets initialized). Not sure how often it happens but CPS's perf tests are showing this blocking initialization and slowing down solution load as well.


Fix Outcome library and add error handling for UART code

Description
I fixed the CMake code and include order for the Outcome library before using it in the UART code.
Fixes #183

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Comparison is base (d8c2773) 87.35% compared to head (90deeca) 87.35%.

Additional details and impacted files
@@           Coverage Diff           @@
##           master     #241   +/-   ##
=======================================
  Coverage   87.35%   87.35%
=======================================
  Files          18       18
  Lines         514      514
=======================================
  Hits          449      449
  Misses         65       65

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Have feedback on the report? Share it here.


!!!Need two or more search bar!!!!

I already opened a search result, and want to search another word but keep last search result opened.  This scene is really common in code review to find reference

If they are separate searches you can open results in search editors or use them from start.
Have you tried this approach?

@IllusionMH I mean search in the folder, not editor

I'm taking about different view for functionality as Find in files
https://code.visualstudio.com/updates/v1_43#_search-editors
After you perform search on a line with number of total matches/files found you should see Open in editor which will create Search Editor with your current search query and results. You can keep several editors open with different queries and switch between them

Thanks @IllusionMH, I recommend using search editors for this use-case too. Supporting multiple searches in the tree view is probably not something that we will support soon.


May Call for Speakers

We're looking for speakers for our may meetup!
How do I submit a talk?
You can either comment on this issue or send us an email.
When/where is it
April 26th, at 6:30 at Cup and Bar! But if we get too many proposals and we really love your talk, we'd be happy to schedule you for a later month!
What should I talk about?
We don’t have a strict formula, but this is the balance we try to strike every month:
2x Creative Talks: Creative applications of programming. Such as: generating lego murals out of static images, and building an in-browser RPG, generative art, etc.
1x Passion Talk: Something you’re excited about outside of work. This can literally be anything!
Do I need to be an expert to talk?
Nope. This meetup is supposed to be fun and casual, so we want everyone to participate. We especially encourage people of underrepresented groups to apply!
How long should my talk be?
Ten minutes. There won't be any formal Q&A.
What should be in my talk submission?
Just a few sentences describing what you want to talk about would be great.

Carrying some comments over from the April thread:
@doodles526 mentioned: "For either May or June I would be down for giving a talk on building turn-key High Availability Postgresql using etcd if there's interest and still room on the ballot!"

Hi! Lately I've been using a combination of socket.io, johnny-five, and RxJS to read and maniupulate data from an Arduino, like visualize it or generate audio. I'd be happy to give a talk about that stuff - like how I've been making a theremin with light sensors that produces sin waves controlled by observables in RxJS. Would that fit in the creative category? Thanks for your consideration - looking forward to the meeting in April! :smile:

I'd be interested in giving a passion talk about meditation, common misconceptions, and how it is so beneficial (not for the reason people might think).
I would also be interested in giving a technical talk on "Elixir / Phoenix - familiar, but different. A Rails developer's perspective".

@emily-plummer I'd like to give a talk about interactive novel I'm making in JavaScript. It's about love across universes, and making your own destiny.

Cheers.

Based on the pitch-with-gif, I am interested in seeing @TeffenEllis's talk

I'd love to give a passion talk about how companies can better support junior developers (based on my Medium article of the same topic: https://medium.com/@segdeha/on-code-schools-the-plight-of-the-junior-developer-9c3363f08902)

YES YES YES!  ❤ I would really love to see a talk about this @segdeha!!! Totally my bad here (I should have closed this issue), but we've closed submissions for May and have a new process for submitting talks - if you don't mind, could you submit your talk via this form? http://donutjs.club/submit-talk/ We'll be selecting talks for June around the first week of June! 😸


When filer.copy the same big folder more times, the old data space can't be vacuum.

Sponsors SeaweedFS via Patreon https://www.patreon.com/seaweedfs
Describe the bug
When filer.copy the same big folder more times, the old data space can't be vacuum.
I try to storage more file(just like 300,000 file total 1TB), when upload more times with same path for Filer server, the vacuum operation is rarely effective.But only one file, the vacuum always good.
When volumeSizeLimitMB set to 8000000, the vacuum save space size offen less than the default value 30000.
In next, I try to use part of the files to test the vacuum after more times upload same folder and only use one volume. Look for Expected behavior.
This test is accidental, please test a few more times. And some times change garbageThreshold can save more space, some times not has different.
System Setup

List the command line to start "weed master", "weed volume", "weed filer", "weed s3", "weed mount".
weed.exe server  -filer -dir ./data5  -volume.max 1
or
weed.exe server  -filer -dir ./data5  -master.volumeSizeLimitMB 8000000  -volume.max 1
OS version
Windows 10 1909
output of weed version
version 8000GB 1.64 windows amd64
if using filer, show the content of filer.toml
default

Expected behavior
When filer.copy the same big folder more times, the old data space can't be vacuum.

And more file(just like 300,000 file total 1TB), when upload more times with same path for Filer server, the vacuum operation is rarely effective.But only one file, the vacuum always good.
If the problem cannot be reproduced, consider increasing the number of files and directories.
Additional context
test.zip download:
http://www.mediafire.com/file/52atrnqby2u9ltp/test.zip/file
Alternate link: https://pan.baidu.com/s/1YNgCZ4q5M4D-tbZEwYEDcA  code: 8sqh

Did you have some pause between each command?

yes,  least 5 seconds.

But, if not pause between each command. When I run double filer.copy and vacuum, and wait data flush disk, kill it, again run weed, to run vacuum, wait some time, Shouldn't disk space also change?But also not change.

This is related to windows OS. The file content are kept in memory and not flushed. I will add some code to address this.

Sorry, I try version 8000GB 1.65 windows amd64, this problem still exists.
The first run is successful. But delete data, run again also has this problem. You can try more times.
weed.exe server  -filer -dir ./data5  -volume.max 1
S:\weed\weed.exe filer.copy I:\test3 http://localhost:8888/
S:\weed\weed.exe filer.copy I:\test3 http://localhost:8888/
curl "http://localhost:9333/vol/vacuum"

Also has least 5 seconds pause between each command.

Please try 1.67

OK, 1.67 No problems.


explain only shows one feature set for target and one for host, so why is the crate in the workspace hack crate?

I'm using cargo-hakari 0.9.10, with the new explain feature (🎉 ), but I'm still confused about why the regex-syntax crate is in my project's workspace hack crate generated by cargo-hakari, and explain isn't helping (or I don't understand what it's telling me).
I've put a small-ish reproduction of this on this branch in this repo: https://github.com/integer32llc/hakari-repro/tree/regex-syntax
Crate "hello" has a dependency on croaring, which has bindgen as a build dependency, which has regex as a dependency in two places, and each place has regex-syntax as a dependency.

Relevant part of `cargo tree --no-dedupe` output
hello v0.1.0 (/Users/carolnichols/rust/hakari-repro/hello)
├── croaring v0.5.1
│   ├── croaring-sys v0.5.1
│   │   [build-dependencies]
│   │   ├── bindgen v0.59.2
│   │   │   ├── env_logger v0.9.0
│   │   │   │   ├── regex v1.5.4
│   │   │   │   │   └── regex-syntax v0.6.25
│   │   │   ├── regex v1.5.4
│   │   │   │   └── regex-syntax v0.6.25

Crate "world" has a dependency on regex-automata, which has regex-syntax as a dependency.

Relevant part of `cargo tree --no-dedupe` output
world v0.1.0 (/Users/carolnichols/rust/hakari-repro/world)
├── regex-automata v0.1.10
│   └── regex-syntax v0.6.25

cargo hakari generate has put regex-syntax in the workspace-hack crate under both regular and build dependencies:
[dependencies]
regex-syntax = { version = "0.6", features = ["unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment"] }

[build-dependencies]
regex-syntax = { version = "0.6", features = ["unicode", "unicode-age", "unicode-bool", "unicode-case", "unicode-gencat", "unicode-perl", "unicode-script", "unicode-segment"] }

When I run cargo hakari explain regex-syntax, I get this output:
info:
  package  |  include dev?  features  platform

on the target platform, feature set default, unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment was built by:

   world   |       *           *         *

on the host platform, feature set unicode, unicode-age, unicode-bool, unicode-case, unicode-gencat, unicode-perl, unicode-script, unicode-segment was built by:

   hello   |       *           *         *

Based on the crate listings, I assume the "on the target platform" section is talking about the regular dependency and "on the host platform" is talking about the build dependency.
Based on my understanding of cargo-hakari, I expected at least 2 different feature sets to appear here for both the target section and the host section-- but there's only one set of features.
So I still don't know why cargo-hakari has put regex-syntax into the workspace hack crate, and cargo hakari explain isn't telling me in a way I can understand :)
I very much appreciate your help, thank you!!!

Ahh yeah, that is the "unify across target and host platforms" feature which ensures that a dependency used across the target and host platforms is built just once.
https://docs.rs/cargo-hakari/0.9.11/cargo_hakari/config/index.html#unify-target-host
You can turn it off in the config by setting
unify-target-host = "none"

but I would generally recommend keeping it on, it sped up build times significantly when I was implementing it

Ahaaaa I see. So even though the build deps and regular deps aren't unified in one section in the workspace hack crate because the v2 Cargo resolver doesn't unify features between them (like it does with development and regular dependencies), the workspace hack effectively unifies the feature sets before listing a dependency as both a build and regular dependency.
Feel free to close this if you'd like, or leave it open as a documentation improvement suggestion: the docs at https://docs.rs/cargo-hakari/latest/cargo_hakari/about/index.html give a nice example in the "What are workspace-hack crates?" but uses all regular dependencies. Then there's this note:

NOTE: This description elides some details around unifying build and dev-dependencies: for more about this, see the documentation for guppy’s CargoResolverVersion.

which links to https://docs.rs/guppy/0.12.4/guppy/graph/cargo/enum.CargoResolverVersion.html, which explains the behavior of the different Cargo resolvers, but doesn't really get into cargo-hakari's behavior around unifying build and regular dependencies.
I think having an additional example with one crate in the workspace having a build dep and the other having a regular dep with different feature sets, and showing what cargo-hakari generates in the workspace hack crate and why in that case, would have helped me a lot to understand.
Thank you again for your quick response! ❤

the workspace hack effectively unifies the feature sets before listing a dependency as both a build and regular dependency, so that the same artifact can be used as the build dep and the regular dep.

Exactly! And there's a further wrinkle: if there are some dependencies that are proc macros, or build deps of others in the workspace, then hakari uses an even more aggressive scheme because the dependencies might be built on either the target or the host platform (or both).
I'll leave this open as a documentation bug -- thanks for the report.


DLL Location in jar is not the same in code

Hello,
The library jar has windows 32bits dll in "win-x86" inside the jar. But line 120 in DiscordRPC.java it is looking for "win-x32" if the system is 32bits which gives an error.
Could you fix this?

Already fixed, see issue #6.


docs: Fix a few typos

There are small typos in:

docs/python_docs/python/tutorials/getting-started/crash-course/7-use-gpus.md
docs/static_site/src/pages/api/cpp/docs/tutorials/multi_threaded_inference.md
example/README.md

Fixes:

Should read specifying rather than specifieing.
Should read multi threaded rather than iultithreaded.
Should read provisioning rather than provisionning.


Authentication config file for in-memory backend

"This PR provides a new config file format for the memory backend's authentication data, as well as a number of small utilities.
Edit: Please note that the checker writes the errors into the standard error output stream, in order for the user to see them. I am unsure whether this is the best solution or not, but I wanted to do that to ensure early failure if the configuration wasn't right. The thrown error in this case might deserve improvement also. I'm open to suggestions on that side :)"
Reopening of https://github.com/scality/S3/pull/8

@ironman-machine give me your status about that :)

Hello @alexandre-merle,
Starting end to end procedure using the following payload:
{"DEFAULT_BRANCH":"master","SCALITY_S3_BRANCH":"dev/ft/FileAuth"}
Please follow http://ci.ironmann.io/gh/scality/Integration/1779 for circle status.

@ironman-machine give me your status about that :)

Hello @alexandre-merle,
Starting end to end procedure using the following payload:
{"DEFAULT_BRANCH":"master","SCALITY_S3_BRANCH":"dev/ft/FileAuth"}
Please follow http://ci.ironmann.io/gh/scality/Integration/1780 for circle status.

Don't we want this in scality/Arsenal instead?

@ironman-machine and again :)

Hello @alexandre-merle,
Starting end to end procedure using the following payload:
{"DEFAULT_BRANCH":"master","SCALITY_S3_BRANCH":"dev/ft/FileAuth"}
Please follow http://ci.ironmann.io/gh/scality/Integration/1878 for circle status.

End-to-End tests passed on https://github.com/scality/Integration/pull/74 both before this PR (http://ci.ironmann.io/gh/scality/Integration/1881) and after (http://ci.ironmann.io/gh/scality/Integration/1882)
Please review this so that we can FINALLY merge it...

Agreed with @DavidPineauScality , this pull request is open since 1 month now :)

There are open comments...

@LaurenSpiegel @rahulreddy updated :)

Btw, https://github.com/scality/Integration/pull/74 need to be merged (and pushed to wip/ultron) first :)

👍  Thanks @DavidPineauScality  and @alexandre-merle !

@ironman-machine just to be sure

Hello @LaurenSpiegel,
Starting end to end procedure using the following payload:
{"DEFAULT_BRANCH":"master","SCALITY_S3_BRANCH":"dev/ft/FileAuth"}
Please follow http://ci.ironmann.io/gh/scality/Integration/1937 for circle status.

End to end passed.  Merging.


Have a way to access previous state data after an upgrade

SUMMARY
Currently, once an upgrade comes in (like v21.X) and a new genesis file is generated and used by the nodes, the previous state is dismissed and the genesis contains the ledger of all active accounts. There is no documented way to access the data of past blocks, and therefore of past transactions.
Ideally, it would be possible using the existing gRPC APIs to get access to historical block data, so that new blockchain explorers can backfill and index those older transactions.
ISSUE TYPE

Feature Idea

ADDITIONAL INFORMATION
I'm building a web wallet for Oasis relying on https://github.com/everstake/oasis-explorer and I will require at some point to have accurate historical data of all accounts available to the end users.

In case of a dump/restore upgrade (where the genesis file changes) you can keep an old node with the old state running and make queries to that node. Since such upgrades can contain state breaking changes it would be quite problematic to try to support all previous versions in a single node binary.


fix: jx-requirements.yml defaults

@jstrachan unless I'm mistaken, these changes belong here in jx-requirements.yml or they will just clobber the values in jx-values.yaml for the ingress.exposer. The clusterName isn't really a big deal, but it suffers the same issue.

btw we don't use exposecontroller any more; so if we want to support Route instead of Ingress for openshift we'll have to modify the charts to conditionally switch to Route resources instead. Can we use Ingress now in OpenShift v4?


Dependency link processor in production deployment

Currently the calculation of dependency link (graph) data is only available in the in-memory configuration of the server (e.g. all-in-one docker image).
The approach that will be used in the production deployment of Jaeger has been outlined in the discussion here: https://groups.google.com/d/msg/jaeger-tracing/2ClHbZ3BwBg/F80_y7lCAgAJ
Thought it would be good to have an issue that can be used to track this feature, and possibly lead to discussions around the proposed approach.

This issue has a dependency on https://github.com/uber/jaeger/issues/150.

NB: we have an on-going internal work on the data pipeline that includes a dependencies processor.

Sorry, forgot to mention that.
Do you have a time estimate for when this may be available?

@yurishkuro are there any news when this will be open-sourced?
On the [ML](ML https://groups.google.com/d/msg/jaeger-tracing/2ClHbZ3BwBg/F80_y7lCAgAJ) you mentioned old data processing pipeline using Spark which loads the whole C* and does the processing. Does this processing produce dependency links and is it configurable via dependency-storage.data-frequency? If so is there a way to open-source it?

The data pipeline should be OSS in H2. The problem with the spark job is that it uses zipkin data (before we had the jaeger domain model, we stored all our spans as zipkin in c*). If we wanted to OSS the existing Spark job we would have to either:

write a jaeger to zipkin converter in java/scala
open up an endpoint on the collector that returns zipkin spans
rewrite the Spark job to use jaeger model directly

3 is the best solution but I don't think we have any cycles internally to do so.

we can "throw over the all" the spark job if someone wants to pick it up, but I really don't like it since it must scan the whole database, and as a result it often fails in the middle even after retries. The new gen dependency job based on the data pipeline will be streaming (from Kafka).

I am starting to looking at this. Based on the previous discussion I have two approaches in my mind:
Baggage based approach
Tracer would add jaeger specific baggage representing the service name in injecting the context. This baggage would be removed when extracting the context and it will be added to the first span. So when the span arrives in collector we know span's service name and parent service name.
pros:

it does not rely on the instrumentation setting appropriate tags (url or possibly others)
cons:
requires change across all clients.
it would not work with zipkin native clients

Data investigation based approach
Dependency link would be created based on data attached to the span. For example, if there is http.url in client span it means that there is a chance that hostname represents service name of the called service(it holds in k8s deployment).
pros:

only server side change
cons:
depends on the data attached to span which can be wrong or there might be no-data at all.

We could implement just one or both. For example if there is no tag representing the parent service name it would try to derive dependency link based on the data in the span. All this would be configurable via flag in collector... Any feedback is welcome.

The path we've taken looks like this: https://github.com/uber/jaeger/blob/553ec7a3f4afe4b71923ff7e81a62d4f8d3ec570/storage/spanstore/memory/memory.go#L56 we wait until the trace is complete then we can walk over the call graph and use service name and operation name to determine the dependency links. This requires no client side changes but requires knowledge that a trace is "complete".
Maybe I'm misunderstanding something and you want to generate the dependencies live as the spans arrive? Then yes you would require the changes you suggested but I don't see why we'd need live dependency links given the topology of a request will seldom change.

As we understand it, the current "production" approach for creating the dependency links will require the post processing backend. The ideas Pavol has outlined are intended as a possible lightweight alternative approach for users who may not want to include the post processing pipeline infrastructure - possibly as their throughput is not that high.

My problem with the first approach is that it does not provide very useful data, just service to service links (maybe endpoints dimension can be squeezed in). That kind of data can be obtained by other tools, e.g. by spying on the network connections (as Netsil does), or from service meshes.
I personally prefer the data mining approach, which we are using already internally with awesome results. I will try to showcase it at OS Summit in LA. The main difference there is that it really uses the fact that we are tracing the transactions, so the dependency graphs are built with path awareness, rather than mere point to point links.

Would it be better to make the dependency view in the UI optional then, so only displayed if the server has the information - so in the current environment it would be shown for all-in-one, but not for the "production" setup unless the post processing pipeline is in place?
And then later when the more advanced mechanism is available, it can take the place of the current dependency view?

makes sense to me.
@tiffon can we have a built-time env var to control that tab for now?

My goal is to implement a light weight alternative for deriving dependency links. The exact same functionality what we have in all-in-one but for production deployment. It's useful information which can be derived very easy from the data what is there.

The main difference there is that it really uses the fact that we are tracing the transactions, so the dependency graphs are built with path awareness, rather than mere point to point links.

But I guess this would be a different screen not the current /dependencies tab.

My goal is to implement a light weight alternative for deriving dependency links.

"light weight" is relative - it requires changes in libs across all languages and forces extra monitoring data in-band.

But I guess this would be a different screen not the current /dependencies tab.

I think the new graphs will replace that tab. The p2p graph can be derived from the richer data easily, yet the actual display is not that useful in most situations.

I remember that current dependencies screen was not useful for very large deployments, however for smaller ones it has its value. At least we see it that way.
By lightweight, I mean that it does not require to deploy any other external services like kafka etc (it can make jaeger deployment for monitoring smaller deployments on k8s/openshift make much more expensive).
One baggage value is not that bad, note that that baggage is not accumulating. It's removed when it reaches the first service.
I would store something like:
timestamp, trace_id, parent_service, child_service. Then the query would get all within the requested time window and calculate the counts (trace_id is redundant) later it could be used for more advanced processing.

"light weight" is relative - it requires changes in libs across all languages and forces extra monitoring data in-band.

Isn't there already x-uber-source? I'm not sure how ubiquitous this is at Uber, but we have similar header (only for http calls). So @pavolloffay's "baggage based approach" would be similar to using x-uber-source to set peer.service tag.
+1 for the pipeline by the way! It enables lots of interesting possibilities.

In trace-context group I have heard talk of a potential rider header for
service graph. However it will be hard to count links accurately. Also the
service names in many cases are less reliable from client. Finally need to
consider brokers which can wash this away. Keep this stuff in mind as after
the fact even if 1 minute after the fact, it is easier to resolve these
problems.
On 31 Aug 2017 3:54 am, "Marcin Biegan"<EMAIL_ADDRESS>wrote:
"light weight" is relative - it requires changes in libs across all
languages and forces extra monitoring data in-band.
Isn't there already x-uber-source? I'm not sure how ubiquitous this is at
Uber, but we have similar header (only for http calls). So @pavolloffay
https://github.com/pavolloffay's "baggage based approach" would be
similar to using x-uber-source to set peer.service tag.
+1 for the pipeline by the way! It enables lots of interesting
possibilities.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/uber/jaeger/issues/215#issuecomment-326100618, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAD61016Gy8i1gxEMZW2nJCDkVK4J6S_ks5sdb3mgaJpZM4N-c03
.

Closing now we have a spark job which processes spans and creates dependency links: https://github.com/jaegertracing/spark-dependencies

@pavolloffay could you please mention it in the documentation somewhere?


Add and improve logs in ACS bootstrap process

Description
ACS bootstrap process contains code that might cause exceptions, which are not logged; thus, it can make it hard for developers and operators to understand what is happening to the system and breaking the boot of the application. This PR intends to improve and add new logs to this process in order to facilitate troubleshooting.
Types of changes

[ ] Breaking change (fix or feature that would cause existing functionality to change)
[ ] New feature (non-breaking change which adds functionality)
[ ] Bug fix (non-breaking change which fixes an issue)
[X] Enhancement (improves an existing feature and functionality)
[ ] Cleanup (Code refactoring and cleanup, that may add test cases)

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[X] Minor

How Has This Been Tested?
I applied the changes in a local lab and checked if the messages were being correctly logged.

@blueorangutan package

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 5935

@blueorangutan package

@rohityadavcloud a [SF] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 6108

@DaanHoogland @rohityadavcloud can we run the tests for this one?

@blueorangutan package

@DaanHoogland a [SF] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 7042

@blueorangutan test

@DaanHoogland a [SF] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-7677)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 42426 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6890-t7677-kvm-centos7.zip
Smoke tests completed. 112 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_05_vmschedule_test_e2e
Failure
255.92
test_vm_schedule.py

double check:
@blueorangutan test

@DaanHoogland a [SF] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-7685)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 47601 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6890-t7685-kvm-centos7.zip
Smoke tests completed. 110 look OK, 3 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_02_trigger_shutdown
Failure
336.60
test_safe_shutdown.py

test_08_upgrade_kubernetes_ha_cluster
Failure
646.17
test_kubernetes_clusters.py

test_05_vmschedule_test_e2e
Failure
265.94
test_vm_schedule.py

@blueorangutan package

@shwstppr a [SF] Jenkins job has been kicked to build packages. It will be bundled with  KVM, XenServer and VMware SystemVM templates. I'll keep you posted as I make progress.

Packaging result [SF]: :heavy_check_mark: el7 :heavy_check_mark: el8 :heavy_check_mark: el9 :heavy_check_mark: debian :heavy_check_mark: suse15. SL-JID 7188

@blueorangutan test

@shwstppr a [SF] Trillian-Jenkins test job (centos7 mgmt + kvm-centos7) has been kicked to run smoke tests

[SF] Trillian test result (tid-7818)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 44101 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr6890-t7818-kvm-centos7.zip
Smoke tests completed. 112 look OK, 1 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File

test_08_upgrade_kubernetes_ha_cluster
Failure
682.74
test_kubernetes_clusters.py

@GutoVeronezi still want to review?


Support archive_entry_time

I support all archive_entry_time functions. Both ctime and mtime are already implemented, so I added atime and birthtime.

pathname some zip is null
sample.zip