extended.openjdk failure: sun/security/krb5/auto/ReplayCacheTestProc.java.ReplayCacheTestProc

sun/security/krb5/auto/ReplayCacheTestProc.java.ReplayCacheTestProc fails both Hotspot and OpenJ9
https://ci.adoptopenjdk.net/job/Test_openjdk8_j9_extended.openjdk_aarch64_linux/9/consoleFull
openj9:
01:37:37  openjdk version "1.8.0_292"
01:37:37  OpenJDK Runtime Environment (build 1.8.0_292-202103091148-b05)
01:37:37  Eclipse OpenJ9 VM (build openj9-0.26.0-m1, JRE 1.8.0 Linux aarch64-64-Bit Compressed References 20210309_235 (JIT enabled, AOT enabled)
01:37:37  OpenJ9   - b227feba2
01:37:37  OMR      - 4665e2f72
01:37:37  JCL      - 1780cbc92b based on jdk8u292-b05)

02:42:07  Console get new AP-REQ
02:42:07  Console send to 0
02:42:07  Console sees true
02:42:07  Console resue old
02:42:07  Console send to 2
02:42:07  Console sees false
02:42:07  Console resue old
02:42:07  Console send to 4
02:42:07  Console sees false
02:42:07  Console get new AP-REQ
02:42:07  Console send to 0
02:42:07  Console sees true
02:42:07  java.lang.Exception
02:42:07  	at ReplayCacheTestProc.main0(ReplayCacheTestProc.java:174)
02:42:07  	at ReplayCacheTestProc.main(ReplayCacheTestProc.java:217)
02:42:07  	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
02:42:07  	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
02:42:07  	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
02:42:07  	at java.lang.reflect.Method.invoke(Method.java:498)
02:42:07  	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
02:42:07  	at java.lang.Thread.run(Thread.java:823)
02:42:07  java.lang.Exception
02:42:07  	at ReplayCacheTestProc.main0(ReplayCacheTestProc.java:174)
02:42:07  	at ReplayCacheTestProc.main(ReplayCacheTestProc.java:217)
02:42:07  	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
02:42:07  	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
02:42:07  	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
02:42:07  	at java.lang.reflect.Method.invoke(Method.java:498)
02:42:07  	at com.sun.javatest.regtest.agent.MainWrapper$MainThread.run(MainWrapper.java:127)
02:42:07  	at java.lang.Thread.run(Thread.java:823)

Suspect upstream testcase issue...?

Has shown to pass on test-docker-ubuntu1804-x64-1 and fail on test-docker-fedora33-x64-2 (see history)

Submitted Grinder on test-docker-ubuntu1804-x64-1 https://ci.adoptopenjdk.net/job/Grinder/7601/

20x Grinder to see if intermittent: https://ci.adoptopenjdk.net/job/Grinder/7629/

Running some grinders I only saw it failing on linux (not Windows or Mac)
On linux, the test fails on some machines but not others.
For jdk8, these are some grinder results:
openj9
Pass
test-marist-ubuntu1604-s390x-1
test-macstadium-macos1014-x64-2
test-azure-win2016-x64-1
Fail
test-docker-ubuntu2004-armv8l-3
test-docker-fedora33-x64-1
test-osuosl-ubuntu1804-ppc64le-1

hotspot
Pass
test-packet-ubuntu1604-x64-3
 test-marist-ubuntu1604-s390x-2X
test-macstadium-macos1014-x64-3
build-azure-win2012r2-x64-2..
Fail
build-docker-ubuntu1804-armv8-5
test-osuosl-centos74-ppc64le-2

From this we can see that for x86-64_linux the test passed on test-packet-ubuntu1604-x64-3 (hotspot) but failed on test-docker-fedora33-x64-1 (openj9).  When the test was rerun on test-docker-fedora33-x64-1
with hotspot it also failed.
This all indicates some issue in the configuration of the test machines.
The symptoms are similar to https://bugs.openjdk.java.net/browse/JDK-8262033, where the failures were deemed to be due to the new rcache format of krb release 1.18.
So I guess a first step is to identify the krb release levels on the passing and failing machines.

Finding the installed Kerberos version proved to be a little trickier than I thought. On the ubuntu machines, I ran apt list --installed | grep krb which showed the version numbers of the installed Kerberos packages. On other machines, the command krb5-config --version was able to display the version number. I havent checked the windows machines yet
openj9
Pass
test-marist-ubuntu1604-s390x-1 1.13.2
test-macstadium-macos1014-x64-2 Kerberos 5 release 1.7-prerelease
test-azure-win2016-x64-1
Fail
test-docker-ubuntu2004-armv8l-3 1.17-6
test-docker-fedora33-x64-1 1.17-6
test-osuosl-ubuntu1804-ppc64le-1 1.16-2

hotspot
Pass
test-packet-ubuntu1604-x64-3 (possibly offline, unpingable)
test-marist-ubuntu1604-s390x-2X 1.13.2
test-macstadium-macos1014-x64-3 Kerberos 5 release 1.7-prerelease
build-azure-win2012r2-x64-2..
Fail
build-docker-ubuntu1804-armv8-5 (cannot access)
test-osuosl-centos74-ppc64le-2 Kerberos 5 release 1.15.1

The gss --version command didnt work, any of the machines.
$ gss --version
-bash: gss: command not found

On the ubuntu machines, the only trace of a gss package is libgssapi-krb5-2, which has the same version number as kerberos (which ive posted above)
$ apt show libgssapi-krb5-2
Package: libgssapi-krb5-2
Version: 1.16-2ubuntu0.2
Priority: standard
Section: libs
Source: krb5
Origin: Ubuntu
Maintainer: Ubuntu Developers<EMAIL_ADDRESS>Original-Maintainer: Sam Hartman<EMAIL_ADDRESS>Bugs: https://bugs.launchpad.net/ubuntu/+filebug
Installed-Size: 441 kB
Depends: libc6 (>= 2.27), libcom-err2 (>= 1.34), libk5crypto3 (>= 1.16), libkrb5-3 (= 1.16-2ubuntu0.2), libkrb5support0 (>= 1.15~beta1)
Suggests: krb5-doc, krb5-user
Breaks: moonshot-gss-eap (<= 1.0)
Homepage: http://web.mit.edu/kerberos/
Task: standard, ubuntu-core
Supported: 5y
Download-Size: 111 kB
APT-Manual-Installed: yes
APT-Sources: http://ports.ubuntu.com/ubuntu-ports bionic-updates/main s390x Packages
Description: MIT Kerberos runtime libraries - krb5 GSS-API Mechanism
 Kerberos is a system for authenticating users and services on a network.
 Kerberos is a trusted third-party service.  That means that there is a
 third party (the Kerberos server) that is trusted by all the entities on
 the network (users and services, usually called "principals").
 .
 This is the MIT reference implementation of Kerberos V5.
 .
 This package contains the runtime library for the MIT Kerberos
 implementation of GSS-API used by applications and Kerberos clients.

N: There is 1 additional record. Please use the '-a' switch to see it

Are you saying that test-marist-ubuntu1604-s390x-2X (where the test passes) and test-docker-ubuntu1604-x64 (where the test fails) both have both packages installed, or that one machine has one package installed and the other machine has the other package?

Both machines, passing and failing, have both packages installed.
test-marist-ubuntu1604-s390x-2X
libgssapi-krb5-2/bionic-updates,bionic-security,now 1.16-2ubuntu0.2 s390x [installed]
libgssapi3-heimdal/bionic,now 7.5.0+dfsg-1 s390x [installed]

test-docker-ubuntu1604-x64
libgssapi-krb5-2/focal-updates,focal-security,now 1.17-6ubuntu4.1 amd64 [installed,automatic]
libgssapi3-heimdal/focal,now 7.7.0+dfsg-1ubuntu1 amd64 [installed,automatic]

So possibly kerberos 1.16 test passes, 1.17 test fails?

Some quick notes

test-packet-ubuntu1604-x64-3 is unpingable because I tried to upgrade it to 18.04 as part of https://github.com/AdoptOpenJDK/openjdk-infrastructure/issues/1986 and, erm, it didn't go well.
The Marist machines have undergone some name changes - see https://github.com/AdoptOpenJDK/openjdk-infrastructure/pull/2156/files. To list a couple of specifics from earlier, test-marist-ubuntu1604-s390x-2X  version 1.13.2 is now test-marist-ubuntu1804-s390x-3 and will likely now have a different version. It may be interesting to test whether it's behaving the same now. test-marist-ubuntu1604-s390x-1 is still running the same version.

(Also tagging my docker-specifc issue because while this is not specific to docker, it looks like none of the docker hosts have passed. It may be that it needs an extra package of some sort to pass, and none of the docker containers have it which may provide a clue)

My hunch is still that it is a package version issue.  The test failed on test-osuosl-centos74-ppc64le-2 (not docker).  It also fails on my laptop running a VirtualBox Ubuntu 20.04 (kerberos Package: libgssapi-krb5-2, Version: 1.17-6ubuntu4.1).

This is what I think is going on......
The test starts a number of client and server processes, and then either sends new requests from a client to a server, or tries to reuse a token from a previous request.
The server process are either native (ns) or java (js) servers.  The server to which the requests are sent is selected randomly.  Also, whether the request is a new request or reuses a token from an old request is selected randomly.
In the event that an old token is being used, the take API call is expected to throw an exception, for new requests it is expected to succeed.
The test fails because a take call with an old token succeeds when the test expects it to fail - but this only occurs when the initial request was made to a native server and the subsequent request was made to a java server.  That is:

Java server followed by java server - throws exception (expected)
Java server followed by native server - throws exception (expected)
3 Native server followed by native server - throws exception (expected)
4 Native server followed by java server - no exception (not expected)

Because of the random nature of the test it is not guaranteed that the failing condition will always be executed leading to the apparent intermittent nature of the test failure.
This is the exception thrown by the java server (in the java server followed by java server case):
GSSException: Failure unspecified at GSS-API level (Mechanism level: Request is a replay (34))
Client see END
	at sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:858)
	at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:342)
	at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:285)
	at Context$11.run(Context.java:658)
	at Context$5.run(Context.java:352)
	at Context$5.run(Context.java:348)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:422)
	at Context.doAs(Context.java:348)
	at Context.take(Context.java:642)
	at ReplayCacheTestProc.main0(ReplayCacheTestProc.java:219)
	at ReplayCacheTestProc.main(ReplayCacheTestProc.java:236)
Caused by: KrbException: Request is a replay (34)
	at sun.security.krb5.internal.rcache.DflCache$Storage.loadAndCheck(DflCache.java:309)
	at sun.security.krb5.internal.rcache.DflCache$Storage.access$100(DflCache.java:207)
	at sun.security.krb5.internal.rcache.DflCache.checkAndStore0(DflCache.java:193)
	at sun.security.krb5.internal.rcache.DflCache.checkAndStore(DflCache.java:179)
Server S0 sees END	at sun.security.krb5.KrbApReq.authenticate(KrbApReq.java:323)

	at sun.security.krb5.KrbApReq.<init>(KrbApReq.java:149)
	at sun.security.jgss.krb5.InitSecContextToken.<init>(InitSecContextToken.java:140)
	at sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:831)
	... 11 more
GSSException: Failure unspecified at GSS-API level (Mechanism level: Request is a replay (34))
	at sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:858)
	at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:342)
	at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:285)
	at Context$11.run(Context.java:658)
	at Context$5.run(Context.java:352)
	at Context$5.run(Context.java:348)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:422)
	at Context.doAs(Context.java:348)
	at Context.take(Context.java:642)
	at ReplayCacheTestProc.main0(ReplayCacheTestProc.java:219)
	at ReplayCacheTestProc.main(ReplayCacheTestProc.java:236)
Caused by: KrbException: Request is a replay (34)
	at sun.security.krb5.internal.rcache.DflCache$Storage.loadAndCheck(DflCache.java:309)
	at sun.security.krb5.internal.rcache.DflCache$Storage.access$100(DflCache.java:207)
	at sun.security.krb5.internal.rcache.DflCache.checkAndStore0(DflCache.java:193)
	at sun.security.krb5.internal.rcache.DflCache.checkAndStore(DflCache.java:179)
	at sun.security.krb5.KrbApReq.authenticate(KrbApReq.java:323)
	at sun.security.krb5.KrbApReq.<init>(KrbApReq.java:149)
	at sun.security.jgss.krb5.InitSecContextToken.<init>(InitSecContextToken.java:140)
	at sun.security.jgss.krb5.Krb5Context.acceptSecContext(Krb5Context.java:831)
	... 11 more

This is the exception thrown by the native server:
GSSException: Security context init/accept not yet called or context deleted
	at sun.security.jgss.wrapper.GSSLibStub.getContextName(Native Method)
	at sun.security.jgss.wrapper.NativeGSSContext.acceptSecContext(NativeGSSContext.java:324)
	at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:342)
	at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:285)
	at Context$11.run(Context.java:658)
	at Context$5.run(Context.java:352)
	at Context$5.run(Context.java:348)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:422)
	at Context.doAs(Context.java:348)
	at Context.take(Context.java:642)
	at ReplayCacheTestProc.main0(ReplayCacheTestProc.java:219)
	at ReplayCacheTestProc.main(ReplayCacheTestProc.java:236)
GSSException: Security context init/accept not yet called or context deleted
	at sun.security.jgss.wrapper.GSSLibStub.getContextName(Native Method)
	at sun.security.jgss.wrapper.NativeGSSContext.acceptSecContext(NativeGSSContext.java:324)
	at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:342)
	at sun.security.jgss.GSSContextImpl.acceptSecContext(GSSContextImpl.java:285)
	at Context$11.run(Context.java:658)
	at Context$5.run(Context.java:352)
	at Context$5.run(Context.java:348)
	at java.security.AccessController.doPrivileged(Native Method)
	at javax.security.auth.Subject.doAs(Subject.java:422)
	at Context.doAs(Context.java:348)
	at Context.take(Context.java:642)
	at ReplayCacheTestProc.main0(ReplayCacheTestProc.java:219)
	at ReplayCacheTestProc.main(ReplayCacheTestProc.java:236)

This fork / branch has a version of the test which removes the randomness and just runs the minimum failing execution path (request to native server followed by request to java server reusing old token): https://github.com/lumpfish/openjdk-jdk8u/tree/fix_ReplayCacheTestProc.  The test fails consistently (i.e. the expected exception is not thrown) on all jdk8 platforms.
I have not been able to determine whether the fault lies in native server, the java server or in the test case.  Some help from upstream may be required.
Until the underlying cause has been established and fixed I suggest the test be excluded to prevent seeing the failure over and over again.
The test passes on jdk11 but there are significant changes to the test case between the releases.


Understand the frame work

Try to understand the frame work

hi, was this pull request intentional or by mistake?

looks like someone got hold of your account @yuriylesyuk ..
terminating this pull request.


I just now updated the VS code

HI Team,
I just now updated VS code i am not able to get IntelliSense while downloading package in project.json file.
Is anybody facing the same.

That code moved to the C# extension.

This issue was moved to OmniSharp/omnisharp-vscode#1283


Builds the DB2 driver with only swift build

Addresses issue #10
Using the SwiftPM's support for building simple c libraries using the tool, we no longer need to install the tool using:
wget https://github.com/IBM-DTeam/swift-for-db2-cli/archive/master.zip && unzip master.zip && cd swift-for-db2-cli-master && sudo ./cli.sh && . env.sh && cd .. && rm -f master.zip && rm -rf swift-for-db2-cli-master

This requires 2 additional repositories. 1 for the unix-odbc dynamic library, and another for the db2 driver that requires it.

Travis failed at this point. Is that an issue or something that should be fixed on Travis's end?

Hi @Taamannae - I will make some modifications until I can get Travis building- hold off on the merge of course until the build and the tests pass again.

Gotcha, thanks!

Hi @Taamannae , wanted to double-check if this would be a good strategy or not before start adding that code. I also have a question.

What should I set DB2_CONN_STRING to when I run the tests?

Right now when the tests are run, we get this error:
Linking ./.build/debug/IBMDBPackageTests.xctest

Test Suite 'All tests' started at 18:39:21.182

Test Suite 'debug.xctest' started at 18:39:21.205

Test Suite 'ConnectTests' started at 18:39:21.205

Test Case 'ConnectTests.testConnectValidConfig' started at 18:39:21.205

/home/travis/build/IBM-DTeam/swift-for-db2/Tests/IBMDBTests/ConnectTests.swift:50: error: ConnectTests.testConnectValidConfig : failed - Environment Variable DB2_CONN_STRING not set.

fatal error: unexpectedly found nil while unwrapping an Optional value

Can we change it so that the driver does not expect the DB2_CONN_STRING to be set beforehand in the system environment before you can use the driver? I assume that environment variable is needed for the IBMDB C code to work properly. If that's the case, can we just add to the connect function the use of a setenv function:

public func connect(info: String, callback: ([DBError]?, Connection?) -> Void) -> Void {
   // ... stuff here
   setenv(DB2_CONN_STRING, info, 1)

@rfdickerson

It should be set to
"DRIVER={DB2};DATABASE=BLUDB;UID=dash6435;PWD=0NKUFZxcskVZ;HOSTNAME=dashdb-entry-yp-dal09-09.services.dal.bluemix.net;PORT=50000"

As far as I know from what Greg W had told me, the expected CONN STRING is for the tests not for actual code. We have our own dashDB instance running for test cases but he wanted to allow people to choose where their tests were running and being stored. I can change it if need be but that was the idea.

Hi @Taamannae - do you know if these environment variables have to be set, and if so, why they need to be set? I'm assuming they do- which is why my tests are failing.
  6 export IBM_DB_DIR=/usr/local/ibmdb:$IBM_DB_DIR
  7 export IBM_DB_HOME=/usr/local/ibmdb:$IBM_DB_HOME
  8 export IBM_DB_LIB=/usr/local/ibmdb/lib:$IBM_DB_LIB
  9 export IBM_DB_INCLUDE=/usr/local/ibmdb/include:$IBM_DB_INCLUDE
 10 export DB2_HOME=/usr/local/ibmdb/include:$DB2_HOME
 11 export DB2LIB=/usr/local/ibmdb/lib:$DB2LIB

Ideally, the driver shouldn't require this at all. We can use the setenv function above to fix this issue.

I may have to do a setenv on the IBM_DB_* directories to .build/debug. Which is problematic, since it will not necessarily be where the dynamic libraries were built into in all cases. Why is CIBMDB using these environment variables at all?

We need ensure we exported all the proper names and paths that were previously done. It's a required step as part of the DB2 installation process to function fully and to ensure the ODBC works.

Thanks @Taamannae and @GWlodarek .
I forgot that there some some binaries that I have to download from:
http://public.dhe.ibm.com/ibmdl/export/pub/software/data/db2/drivers/odbc_cli/
The name CLI was misleading since I thought that they were just command line tools.
Anyhow, my plan is to put the Linux and the macOS prebuilt libdb2.so or libdb2.dylib in the .build/debug/ and .build/release directories. Just double checking- the code needed to build libdb2.so cannot be open sourced at all? If it can- then we can just use LLVM to build these files.

Do you happen to know if all of these files are required, or just libdb2.so?

@rfdickerson
Unfortunately it's closed source and we only get the built files, sorry!
I don't know if we require all the files, but better be safe than sorry :)

Ok, working on a way to copy over the *.so files during the swift build stage. I think I'll add a system("cp ...") in the Package.swift file. Kind of nasty, but necessary.


FIx #17933: Superset fix chart query for mysql con.

Type of change:

[ ] Bug fix
[ ] Improvement
[ ] New feature
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)
[ ] Documentation

Checklist:

[x] I have read the CONTRIBUTING document.
[ ] My PR title is Fixes <issue-number>: <short explanation>
[ ] I have commented on my code, particularly in hard-to-understand areas.
[ ] For JSON Schema changes: I updated the migration scripts or explained why it is not needed.

Looks good, but maybe we could have the logic in one place, doing something like:
def getSupersetQuery(String query, Connection connection):
  if isinstance(connection, MysqlConnection):
    return query.replace('"', "`")
  return query

I'll do this in next changes sure. Need to cherry-pick this branch today 😅


SVG Path renders incorrectly

Jsvg renders the svg different than Firefox.
The svg:
<svg width="15" height="15" viewBox="0 0 15 15" fill="none" xmlns="http://www.w3.org/2000/svg">
<path d="M4.5 6.5V3.5C4.5 1.84315 5.84315 0.5 7.5 0.5C9.15685 0.5 10.5 1.84315 10.5 3.5V6.5M2.5 6.5H12.5C13.0523 6.5 13.5 6.94772 13.5 7.5V13.5C13.5 14.0523 13.0523 14.5 12.5 14.5H2.5C1.94772 14.5 1.5 14.0523 1.5 13.5V7.5C1.5 6.94772 1.94772 6.5 2.5 6.5Z" stroke="black"/>
</svg>

Comparison between correct (png version) and incorrect (svg version) rendered image:

If wanted I can provide more samples of incorrectly rendered images.

Thank you for reporting. I wasn't properly applying attributes on the root svg element.

Thanks for the fix


[SMALLFIX] Only set appropriate property for enabling zookeeper for different alluxio versions

In latest master branch, a precondition is added, where unknown configuration properties cause error. This PR updates the deploy module to only set known properties for the specific version of alluxio.

LGTM

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/Alluxio-Pull-Request-Builder/12290/
Test PASSed.

Merged build finished. Test PASSed.


Alert user if project directory has been moved

Rather than giving an error that simply says, file not found alert the
user to what they need to do when this happens. And in this case simply
running setup again should do the trick.
Resolves: #410

Coverage remained the same at 74.597% when pulling 26cd9c96c3ea904ac5e45ea717db0b97fcb9d1f4 on alert-if-setup-changes into cb82d2eb17bdb1f825097a73a0099d56d645310a on master.


but i get another problem,even i set batch_size=1,it also raise RuntimeError: CUDA out of memory. Tried to allocate 6.75 MiB (GPU 0; 3.94 GiB total capacity; 1.50 GiB already allocated; 23.00 MiB free; 49.10 MiB cached),it is wired??

but i get another problem,even i set batch_size=1,it also raise RuntimeError: CUDA out of memory. Tried to allocate 6.75 MiB (GPU 0; 3.94 GiB total capacity; 1.50 GiB already allocated; 23.00 MiB free; 49.10 MiB cached),it is wired??

Maybe these actions can help you?
https://github.com/princeton-vl/CornerNet/issues/34


ci(Ruff): List disabled rather than enabled rules

Instead of listing all enabled rule sets explicitly, use the "ALL" selector, and disable the few rule sets that don't apply to our repository. As a consequence, rule sets added to Ruff in future releases will be enabled by default.

Good catch; fixed!


Database models 30 controller

The Delegate-Pattern haven't been implemented correctly:
The openapi-plugin generates the Controller-classes already for us, these have a class (the Service-class written by us) injected, which implements the Delegate-interface.
Our part is to implement the Service-classes executing the businesslogic (CRUD-operations in this case).
You should also make sure that the Service class implements the

Annotating the Service-classes with @Component is fine, however @Service is better. this is a purely cosmetic change, there is technically no difference.


Fix snark pool long async cycles

As part of investigating #13324, it was discovered that the primary underlying issue was that the snark pool was leaking. The issue causing the leak was that the snark pool refcount frontier extension was not properly decrementing entries when the frontier root transitions. Additionally, when the extension would compute the removed entries, it would only count the number of scan state that caused entries to be removed, which negatively impacted the garbage collection logic in the snark pool as the implementation relied on this count.
Fixing the snark pool refcount leak would have caused another issue in that the snark pool garbage collection logic, which is now triggered properly with the fix, was wildly inefficient. The worst case number of works in the snark pool is about 2*720*128*0.75=138240 (fork_factor*k*works_per_block*f), which was large enough to warrant addressing this.
The following changes are included in this PR:

snark pool persistence was removed
fixed bug in snark pool refcount table where old root scan state works were not decremented
optimized snark pool garbage collection by changing snark pool refcount to send a negative diff when works are invalidated
optimize snark pool refcount view broadcast logic not send irrelevant diffs
removed unnecessary references to snark pool refcount internal tables within the snark pool

Closes #13324.

!ci-build-me

!ci-build-me

!ci-build-me


Eliminate use of vfsgen

Remove use of vfsgen and replace in favor of go-bindata which we use in several
other places in Istio. This removes several lines of code, improves access performance,
and eliminates a snowflake case.

@geeknoid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

operator-build
3ef056b2774f39909e404fa1cc3dacac59ef700c
link
/test operator-build

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

Removing cmd/vfsgen/vfsgen.go means that an external tool will have to be installed. Imo it's better to keep this file since it's essentially a self-installing vfsgen.

@ostromart The source code for the tool has been moved to the tools repo and and slightly generalized (https://github.com/istio/tools/pull/255).
We want all build tools to be in the build-tools container and we expect everyone will be building using the container bits. As a general rule, if you don't build using the build-tools container, then you will be responsible for ensuring your environment has all the right tools present.
Building with the container, you environment will need git, make, and docker and that's it. If you don't use the container, then you need to install the right version of go, various tools from the tools repo, gogo plugins, golangci-lint, goimports, and more. vfsgen is not special in that way, it's just another tool.
To get vfsgen working outside the container, you simply need "go get istio.io/tools/cmd/vfsgen".

@geeknoid: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

operator-build
b56d7b396ae65b8d0cc6a4b9aa609d831de976d9
link
/test operator-build

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

I've updated this PR to completely eliminate the use of vfsgen. Elsewhere in Istio we use go-bindata to do the same kind of thing, so it makes sense to use that here too (especially since it ends up saving code).
PTAL

@geeknoid: PR needs rebase.

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

In general I don't mind checkin in generated code - but in this case it may be a bit too big.
AFAIK the long-term plan is to use istioctl, built as part of the release download binary, as well as a in-cluster operator.
In both cases the actual templates will be included as files - either as part of a docker image or in the .tar.gz ( where they can also be used with helm template or kustomize ).
What is the value of including them in the binary ( and in a separate PR to implement a downloader and package manager) ? Please confirm with the release team as well.

@costinm This PR is not changing any behavior. It is simply changing how the content is being included in the binary. It was included in the binary before this PR and it still is.

@ostromart You  set the do not merge label on this PR. Do you have more concerns to address?

@geeknoid I have to go through and try this out but am completely swamped due to the release. Just looking at the code, I don't see an Asset() in my generated code so I'd like to understand better what that is.
Since this is not a critical fix, can it wait till next week to go in?

There's no urgency, we're just trying to nail the container-based-build thing.

Sure, but instead of doing more work and testing on a new generation method

it is better to just stop using generation and simplify both the build
and the codebase.

On Mon, Aug 12, 2019 at 10:46 PM Martin Taillefer<EMAIL_ADDRESS>wrote:

@costinm https://github.com/costinm This PR is not changing any
behavior. It is simply changing how the content is being included in the
binary. It was included in the binary before this PR and it still is.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/istio/operator/pull/180?email_source=notifications&email_token=AAAUR2XS4DFV4SW2FIWNOZ3QEJDDNA5CNFSM4IKZ4RTKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOD4ETK7A#issuecomment-520697212,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAAUR2UTOWKCXOW3HMHYN33QEJDDNANCNFSM4IKZ4RTA
.

This seems fine to me (I still need to fully try it out) but something to consider:
https://tech.townsourced.com/post/embedding-static-files-in-go/
This is why I originally went with vfsgen and we may want to consider it as a replacement. However if go-bindata is working for us I don't have any problem with continuing to use it.

@ostromart Nice article. It does sound like for a web app scenario, vfsgen is a better choice. But for our use case, go-bindata serves the purpose and is simpler.

related PR: https://github.com/istio/operator/pull/190

@ostromart if 190 merges, doese that obliviate the need for this PR and vfsgen in genereal?
Cheers
-steve

@costinm I'm good with a bit of an incremental approach to removing the code gen.  IMO it needs to go - it is hard to reason about.  I think @ostromart is on track for doing that work.


UIKIT_EXPORT_CLASS macro missing for some UI classes

The UIKIT_EXPORT_CLASS macro is missing for some UI classes like UIMenuController and UIMenuItem.

It is also missing for UIRefreshControl.

Hey @LenoreMarlow,
Have you thought about submitting a pull request for this issue, since you fixed it on your end? We would be glad to merge your contribution and make it available to the community!

UIKIT_EXPORT_CLASS added to 2 files UIMenuItem.h and UIMenuController.h.
File location ..\winobjc\include\UIKit
UIKIT_EXPORT_CLASS Fix for UIMenu classes.zip

Thanks for this. Could you submit a pull request for these changes? We'll review it and approve it.
Thanks!


[BUG] EventHubTrigger on EventData[] processing same event multiple times

Library name and version
Microsoft.Azure.WebJobs.Extensions.EventHubs 5.3.0
Describe the bug
Single message being handled many times over, like the Checkpoints aren't being saved after processing a batch of messages. Older image of an instance of this occurring, but continues to be a problem. Sometimes (as seen here) it's the exact same batch being handled over again.

Expected behavior
After a batch is handled, checkpoint is written, and that batch is not handled again.
Actual behavior
Batches being handled multiple times, or a single message making it into many unique batches.
Reproduction Steps

Create function with EventHubTrigger for EventData[] for processing batches that logs message id's
host.json: "eventHubs": {
"maxEventBatchSize": 200,
"minEventBatchSize": 50,
"maxWaitTime": "00:02:00"
}
Send chunk of messages (>1k or so)
See logs for messages handled multiple times

Environment
Azure Windows Function App version: 4.1.3
Consumer Function App plan
Region: West US 2
.NET 6

originally opened this issue in https://github.com/Azure/azure-functions-host/issues/9543 which notes I have tried upgrading to Microsoft.Azure.WebJobs.Extensions.EventHubs 5.4.0 to no avail

Thanks for reporting the issue.  Assigning it to the person best able to assist you.
//c: @jsquire

Hi @NattyMojo.  Thank you for reaching out and we regret that you're experiencing difficulties.  There is a known issue with minBatchSize not recording checkpoints when there are not enough events available to meet the requested batch size in the wait time allowed.  This has been fixed with v6.0.0.    Would you please try to reproduce by either removing the minBatchSize configuration or upgrading to v6+?

@jsquire thanks for the quick feedback! I have upgraded to v6.0.1 and have done some testing. Appears to be resolved in this version, I'm going to watch through the day and I'll come back if I see anything different

Thanks for the confirmation, @NattyMojo.   I'm going to mark this as addressed.  If you need further assistance or would like to continue the discussion, please feel free to unresolve.

Hi @NattyMojo. Thank you for reaching out and we regret that you're experiencing difficulties. There is a known issue with minBatchSize not recording checkpoints when there are not enough events available to meet the requested batch size in the wait time allowed. This has been fixed with v6.0.0. Would you please try to reproduce by either removing the minBatchSize configuration or upgrading to v6+?

@jsquire how come this bugfix isnt mentioned in the 6.0.0 changelog?

@jsquire how come this bugfix isnt mentioned in the 6.0.0 changelog?

That is an excellent question.  I would assume that it was a mistake.   I'll see about getting it added.


No compatible binary build found for this package. Contact the package author and ask them to publish it

=> Started proxy.
=> Started MongoDB.
=> Errors prevented startup:

   While checking for<EMAIL_ADDRESS>   error: No compatible binary build found for this package. Contact the package author and ask them to publish it
   for your platform.

=> Your application has errors. Waiting for file change.

@ForsakenHarmony can you please specify your operating system?
Also what package versions are you using? can you update to the latest<EMAIL_ADDRESS>

Yeah, updating fixes it
On Tue, 4 Oct 2016, 4:33 p.m. Uri Goldshtein<EMAIL_ADDRESS>wrote:

@ForsakenHarmony https://github.com/ForsakenHarmony can you please
specify your operating system?
Also what package versions are you using? can you update to the latest
<EMAIL_ADDRESS>—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/Urigo/angular-meteor/issues/1444#issuecomment-251405770,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AIb6dKjeKCIxDB0pkB1f79p2CwOh92LRks5qwmOXgaJpZM4KNEpE
.

--
Sincerely, Tim Ullmann


[BUG]

Is there an existing issue for this?

[X] I have searched the existing issues

Current Behavior
No response
Expected Behavior
No response
Steps To Reproduce

use the latest code of master branch and start bootstrap and admin
enable sign plugin and add data in Authentication
when I click EditResourcesDetail in PathOperation Column, there is no response.

When I click Edit in Operation column, I can't see operation button, and can't edit the path content.

When I click Edit in Operation column, I can't see operation button, but When I click add button, I can see operation button, but I can't input content in the second row.

Environment
ShenYu version(s):2.4.3

Debug logs
No response
Anything else?
No response

@AhahaGe  can you fix it？

I will have a try, but I know little about front code.

@AhahaGe  @yu199195   The third step is a back-end bug


Test failures on OSX

~/htdocs/react-stream master
❯ phpunit
PHPUnit 5.5.4 by Sebastian Bergmann and contributors.

............SSS.SSS.SSS.SSS.SSS.SSS.SSSFSSS.SSS.SSS............  63 / 154 ( 40%)
............................................................... 126 / 154 ( 81%)
...........................S                                    154 / 154 (100%)

Time: 3.6 seconds, Memory: 69.23MB

There was 1 failure:

1) React\Tests\Stream\DuplexResourceStreamIntegrationTest::testReadsMultipleChunksFromProcessPipe with data set #0 (Closure Object (...), Closure Object (...))
Failed asserting that two strings are equal.
--- Expected
+++ Actual
@@ @@
-'abc'
+'-n a
+-n b
+-n c
+'

/Users/andig/Documents/htdocs/react-stream/tests/DuplexResourceStreamIntegrationTest.php:263

FAILURES!
Tests: 154, Assertions: 228, Failures: 1, Skipped: 31.

Can confirm same results on macOS 10.12.6 w/ PHP v5.6.30

I will add osx travis coverage once it has been merged in socket to reproduce the final setup.

The above test basically means that executing echo -n test will actually echo -n test for Mac OS X while test assumes -n is interpreted as an option flag. Let me look into this :shipit:


WIP: Port region_est_hull to ConvexHull.

This PR is not yet tested, but is work towards addressing #83 by porting region_est_hull to use the new(ish) scipy.spatial.ConvexHull as per @ihincks' suggestion.

Coverage increased (+0.06%) to 45.257% when pulling e86c6d96dca7f0a9b9d6c3ab77f2c9aca4f4f36f on feature-scipy-qhull into ea90440fa3ff3c5cbc7fcae2ebc8dfc4bf97201c on master.

So as to get a useful example, I added convex hull support to qi.tomography.plot_rebit_posterior. It seems to work fairly well, even with this being a 2D example. (I wasn't sure how to visualize a 4D or higher example.)
(I'd attach an image, but GitHub seems to be blocking images atm. Will try again soon.)

Coverage decreased (-0.02%) to 45.176% when pulling 253201ee33204f9677c291e20543236de7e3b4dc on feature-scipy-qhull into ea90440fa3ff3c5cbc7fcae2ebc8dfc4bf97201c on master.

Coverage decreased (-0.02%) to 57.181% when pulling dfe07a572fb528124bcb2b321175155d3cc1da6d on feature-scipy-qhull into 7fa6d179f6f9ef9c80db500725ce0a8074ff40e7 on master.

Coverage decreased (-0.02%) to 57.487% when pulling f2a8ea6b965434087170274c4e3f335b38447fe6 on feature-scipy-qhull into 7d80f4a5331eee7bd454bcfbbe74ff6fdf227b2d on master.

Coverage increased (+1.8%) to 59.256% when pulling 71053a1f812be968c7c34dbf74cd8c960198f001 on feature-scipy-qhull into 7d80f4a5331eee7bd454bcfbbe74ff6fdf227b2d on master.

Coverage increased (+1.8%) to 60.322% when pulling 97b2fd1bab2a1b5905aab4e697d3557012628067 on feature-scipy-qhull into ca9dc478a371eb0e8d9640627903a2bb8f58fa01 on master.

Coverage increased (+1.8%) to 60.322% when pulling 97b2fd1bab2a1b5905aab4e697d3557012628067 on feature-scipy-qhull into ca9dc478a371eb0e8d9640627903a2bb8f58fa01 on master.

Coverage increased (+1.8%) to 60.322% when pulling 97b2fd1bab2a1b5905aab4e697d3557012628067 on feature-scipy-qhull into ca9dc478a371eb0e8d9640627903a2bb8f58fa01 on master.

Coverage increased (+1.8%) to 60.322% when pulling 97b2fd1bab2a1b5905aab4e697d3557012628067 on feature-scipy-qhull into ca9dc478a371eb0e8d9640627903a2bb8f58fa01 on master.

Coverage increased (+1.8%) to 60.322% when pulling 97b2fd1bab2a1b5905aab4e697d3557012628067 on feature-scipy-qhull into ca9dc478a371eb0e8d9640627903a2bb8f58fa01 on master.


ERR getState | {"code":"timeout"}

I checked the log, the first error message came on June 2nd.

[6/2/2020, 9:52:30 PM] [Roborock T4] STA getDevice | Connected to: <IP_ADDRESS>
[6/2/2020, 9:52:30 PM] [Roborock T4] STA getDevice | Model: roborock.vacuum.t4
[6/2/2020, 9:52:30 PM] [Roborock T4] STA getDevice | State: charging
[6/2/2020, 9:52:30 PM] [Roborock T4] STA getDevice | FanSpeed: 102
[6/2/2020, 9:52:30 PM] [Roborock T4] STA getDevice | BatteryLevel: 100
[6/2/2020, 9:52:30 PM] [Roborock T4] INF getSerialNumber | roborock.vacuum.t4 | Serial Number is R0701S92404457
[6/2/2020, 9:52:30 PM] [Roborock T4] STA getDevice | Serialnumber: R0701S92404457
[6/2/2020, 9:52:30 PM] [Roborock T4] INF getFirmware | roborock.vacuum.t4 | Firmwareversion is 3.5.8_0358
[6/2/2020, 9:52:30 PM] [Roborock T4] STA getDevice | Firmwareversion: 3.5.8_0358
[6/2/2020, 9:52:30 PM] [Roborock T4] INF changedCleaning | roborock.vacuum.t4 | Cleaning is OFF.
[6/2/2020, 9:52:30 PM] [Roborock T4] MON changedCharging | roborock.vacuum.t4 | ChargingState is now true
[6/2/2020, 9:52:30 PM] [Roborock T4] INF changedCharging | roborock.vacuum.t4 | Charging is active
[6/2/2020, 9:52:30 PM] [Roborock T4] MON changedSpeed | roborock.vacuum.t4 | FanSpeed is now 102%
[6/2/2020, 9:52:30 PM] [Roborock T4] INF changedSpeed | roborock.vacuum.t4 | Speed was changed to 102% (Balanced), for HomeKit 50%
[6/2/2020, 9:54:42 PM] [Roborock T4] ERR getState | {"code":"timeout"}

On May 22, [5/22/2020, 1:55:21 AM] Loaded plugin<EMAIL_ADDRESS>No error message, everything works perfectly.

[37m[6/2/2020, 9:48:53 PM] Error loading accessory requested in your config.json at position 2
[6/2/2020, 9:48:53 PM] Error: The requested accessory 'XiaomiRoborockVacuum' was not registered by any plugin.
    at PluginManager.getPluginForAccessory (/usr/local/lib/node_modules/homebridge/src/pluginManager.ts:198:15)
    at /usr/local/lib/node_modules/homebridge/src/server.ts:346:37
    at Array.forEach ()
    at Server._loadAccessories (/usr/local/lib/node_modules/homebridge/src/server.ts:329:29)
    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:155:12)
    at cli (/usr/local/lib/node_modules/homebridge/src/cli.ts:80:10)
    at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
[6/2/2020, 9:48:53 PM] Got SIGTERM, shutting down Homebridge...

Then, updated on May 23,

[0;37m[5/23/2020, 2:24:18 PM] [Config] Running Command: sudo -E -n npm install homebridge-xiaomi-roborock-vacuum@latest
[5/23/2020, 2:25:05 PM] [Config] Command failed. Please review log for details.
But no error message as the title of this issue.

Next updated on June 2nd,

[0;37m[6/2/2020, 9:48:42 PM] [Config] Running Command: sudo -E -n npm install homebridge-xiaomi-roborock-vacuum@latest
[6/2/2020, 9:48:42 PM] [HB Supervisor] Homebridge Process Ended. Code: 143, Signal: null

But after the update, I have the following error message:

[6/2/2020, 9:48:53 PM] Error loading accessory requested in your config.json at position 2

[6/2/2020, 9:48:53 PM] Error: The requested accessory 'XiaomiRoborockVacuum' was not registered by any plugin.
    at PluginManager.getPluginForAccessory (/usr/local/lib/node_modules/homebridge/src/pluginManager.ts:198:15)
    at /usr/local/lib/node_modules/homebridge/src/server.ts:346:37
    at Array.forEach ()
    at Server._loadAccessories (/usr/local/lib/node_modules/homebridge/src/server.ts:329:29)
    at Server.start (/usr/local/lib/node_modules/homebridge/src/server.ts:155:12)
    at cli (/usr/local/lib/node_modules/homebridge/src/cli.ts:80:10)
    at Object. (/usr/local/lib/node_modules/homebridge/bin/homebridge:17:22)
    at Module._compile (internal/modules/cjs/loader.js:1158:30)
    at Object.Module._extensions..js (internal/modules/cjs/loader.js:1178:10)
    at Module.load (internal/modules/cjs/loader.js:1002:32)
[6/2/2020, 9:48:53 PM] Got SIGTERM, shutting down Homebridge...

Then, the log showed I restarted Homebridge several times, and the same error message showed too until it came back to work. But it showed the error message in the beginning of the issue.
And today, I did not use my Rockrobo T4.
At 9:28 PM today, it started the auto self-check(?) as follows:

[6/28/2020, 9:39:58 PM] [Roborock T4] INF getCleaning | roborock.vacuum.t4 | Cleaning is false
[6/28/2020, 9:39:58 PM] [Roborock T4] INF getBatteryLow | roborock.vacuum.t4 | Batterylevel is 100%
[6/28/2020, 9:39:58 PM] [Roborock T4] INF getSpeed | roborock.vacuum.t4 | Fanspeed is 102 over miIO. Converting to HomeKit
[6/28/2020, 9:39:58 PM] [Roborock T4] INF getSpeed | roborock.vacuum.t4 | Fanspeed is 102 over miIO "Balanced" > HomeKit speed 50%

then in 15 min, at 9:54 PM, it showed the timeout error message with no reason.

[37m[6/28/2020, 9:54:44 PM] [Roborock T4] ERR getState | {"code":"timeout"}

If you need any further information, please let me know.

        "name": "Roborock T4",
        "ip": "<IP_ADDRESS>",
        "token": "xxx",
        "waterBox": false,
        "pause": false,
        "dock": false,
        "delay": false,
        "cleanword": "clean",
        "autoroom": false,
        "accessory": "XiaomiRoborockVacuum"

The error you showed when updating
[0;37m[5/23/2020, 2:24:18 PM] �[0m�[0;36m[Config]�[0m Running Command: sudo -E -n npm install homebridge-xiaomi-roborock-vacuum@latest

It should be gone with the latest release (0.12.0). Can you try again and let me know?

I updated to 0.12.0 from 0.11.9 and restarted

[6/29/2020, 9:27:11 PM] [Config] Running Command: sudo -E -n npm install homebridge-xiaomi-roborock-vacuum@latest
[6/29/2020, 9:28:07 PM] [Config] Homebridge restart request received

During the initialization, everything is okay.

[6/29/2020, 9:28:23 PM] [Roborock T4] STA getDevice | Connected to: <IP_ADDRESS>
[6/29/2020, 9:28:23 PM] [Roborock T4] STA getDevice | Model: roborock.vacuum.t4
[6/29/2020, 9:28:23 PM] [Roborock T4] STA getDevice | State: charging
[6/29/2020, 9:28:23 PM] [Roborock T4] STA getDevice | FanSpeed: 102
[6/29/2020, 9:28:23 PM] [Roborock T4] STA getDevice | BatteryLevel: 100
[6/29/2020, 9:28:23 PM] [Roborock T4] INF getSerialNumber | roborock.vacuum.t4 | Serial Number is R0701S92404457
[6/29/2020, 9:28:23 PM] [Roborock T4] STA getDevice | Serialnumber: R0701S92404457
[6/29/2020, 9:28:23 PM] [Roborock T4] INF getFirmware | roborock.vacuum.t4 | Firmwareversion is 3.5.8_0358
[6/29/2020, 9:28:23 PM] [Roborock T4] STA getDevice | Firmwareversion: 3.5.8_0358
[6/29/2020, 9:28:23 PM] [Roborock T4] INF changedCleaning | roborock.vacuum.t4 | Cleaning is OFF.
[6/29/2020, 9:28:23 PM] [Roborock T4] MON changedCharging | roborock.vacuum.t4 | ChargingState is now true
[6/29/2020, 9:28:23 PM] [Roborock T4] INF changedCharging | roborock.vacuum.t4 | Charging is active
[6/29/2020, 9:28:23 PM] [Roborock T4] MON changedSpeed | roborock.vacuum.t4 | FanSpeed is now 102%
[6/29/2020, 9:28:23 PM] [Roborock T4] INF changedSpeed | roborock.vacuum.t4 | Speed was changed to 102% (Balanced), for HomeKit 50%

However, in about 30 minutes, timeout error came again (twice):

[6/29/2020, 9:54:35 PM] [Roborock T4] ERR getState | {"code":"timeout"}
[6/29/2020, 9:55:05 PM] [Roborock T4] ERR getState | {"code":"timeout"}

I did not use or touch my robot since the update.

Homebridge 1.1.1
plugin list:

Homebridge Config UI X 4.23.2
Homebridge Camera FFmpeg 2.0.1
Homebridge Mi Led Desk Lamp 1.2.0
Homebridge Raspberrypi Temperature 0.0.7
Homebridge Xiaomi Roborock Vacuum 0.12.0

Well, once I turned the debug mode on, I found that there is communication every 30 seconds, that's a lot in the log.

[6/30/2020, 6:27:53 AM] [Roborock T4] DEB ensureDevice | roborock.vacuum.t4 | The socket is still on. Reusing it.
[6/30/2020, 6:27:53 AM] [Roborock T4] DEB getState | roborock.vacuum.t4 | State {"batteryLevel":100,"charging":true,"cleaning":false,"fanSpeed":102} | Props {"state":"charging","batteryLevel":100,"cleanTime":1709,"cleanArea":27.615,"fanSpeed":102,"in_cleaning":0,"mainBrushWorkTime":120761,"sideBrushWorkTime":120761,"filterWorkTime":120761,"sensorDirtyTime":120569}
[6/30/2020, 6:27:53 AM] [Roborock T4] DEB changedBattery | roborock.vacuum.t4 | BatteryLevel 100%
[6/30/2020, 6:28:22 AM] [RaspberryPi] update currentTemperatureCharacteristic value: 57.996
[6/30/2020, 6:28:23 AM] [Roborock T4] DEB ensureDevice | roborock.vacuum.t4 | The socket is still on. Reusing it.
[6/30/2020, 6:28:23 AM] [Roborock T4] DEB getState | roborock.vacuum.t4 | State {"batteryLevel":100,"charging":true,"cleaning":false,"fanSpeed":102} | Props {"state":"charging","batteryLevel":100,"cleanTime":1709,"cleanArea":27.615,"fanSpeed":102,"in_cleaning":0,"mainBrushWorkTime":120761,"sideBrushWorkTime":120761,"filterWorkTime":120761,"sensorDirtyTime":120569}
[6/30/2020, 6:28:23 AM] [Roborock T4] DEB changedBattery | roborock.vacuum.t4 | BatteryLevel 100%
[6/30/2020, 6:28:53 AM] [Roborock T4] DEB ensureDevice | roborock.vacuum.t4 | The socket is still on. Reusing it.
[6/30/2020, 6:28:53 AM] [Roborock T4] DEB getState | roborock.vacuum.t4 | State {"batteryLevel":100,"charging":true,"cleaning":false,"fanSpeed":102} | Props {"state":"charging","batteryLevel":100,"cleanTime":1709,"cleanArea":27.615,"fanSpeed":102,"in_cleaning":0,"mainBrushWorkTime":120761,"sideBrushWorkTime":120761,"filterWorkTime":120761,"sensorDirtyTime":120569}
[6/30/2020, 6:28:53 AM] [Roborock T4] DEB changedBattery | roborock.vacuum.t4 | BatteryLevel 100%

As you can see, there was timeout error even I updated to 0.12.0. However, from 2:39:23 AM to 6:28:53 AM, there is no timeout record. The timeout error is random for me, maybe you have idea about that?

 We poll the updates every 30s to ensure we have the latest status.
On top of the -D flag, can you set the environment variable DEBUG=thing:* to see the underlying communication messages between homebridge and the robot?
I'm interested in the logs when that ERR getState | {"code":"timeout"} starts to occur.

I just back home, here's a full log with two timeout inside.
But so wired...
https://gist.github.com/n00d1e5/0cbda83e19ac13d6131ad8b2e2d6b401

I can see it self-recovered, right?
...
[6/30/2020, 9:53:56 PM] [Roborock T4] DEB ensureDevice | roborock.vacuum.t4 | The socket is still on. Reusing it.
[37m[6/30/2020, 9:53:56 PM] [Roborock T4] DEB getState | roborock.vacuum.t4 | State {"batteryLevel":100,"charging":true,"cleaning":false,"fanSpeed":102} | Props {"state":"charging","batteryLevel":100,"cleanTime":1709,"cleanArea":27.615,"fanSpeed":102,"in_cleaning":0,"mainBrushWorkTime":120761,"sideBrushWorkTime":120761,"filterWorkTime":120761,"sensorDirtyTime":120569}
...
[6/30/2020, 9:54:26 PM] [Roborock T4] DEB ensureDevice | roborock.vacuum.t4 | The socket is still on. Reusing it.
[6/30/2020, 9:54:38 PM] [Roborock T4] ERR getState | {"code":"timeout"}
[6/30/2020, 9:54:56 PM] [Roborock T4] DEB ensureDevice | roborock.vacuum.t4 | The socket is still on. Reusing it.
[6/30/2020, 9:55:08 PM] [Roborock T4] ERR getState | {"code":"timeout"}
...
[6/30/2020, 9:55:26 PM] [Roborock T4] DEB ensureDevice | roborock.vacuum.t4 | The socket is still on. Reusing it.
[6/30/2020, 9:55:26 PM] [Roborock T4] DEB getState | roborock.vacuum.t4 | State {"batteryLevel":100,"charging":true,"cleaning":false,"fanSpeed":102} | Props {"state":"charging","batteryLevel":100,"cleanTime":1709,"cleanArea":27.615,"fanSpeed":102,"in_cleaning":0,"mainBrushWorkTime":120761,"sideBrushWorkTime":120761,"filterWorkTime":120761,"sensorDirtyTime":120569}
...
[6/30/2020, 9:55:56 PM] [Roborock T4] DEB ensureDevice | roborock.vacuum.t4 | The socket is still on. Reusing it.
[6/30/2020, 9:55:56 PM] [Roborock T4] DEB getState | roborock.vacuum.t4 | State {"batteryLevel":100,"charging":true,"cleaning":false,"fanSpeed":102} | Props {"state":"charging","batteryLevel":100,"cleanTime":1709,"cleanArea":27.615,"fanSpeed":102,"in_cleaning":0,"mainBrushWorkTime":120761,"sideBrushWorkTime":120761,"filterWorkTime":120761,"sensorDirtyTime":120569}
...

Maybe a faulty connection?
I can see the ensureDevice lines consistently running every 30s, but when the getState | {"code":"timeout"} shows up, they occur after 12s.
Instead, when it works, it pretty much gets the response in the same second (the timestamp in ensureDevice and getState lines are the same).

Hi!
I also have a very similar issue, don't want to open a new one.
I just recently purchased a Mi Robot Vacuum-Mop version. All goes well and connects, but plugin cannot read then the Serial Nr and get the status, so all HomeKit accessories are offline.
Here is my log content from the connection onwards:
[9/1/2020, 1:09:21 PM] [Monica] STA getDevice | Connected to: <IP_ADDRESS>
[9/1/2020, 1:09:21 PM] [Monica] STA getDevice | Model: dreame.vacuum.mc1808
[9/1/2020, 1:09:21 PM] [Monica] STA getDevice | State: undefined
[9/1/2020, 1:09:21 PM] [Monica] STA getDevice | FanSpeed: undefined
[9/1/2020, 1:09:21 PM] [Monica] STA getDevice | BatteryLevel: undefined
[9/1/2020, 1:09:33 PM] [Monica] ERR getSerialNumber | Failed getting the serial number. Error: Call to device timed out
at Timeout.retry [as _onTimeout] (/usr/lib/node_modules/homebridge-xiaomi-roborock-vacuum/miio/lib/network.js:519:23)
at listOnTimeout (internal/timers.js:549:17)
at processTimers (internal/timers.js:492:7) {
code: 'timeout'
}
[9/1/2020, 1:09:33 PM] [Monica] STA getDevice | Serialnumber: Unknown
[9/1/2020, 1:09:33 PM] [Monica] INF getFirmware | dreame.vacuum.mc1808 | Firmwareversion is 3.5.8_1059
[9/1/2020, 1:09:33 PM] [Monica] STA getDevice | Firmwareversion: 3.5.8_1059
[9/1/2020, 1:09:45 PM] [Monica] ERR getState | {"code":"timeout"}
[9/1/2020, 1:10:27 PM] [Monica] ERR getState | {"code":"timeout"}
[9/1/2020, 1:10:57 PM] [Monica] ERR getState | {"code":"timeout"}

I understand that, but for me there is no normal operation after this.

I understand that, but for me there is no normal operation after this.

@gjanos89 can you join the discussion on #444. I want to get to the bottom of this :)


Installation issue

Received error while pip install -e . --verbose
OS: Ubuntu
cuda 11.7 (its working fine with other code/repo, so not likely a cuda issue.)
Using pip 22.3.1 from /home/anaconda3/envs/plenoxel/lib/python3.8/site-packages/pip (python 3.8)
Obtaining file:///home/svox2
Running command python setup.py egg_info
running egg_info
creating /tmp/pip-pip-egg-info-57_evqkd/svox2.egg-info
writing /tmp/pip-pip-egg-info-57_evqkd/svox2.egg-info/PKG-INFO
writing dependency_links to /tmp/pip-pip-egg-info-57_evqkd/svox2.egg-info/dependency_links.txt
writing top-level names to /tmp/pip-pip-egg-info-57_evqkd/svox2.egg-info/top_level.txt
writing manifest file '/tmp/pip-pip-egg-info-57_evqkd/svox2.egg-info/SOURCES.txt'
No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda-11.7'
package init file 'svox2/csrc/init.py' not found (or not a regular file)
reading manifest file '/tmp/pip-pip-egg-info-57_evqkd/svox2.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file '/tmp/pip-pip-egg-info-57_evqkd/svox2.egg-info/SOURCES.txt'
Preparing metadata (setup.py) ... done
Installing collected packages: svox2
Running setup.py develop for svox2
Running command python setup.py develop
running develop
running egg_info
writing svox2.egg-info/PKG-INFO
writing dependency_links to svox2.egg-info/dependency_links.txt
writing top-level names to svox2.egg-info/top_level.txt
No CUDA runtime is found, using CUDA_HOME='/usr/local/cuda-11.7'
package init file 'svox2/csrc/init.py' not found (or not a regular file)
reading manifest file 'svox2.egg-info/SOURCES.txt'
adding license file 'LICENSE'
writing manifest file 'svox2.egg-info/SOURCES.txt'
running build_ext
Traceback (most recent call last):
File "", line 2, in
File "", line 34, in
File "/home/svox2/setup.py", line 55, in
setup(
File "/home/anaconda3/envs/plenoxel/lib/python3.8/site-packages/setuptools/init.py", line 153, in setup
return distutils.core.setup(**attrs)
File "/home/anaconda3/envs/plenoxel/lib/python3.8/distutils/core.py", line 148, in setup
dist.run_commands()
File "/home/anaconda3/envs/plenoxel/lib/python3.8/distutils/dist.py", line 966, in run_commands
self.run_command(cmd)
File "/home/anaconda3/envs/plenoxel/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/anaconda3/envs/plenoxel/lib/python3.8/site-packages/setuptools/command/develop.py", line 34, in run
self.install_for_development()
File "/home/anaconda3/envs/plenoxel/lib/python3.8/site-packages/setuptools/command/develop.py", line 114, in install_for_development
self.run_command('build_ext')
File "/home/anaconda3/envs/plenoxel/lib/python3.8/distutils/cmd.py", line 313, in run_command
self.distribution.run_command(command)
File "/home/anaconda3/envs/plenoxel/lib/python3.8/distutils/dist.py", line 985, in run_command
cmd_obj.run()
File "/home/anaconda3/envs/plenoxel/lib/python3.8/site-packages/setuptools/command/build_ext.py", line 79, in run
_build_ext.run(self)
File "/home/.local/lib/python3.8/site-packages/Cython/Distutils/old_build_ext.py", line 186, in run
_build_ext.build_ext.run(self)
File "/home/anaconda3/envs/plenoxel/lib/python3.8/distutils/command/build_ext.py", line 340, in run
self.build_extensions()
File "/home/anaconda3/envs/plenoxel/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 499, in build_extensions
_check_cuda_version(compiler_name, compiler_version)
File "/home/anaconda3/envs/plenoxel/lib/python3.8/site-packages/torch/utils/cpp_extension.py", line 382, in _check_cuda_version
torch_cuda_version = packaging.version.parse(torch.version.cuda)
File "/home/anaconda3/envs/plenoxel/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py", line 56, in parse
return Version(version)
File "/home/anaconda3/envs/plenoxel/lib/python3.8/site-packages/pkg_resources/_vendor/packaging/version.py", line 275, in init
match = self._regex.search(version)
TypeError: expected string or bytes-like object
error: subprocess-exited-with-error
× python setup.py develop did not run successfully.
│ exit code: 1
╰─> See above for output.

note: This error originates from a subprocess, and is likely not a problem with pip.
full command: /home/anaconda3/envs/plenoxel/bin/python -c '
exec(compile('"'"''"'"''"'"'
# This is <pip-setuptools-caller> -- a caller that pip uses to run setup.py
#
# - It imports setuptools before invoking setup.py, to enable projects that directly
#   import from `distutils.core` to work with newer packaging standards.
# - It provides a clear error message when setuptools is not installed.
# - It sets `sys.argv[0]` to the underlying `setup.py`, when invoking `setup.py` so
#   setuptools doesn'"'"'t think the script is `-c`. This avoids the following warning:
#     manifest_maker: standard file '"'"'-c'"'"' not found".
# - It generates a shim setup.py, for handling setup.cfg-only projects.
import os, sys, tokenize

try:
    import setuptools
except ImportError as error:
    print(
        "ERROR: Can not execute `setup.py` since setuptools is not available in "
        "the build environment.",
        file=sys.stderr,
    )
    sys.exit(1)

__file__ = %r
sys.argv[0] = __file__

if os.path.exists(__file__):
    filename = __file__
    with tokenize.open(__file__) as f:
        setup_py_code = f.read()
else:
    filename = "<auto-generated setuptools caller>"
    setup_py_code = "from setuptools import setup; setup()"

exec(compile(setup_py_code, filename, "exec"))
'"'"''"'"''"'"' % ('"'"'/home/svox2/setup.py'"'"',), "<pip-setuptools-caller>", "exec"))' develop --no-deps
cwd: /home/svox2/

error: subprocess-exited-with-error
× python setup.py develop did not run successfully.
│ exit code: 1
╰─> See above for output.
note: This error originates from a subprocess, and is likely not a problem with pip.

I'm having the exact same error! Have you managed to solve it?

I tried a lot to fix this issue, and I finally found out that there is a simple way to fix this.
First, remove your 'plenoxel' conda environment.
Second, set the specific version of pytorch in environment.yml like this.
 - pytorch=1.11.0 (line25)
Third, redo the command below
conda env create -f environment.yml
conda activate plenoxel
pip install -e . --verbose

I guess that the latest pytorch version was not well doing with plenoxel. Setting it to 1.11.0 helped this case.

Confirmed to have solved it for me as well, thx @jaeyeol816

Thanks a lot! It also solved my problem.

still with the same issue

I update my Nvidia driver from 510 to 515 and CUDA version from 11.6 to 11.7. Then, the problem was solved.

Well,  I added it but still not work.

I tried a lot to fix this issue, and I finally found out that there is a simple way to fix this.
First, remove your 'plenoxel' conda environment.
Second, set the specific version of pytorch in environment.yml like this.  - pytorch=1.11.0 (line25)
Third, redo the command below
conda env create -f environment.yml
conda activate plenoxel
pip install -e . --verbose

I guess that the latest pytorch version was not well doing with plenoxel. Setting it to 1.11.0 helped this case. (Although, lots of warnings occured)

What worked for me is specifying the cudatoolkit version in addition to the pytorch version. Specifically, I set torch==1.11.0 and cudatoolkit=11.3 in the environment.yml before creating the conda environment.

What worked for me is specifying the cudatoolkit version in addition to the pytorch version. Specifically, I set torch==1.11.0 and cudatoolkit=11.3 in the environment.yml before creating the conda environment.

Hello, I  set pytorch=1.11.0 and cudatoolkit=11.3 in the environment.yml. But I still get error.

What worked for me is specifying the cudatoolkit version in addition to the pytorch version. Specifically, I set torch==1.11.0 and cudatoolkit=11.3 in the environment.yml before creating the conda environment.

Hello, I set pytorch=1.11.0 and cudatoolkit=11.3 in the environment.yml. But I still get error.

Just make it pytorch and cudatoolkit. Let it download the proper version itself. The point is that the torch should match your cuda, torch==1.11.0 may not match tour cuda.


Upgrade py-spy v0.3.12, rbspy v0.12.1

I cleaned up the rust build environment a bit.

Changed the base image to rust:1.58-alpine3.15 (instead of rust:xxx which is based on Debian, we just use an Alpine image).
Upgraded rust from 1.52 to 1.58. This was required for the new rbspy & py-spy. I tried to upgrade to newer rust (1.62) but the build fails (of either of the tools, I don't recall). We will need to upgrade them again if/when we upgrade rust.
Removed duplicate logic for the libunwind builds - now using libunwind_build.sh. What I could otherwise do is get rid of cfg(unwind) because we don't currently use it.. but meh. It's nicer to keep the option, I guess :shrug:.
The same PR upgrades both py-spy and rbspy, see explaining comment.

py-spy rebase diff - only the comment.
$ git range-diff v0.3.10..v0.3.10g1 v0.3.12..v0.3.12g1
1:  b23d457 ! 1:  10feb0f Don't gather thread activity for all threads when --nonblocking is provided
    @@ src/python_spy.rs: impl PythonSpy {
     -            thread_activity.insert(threadid, thread.active()?);
     -        }

    --        // Lock the process if appropiate. Note we have to lock AFTER getting the thread
    +-        // Lock the process if appropriate. Note we have to lock AFTER getting the thread
     -        // activity status from the OS (otherwise each thread would report being inactive always).
     -        // This has the potential for race conditions (in that the thread activity could change
     -        // between getting the status and locking the thread, but seems unavoidable right now
2:  f30e48f = 2:  8b041f9 Don't grab stack trace of non-GIL threads when --gil is provided
3:  480deec = 3:  b45bd56 Add a suffix to the stacks to easily identify Python stacks (#1)

#46 84.56 /usr/bin/ld: cannot find libgcc_s.so.1

#46 84.56 /usr/bin/ld: cannot find libgcc_s.so.1

@michelhe from a quick look, any reason why this would happen once I upgrade the rust version?

@Jongy That didn't cut it as now make install is broken.
The difference is that the newer rust baseimage is based on a newer buildpack-deps:buster that uses gcc-10 and not gcc-8, and the libunwind build simply doesn't work properly on gcc-10

Upgrading libunwind might help?

Upgrading libunwind might help?

No, tried from https://github.com/libunwind/libunwind/releases/download/v1.6.2/libunwind-1.6.2.tar.gz but same issue

@Jongy Have we re-iterated this one?

@Jongy Have we re-iterated this one?

Not yet but I want to. Before the next big change in py-spy/pyperf I plan to do https://github.com/Granulate/gprofiler/pull/440#discussion_r945267173

#45 123.5 error: failed to run custom build command for `remoteprocess v0.4.9`
#45 123.5
#45 123.5 Caused by:
#45 123.5   process didn't exit successfully: `/tmp/py-spy/target/release/build/remoteprocess-0485eadff44a6357/build-script-build` (exit status: 101)
#45 123.5   --- stdout
#45 123.5   cargo:rustc-cfg=use_libunwind
#45 123.5   cargo:rustc-link-search=native=/usr/local/lib

we don't really use libunwind in py-spy now. Not sure if rbspy requires it at the moment. If not, we can possibly disable this config altogether.

Now rbspy build fails - probably matter of Rust version compatibility. We'll need to upgrade it before we continue

Merged https://github.com/Granulate/gprofiler/pull/621 into it, for CI to pass This will be merged afterwards.

rbspy is broken:
E       stderr: b"error: Found argument '--on-cpu' which wasn't expected, or isn't valid in this context\n\n\tDid you mean '--on'?\n\n\tIf you tried to supply `--on-cpu` as a value rather than a flag, use `-- --on-cpu`\n\nUSAGE:\n    rbspy record --pid <PID> --silent --rate <RATE> --duration <DURATION> --nonblocking --on\n\nFor more information try --help\n"

Fix:
commit dd4518391de1cf41e0615174541c17542efc96b9 (HEAD -> rbspy-upgrade, origin/rbspy-upgrade)
Author: Yonatan Goldschmidt<EMAIL_ADDRESS>Date:   Thu Dec 15 02:37:40 2022 +0200

    --on-cpu -> --oncpu

    With the dash it's apparently parsed as 2 arg names (short and long): "-c, --on".

Need to disable this PHP lol

Moved the PHP tests flaky mark to https://github.com/Granulate/gprofiler/pull/632.

I verified that it builds on Aarch64.

py-spy range diff:
$ git range-diff origin/master..480deec8b5dde3cd331d1a793106981c1796d172 origin/master..b45bd56ee865835ed2738ed5c994a94590d307
....
 -:  ------- > 31:  fefb88c Fix typos discovered by codespell (#453)
 -:  ------- > 32:  385e7d2 Update tested python versions (#455)
 -:  ------- > 33:  9fd1949 Minor cleanup for python v3.10 (#456)
 -:  ------- > 34:  e1b117a Update dependencies (#457)
 -:  ------- > 35:  fee40b1 Warn about SYS_PTRACE when running in docker (#459)
 -:  ------- > 36:  f20219f Update tested python versions (#462)
 -:  ------- > 37:  5906cb7 Update to latest version of remoteprocess/proc-maps (#463)
 -:  ------- > 38:  693cba1 Update CHANGELOG for v0.3.11 release
 -:  ------- > 39:  0ee5daa Bump version: 0.3.10 → 0.3.11
 -:  ------- > 40:  73e12ef Update tested python versions (#464)
 -:  ------- > 41:  df209a9 Re-enable freebsd CI (#465)
 -:  ------- > 42:  4417b18 Update tested python versions (#467)
 -:  ------- > 43:  91e4eec Update clap & remoteprocess dependencies (#471)
 -:  ------- > 44:  1e971b9 Update README to note that we support python 3.10
 -:  ------- > 45:  39a9863 Update tested python versions (#474)
 -:  ------- > 46:  690008c Update remoteprocess to v0.4.9 (#487)
 -:  ------- > 47:  2a67ba7 Update tested python versions (#485)
 -:  ------- > 48:  232e3c1 Update clap dependency (#489)
 -:  ------- > 49:  ef380e5 Add a subprocesses option for the dump command (#492)
 -:  ------- > 50:  a408874 Add release-drafter workflow for generating release notes (#493)
 -:  ------- > 51:  6913531 Update release drafter workflow (#494)
 -:  ------- > 52:  1ca4e7f add workflow_dispatch trigger for release_drafter (#495)
 -:  ------- > 53:  a01ceeb Bump version: 0.3.11 → 0.3.12
31:  b23d457 ! 54:  10feb0f Don't gather thread activity for all threads when --nonblocking is provided
    @@ src/python_spy.rs: impl PythonSpy {
     -            thread_activity.insert(threadid, thread.active()?);
     -        }

    --        // Lock the process if appropiate. Note we have to lock AFTER getting the thread
    +-        // Lock the process if appropriate. Note we have to lock AFTER getting the thread
     -        // activity status from the OS (otherwise each thread would report being inactive always).
     -        // This has the potential for race conditions (in that the thread activity could change
     -        // between getting the status and locking the thread, but seems unavoidable right now
32:  f30e48f = 55:  8b041f9 Don't grab stack trace of non-GIL threads when --gil is provided
33:  480deec = 56:  b45bd56 Add a suffix to the stacks to easily identify Python stacks (#1)


how can I close the swiped row on a condition?

I want to be able to close the swiped row under some circumstances! is there any callback function or ref thing that I can call to close it?

Hey @blueturtle13g yup you can see an example of this in action here:
https://github.com/jemise111/react-native-swipe-list-view/blob/master/SwipeListExample/example.js#L194
Let me know if you have any problems!


Tidying

This PR updates a couple more classes to use primary constructors and collection expressions.

Codecov Report
Attention: 12 lines in your changes are missing coverage. Please review.

Comparison is base (0a9886d) 73.94% compared to head (5050dc6) 73.89%.

Files
Patch %
Lines

Src/Fido2/Metadata/FileSystemMetadataRepository.cs
0.00%
8 Missing :warning:

Src/Fido2.Models/CredentialCreateOptions.cs
81.25%
3 Missing :warning:

Src/Fido2.Models/Fido2Configuration.cs
75.00%
1 Missing :warning:

:exclamation: Your organization needs to install the Codecov GitHub app to enable full functionality.
Additional details and impacted files
@@            Coverage Diff             @@
##           master     #500      +/-   ##
==========================================
- Coverage   73.94%   73.89%   -0.06%
==========================================
  Files          99       99
  Lines        2698     2681      -17
  Branches      461      461
==========================================
- Hits         1995     1981      -14
+ Misses        598      595       -3
  Partials      105      105

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


Transactions are not in sync for the same wallet on different OS

Defi app installed on windows and a linux vm, Both latest version 2.1.3 and synchronized.

The app shows different values on the liquidity tockens for both btc and etc.
Transactions are missing from app on linux vm.
BTC and ETH are always in synch.
Already tryed the usual stuff like restarting both the app and the vm for both OS.
Screenshots attached so you can see the diff.

Hi @PircolosJM , thanks for your feedback. Have you tried the reindexing option located in Settings?
You may also check your balances in the CLI by:
getbalance — utxo DFI

getokenbalances — DFI
The sum of utxo DFI & DFI would be what’s displayed in your wallet (i.e. 47.10009003). Hope this helps!

Restored the wallet using walet file. I can see the correct balances on CLI but no wallets on the GUI.

Restored thne wallet using 24 words.  Balances are NOT in synch.

The only way that this can be resolved is by restoring the wallet using the 24 words and after that restore AGAIN ON TOP using the wallet file.


Arch arm cortex m swap locking

Fixed several bugs/issues for ARM Cortex-M, but contains some minor documentation updates and refactoring. In brief:

Documents the exception mode for ARM Cortex-M (Documentation)
Fixes race conditions for mpu_buffer_validate() calls
Fixes race conditions and re-works the stack limit checking on ARMv8-M
Enhances the protection via stack limit checking, enforcing it at all times, even during stack transitions
Adds a "syscall-torture" test, to stress-test system calls in all supported architectures (witten by @andrewboie )

Fixes #22275 (for Cortex-M, but it seems fixed for other ARCHes)
Fixes #22685
Fixes #22720

I can confirm that with this PR (which includes my syscall torture test) that the build passes.
sanitycheck  -t userspace -p mps2_an385 -p mps2_an521

@nashif @galak might want to take a look on this one for the 2.2 release

https://github.com/zephyrproject-rtos/zephyr/pull/22691/commits/b07544ab78b69e04961058ba07250073f6158883 needs backporting to 1.14

b07544a needs backporting to 1.14

Not only this commit @andrewboie , I think we should backport the fixes around the PSPLIM updates, as well.
Not sure if we can merge the added tests, particularly the torture-test (for that we'd need to make sure it is passing for all ARCHEs)

b07544a needs backporting to 1.14

Not only this commit @andrewboie , I think we should backport the fixes around the PSPLIM updates, as well.

Is armv8-m user mode even in 1.14? I don't see an mps2_an521 build target? I would not worry about this now.

Not sure if we can merge the added tests, particularly the torture-test (for that we'd need to make sure it is passing for all ARCHEs)

We have to fix the broken user mode on ARC and Cortex-M in the 1.14 branch. I'll deal with this.

b07544a needs backporting to 1.14

Not only this commit @andrewboie , I think we should backport the fixes around the PSPLIM updates, as well.

Is armv8-m user mode even in 1.14? I don't see an mps2_an521 build target? I would not worry about this now.

Not sure if we can merge the added tests, particularly the torture-test (for that we'd need to make sure it is passing for all ARCHEs)

We have to fix the broken user mode on ARC and Cortex-M in the 1.14 branch. I'll deal with this.

v8-M user mode is supported in 1.14 (there's at least the nRF9160 and musca_a1 targets), but probaby not Qemu.

can you backport this PR then?

can you backport this PR then?

The QEMU for ARMv8-M? Sure, I can. Aren't we strictly submitting bug-fixes, though?

can you backport this PR then?

The QEMU for ARMv8-M? Sure, I can. Aren't we strictly submitting bug-fixes, though?

No, what I'm asking is that this PR is backported to 1.14.
We are on the hook to backport bug fixes to that branch.

can you backport this PR then?

The QEMU for ARMv8-M? Sure, I can. Aren't we strictly submitting bug-fixes, though?

No, what I'm asking is that this PR is backported to 1.14.
We are on the hook to backport bug fixes to that branch.

ah, right. Yeap, I will back port it manually, as soon as this is reviewed and merged to master


Removing model validation node and merging Body and non body model validator.

This is a refactor of how we do model validation.
The idea is to do a top down approach once the model object is available,
instead of building a tree during validaiton and then validating. This is possible because the state is already externallized in ModelState.
This is an improvement to the existing system where model binders were responsible for validating the models, and add corresponding errors. The model validation system is now independent of the model binding system.
This helps us in unifying the code base for body and non body based binders.
Currently all model binders except mutable object binder are independent of validation code. The mutable object binder which needs to do some validation ( for scenarios involving [BindRequired] and [BindNever]). This should be cleaned up in a followup PR.
followup PRs:

Cleanup MutableObjectBinder.
Introduce support for skipping validation (and not binding) for a particular property/type etc.

cc : @yishaigalatzer , @pranavkm @rynowak

Have not added the test changes which would have increased the scope of this pr .

I'm in :heart_eyes: which this change.
WOW
much refactor
so simplify
very delete-redundancy
My main concern is that we didn't replace the eventing system on ModelValidationNode. We should discuss if something like this is needed.
Other concern is if there are some little deviations in behavior between the body validator and what model binding used to do in obscure cases (indexer-properties and the like).

Sure ... lets discuss tomorrow for the two concerns you have.

One more top-level concern here is the handling of BindNever and friends. It looks like that was only done by the modelbinding-version of validation, and so the body-validation version needs to include this feature.

@rynowak @pranavkm Updated with the actual PR ( no longer a design PR).

@pranavkm @rynowak  updated.

Updated @rynowak  I have not renamed IObjectModelValidator -> IModelValidator -> IPropertyValidator.
That can be done in a followup PR. I want to get this in asap.

Updated @rynowak I have not renamed IObjectModelValidator -> IModelValidator -> IPropertyValidator. That can be done in a followup PR. I want to get this in asap.

Sounds good to me

:watch: overall design of this is looking awesome! Please review comments and let's chat.

@rynowak updated.

:shipit:


Auto detect container runtime socket path

This is a new version of the stale #2448.
The socket path of the container runtime can vary between different distributions. In order to find the socket path automatically, we query the kubelet configuration from the API Server.
Resolves https://github.com/inspektor-gadget/inspektor-gadget/issues/2447
Additionally, this PR also removes runtimes if their socket path doesn't exist in the IG CLI
How to use
Use container-collection with WithInitialKubernetesContainers or WithhPodInformer options.
Testing done

Executed ig-integration.test on a K3s deployment
Used the example exec tracer program WithInitialKubernetesContainers on a K3s deployment
GitHub CI tests passing: https://github.com/dorser/inspektor-gadget/actions/runs/8913730765

I always make sure to run go mod tidy :)
I fixed the lint issue. Not sure why the CRI-O test fails.

I'm wondering how you tested it. I tried to make it work with K8s and have to apply the following. I suppose it worked for you because you only tried ig, right?

I tested it using IG as a library. I'll look into this now. I assume you tested it using make minikube-deploy and running your tests, right?

Fixed the nits and rebased.
Thanks for the review @eiffel-fl and @mauriciovasquezbernal ❤

There are still some issues going with with golang modules, would you mind doing cd examples && go mod tidy, committing, squashing and pushing that again to fix the CI?


#5481 update to ipywidgets v7

let's wait until v7 appears in conda

EasyForm not syncing its values back to Kernel

i can safely switch on and off this branch by using
conda install -c conda-forge ipywidgets=7.0.0

and
conda install -c conda-forge widgetsnbextension=2.0.0 ipywidgets=6.0.0


[Topics] Card with icon 2/2

https://taskman.eionet.europa.eu/issues/151186
https://github.com/eea/volto-eea-design-system/pull/196 has to be merged first.

@eea-jenkins build storybook

Merged inside Cards - All variations - Accessibility fixes
The requested changes were addressed in the new PR.


Check for model key before it is called

WHY
Solves issues where the field may not have a model key, such as in checklist_dependency fields. This fixes the issue found in PermissionManager here - https://github.com/Laravel-Backpack/PermissionManager/issues/291

Update: we had a problem with the 5.0.1 release. That didn't contain this change. But 5.0.2 does.

Still have this bug on version 6.

the error Undefined array key "model" still occurs


Adding notice about DB creation and migration

SqliteException is thrown without calling it. Not sure about Migrate() though. I have a single migration and just EnsureCreated() works. Missing EnsureCreated() call causes SqliteException : SQLite Error 1: 'no such table: XXX' exception.
I have added exception message to the notice on purpose because devs usually paste them in google in order to find an answer

@sguryev I don't think this guidance is not correct. Can you explain in more detail why this is needed when working through the sample? Did you change/miss some step somewhere?

@ajcvickers I have followed all the steps and then went to google in order to find what's wrong. I would save фищге 20 mins if this info would be in place.

@sguryev The sample uses a seeding pattern that calls EnsureCreated. I verified that there is no error when using the sample code provided. I don't think it makes sense to add this text here because it implies that you need to do something additional to make the sample work, which is not the case.

@sguryev The sample uses a seeding pattern that calls EnsureCreated. I verified that there is no error when using the sample code provided. I don't think it makes sense to add this text here because it implies that you need to do something additional to make the sample work, which is not the case.


Reference instructions are backwards

Add a project reference from the Blogging.Migrations.Startup project to the Blogging.Model project.
This is backwards.
You need to add the ref from Blogging.Model to the Blogging.Migrations.Startup or else you get: Error	NU1201	Project Blogging.Migrations.Startup is not compatible with netstandard2.0 (.NETStandard,Version=v2.0). Project Blogging.Migrations.Startup supports: netcoreapp2.1 (.NETCoreApp,Version=v2.1)	Blogging.Model	C:\Users******\Blogging.Model\Blogging.Model.csproj

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 439f9dd7-6fff-f3af-15a3-c4f407e2c041
Version Independent ID: 2779bb58-f0af-c9ee-cf40-50e24371a7fc
Content: Getting Started on UWP - New Database - EF Core
Content Source: entity-framework/core/get-started/uwp/getting-started.md
Product: entity-framework
GitHub Login: @rowanmiller
Microsoft Alias: divega

What is the role of the console application "Migration.Startup"?  This project is created but not mentioned anywhere else on this document.  I did the initial "add-migration" and no code at all is created in this project.  Surely, I am missing something, but I think this something should be mentioned on this document.

I had the same issue.  Reversing the reference as stated here fixes the problem.
Current instruction (incorrect):
Add a project reference from the Blogging.Migrations.Startup project to the Blogging.Model project.
Please update to:
Add a project reference from the Blogging.Model project to the Blogging.Migrations.Startup project.

Duplicate of #933


Test with two threads at least

Github worker nodes have two cores, IIRC. After the recent changes, we are actually testing on a single core using single thread which may hide some potential bugs.

Fixed via https://github.com/mvndaemon/mvnd/pull/135


Allow user to add httpOptions in the config

About the changes

Allows adding in httpOptions which then gets passed to the unleash client.
This enables

Using self-signed certs (successfully tested with GitLab)

It should be setup that if the user doesn't add a custom httpOptions it would maintain the same runtime before this merge request.
Let me know if changes need to be made! I tried to minimize the changes best I could. :)

Closes # .
Important files

src/client.ts
src/config.ts
Discussion points

Just want to make sure this isn't a breaking change or if that is the right place to add in the config object.

@thomasheartman sweet thanks!


Db/use drag

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[x] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information

I also fixed the offset between the cursor and arrow

Amazing! Looks like a bad merge with remove being removed but I will fix. Thank you!!!!

Oh right didn’t even notice not sure what happened there. As the next step I would try to see if you can avoid re-renders on every frame so not using state.


Refactor eth_feeHistory to use a Fixed Fee

… fees, since Hedera almost always has the same fees
Description:
refactor eth_feeHistory to use a fixed fee instead of fetching actual fees, since Hedera almost always has the same fees
Related issue(s):
Fixes #1087
Notes for reviewer:

Checklist

[ ] Documented (Code comments, README, etc.)
[x] Tested (unit, integration, etc.)

Codecov Report
Patch coverage: 86.00% and project coverage change: +0.53 :tada:

Comparison is base (7787e35) 74.82% compared to head (d578769) 75.35%.

:exclamation: Current head d578769 differs from pull request most recent head 69d7c00. Consider uploading reports for the commit 69d7c00 to get more accurate results

Additional details and impacted files
@@            Coverage Diff             @@
##             main    #1095      +/-   ##
==========================================
+ Coverage   74.82%   75.35%   +0.53%
==========================================
  Files          31       31
  Lines        2089     2126      +37
  Branches      406      413       +7
==========================================
+ Hits         1563     1602      +39
+ Misses        417      416       -1
+ Partials      109      108       -1

Impacted Files
Coverage Δ

packages/relay/src/lib/clients/sdkClient.ts
21.25% <16.66%> (ø)

packages/relay/src/lib/eth.ts
84.22% <93.75%> (+0.44%)
:arrow_up:

packages/relay/src/lib/constants.ts
100.00% <100.00%> (ø)

packages/server/src/validator/objectTypes.ts
100.00% <100.00%> (ø)

... and 3 files with indirect coverage changes
Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

:umbrella: View full report in Codecov by Sentry.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


New command: Update properties of the specified Microsoft Teams channel

Updates properties of the specified Microsoft Teams channel

command: teams channel set -i|--teamId <teamId> --channelName <channelName> --newChannelName [newChannelName] --description [description]
channelName: The name of the channel to update properties of
teamId: The ID of the team to which the channel belong
newChannelName: New display name for the channel
description: New description for the channel

@waldekmastykarz should I take this one next :) ?

Perfect! All yours @rabwill!


Add shift data steps

Added Shift data to etl, ensuring region aggregates are well constructed.

Neat! Your work on historical regions looks great, that's gonna be very useful for other datasets too.

Thanks. On every new dataset, I keep changing the logic a bit. Hopefully, after several iterations, we'll figure out a generic way to get this done and transfer it to datautils.


HiveConfig.Spec.DeploymentConfig: customize controller resources

Heretofore, container resource requests for the deployments/statefulSets managed by hive-operator were hardcoded into the operator's bindata, with no way to customize them.
This commit adds a new field to HiveConfig.Spec called DeploymentConfig. In it, you may list a subsection for each of the
deployments/statefulSets (hive-controllers, hive-clustersync, and/or hiveadmission) containing a resources, which is a standard corev1.ResourceRequirements. For example:
  deploymentConfig:
  - deploymentName: hive-controllers
    resources:
      requests:
        memory: 256Mi
  - deploymentName: hive-clustersync
    resources:
      requests:
        cpu: 30m
        memory: 257Mi

hive-operator will redeploy the controllers (per usual when HiveConfig is edited), copying the specified resources into the container spec for the named deployment/statefulSet.
Note that this is separate from, and unrelated to, HiveConfig.Spec.ControllersConfig, which tailors the behavior of specific controllers running within the containers.
HIVE-2091

/assign @abutcher
/cc @hongkailiu

Hm, is it worth tweaking the docs for this?

Hm, is it worth tweaking the docs for this?

Thanks for the quick action. @2uasimojo
It is clear to me how to use the new fields in HiveConfig.
I can also imagine that doc would be useful for the users without seeing this PR.
Ideally, no docs like this are needed if oc-explain works on the api. But it seems not working
oc explain hiveConfig
KIND:     HiveConfig
VERSION:  hive.openshift.io/v1

DESCRIPTION:
     <empty>

I thought it might be the result of the api coming from Hive, not an out-of-box application. But i found it works for Issuer which comes from Cert-Manager, also a third-party application.
oc explain issuers
KIND:     Issuer
VERSION:  cert-manager.io/v1

DESCRIPTION:
     An Issuer represents a certificate issuing authority which can be
     ...
...

@hongkailiu This is what I was asking: is oc explain adequate or is it worth calling out some aspect of this feature in the docs, e.g. scaling; or in using-hive, where we have this section about scaling clustersync horizontally by increasing controller replicas. @abutcher thoughts?
As for your oc explain not working...

Historically this has been due to a misconfiguration of the CRD itself; but we've fixed that problem (a couple times IIRC) in the past.
At least on CI's hive-rj7rg cluster, oc explain is working for me.

Can you please tell me what cluster you're looking at, and dump the status conditions from oc get crd hiveconfigs.hive.openshift.io -o yaml? (Let's do this offline, since it's likely to be an unrelated issue.)

@2uasimojo I'm in favor of adding a small section about this config option to using-hive.

@abutcher how 'bout I do that in a fup to save on CI resources? (This should merge without retesting, and the fup should skip all the tests if it's just a doc update.)

/lgtm

docs: https://github.com/openshift/hive/pull/1944


artifactGC not working with IRSA

Pre-requisites

[X] I have double-checked my configuration
[X] I can confirm the issues exists when I tested with :latest
[ ] I'd like to contribute the fix myself (see contributing guide)

What happened/what you expected to happen?
what happened?
artifactgc step failed, object still on s3 and workflow did not get archived
what expected?
artifactgc step succeed, object removed off s3 and workflow gets archived
Version
v3.4.1
Paste a small workflow that reproduces the issue. We must be able to run the workflow; don't enter a workflows that uses private images.
              spec:
                serviceAccountName: argo-workflows-server
                artifactGC:
                  strategy: OnWorkflowCompletion
                  serviceAccountName: argo-workflows-workflow-controller
                  podMetadata:
                    annotations:
                      eks.amazonaws.com/role-arn: "arn:aws:iam::redact:role/redact..approle"

logs from the artgc pod:
{"log":"time=\"2022-10-04T10:16:46.328Z\" level=info msg=\"S3 Delete artifact: key: redact/main.log\"\n","stream":"stderr","time":"2022-10-04T10:16:46.32863739Z"}
{"log":"time=\"2022-10-04T10:16:46.328Z\" level=info msg=\"Creating minio client using AWS SDK credentials\"\n","stream":"stderr","time":"2022-10-04T10:16:46.328647872Z"}
{"log":"time=\"2022-10-04T10:16:46.573Z\" level=warning msg=\"Non-transient error: NoCredentialProviders: no valid providers in chain. Deprecated.\\n\\tFor verbose messaging see aws.Config.CredentialsChainVerboseErrors\"\n","stream":"stderr","time":"2022-10-04T10:16:46.573355156Z"}

note: for other AWS things to work i set volume/volumemounts/env variables as in https://github.com/argoproj/argo-workflows/discussions/7461 but artifactgc pod doesn't seem to accept that?

### Logs from the workflow controller

kubectl logs -n argo deploy/workflow-controller | grep ${workflow}

### Logs from in your workflow's wait container

kubectl logs -n argo -c wait -l workflows.argoproj.io/workflow=${workflow},workflow.argoproj.io/phase!=Succeeded

Can you check if the env/volume has been added to the pod?

@tooptoop4 Can you try with a simple POD resource that can access the AWS using IRSA?

I don't know a lot about the various ways of configuring IRSA but what what we tried to provide was two methods of access in S3:

annotations - your eks.amazonaws.com/role-arn should have been transferred to the Artifact GC Pod
you can configure ServiceAccount for Artifact GC in the Workflow spec

Could you do something like what's shown here?

This is enhancement. MVP version supports metadata. we can enhance to support env too.
@tooptoop4 Do you like to submit PR for this enhancement?

For anybody working on this, the idea would be to take the ArtifactGC struct - which can be used both on the WorkflowSpec level and the Artifact level - and add the capability to specify environment variables there.
The way ArtifactGC Pods get created currently, for each unique GC strategy, we need to create one unique Pod per unique set of annotations and labels defined in ArtifactGC struct.
So, the functionality in artifact_gc.go is taking all the artifacts defined and grouping them by annotations/labels. What we need to do is add environment variables to this.

I guess need volumeMounts/volumes too

I guess need volumeMounts/volumes too

yes, you're right

@terrytangyuan @sarabala1979 @juliev0 I would like to work on this issue.

Hi @terrytangyuan, @sarabala1979, @juliev0, I would like to work on this issue.

thanks!

By the way, maybe you already found it but the current logic for grouping artifacts by pod access is here.

Unfortunately, there is this issue related to the ArtifactGC test. It seems to be an issue of artifacts often not getting saved to minio. I believe if each Workflow is run manually one at a time it doesn't happen.

Unfortunately, there is this issue related to the ArtifactGC test. It seems to be an issue of artifacts often not getting saved to minio. I believe if each Workflow is run manually one at a time it doesn't happen.

@AnshulAngaria I'm putting together a PR in which if the Workflow fails, I don't verify the artifacts. Hopefully, this should take care of it.

Something else: If you start up Argo Workflows by running locally, it creates a deployment for minio and port forwards ports 9000 and 9001 to the local machine, so you should be able to open up localhost:9001 in a browser. However, with the latest minio Docker image being pulled, I wasn't able to log in. I think something changed. I found I had to use an old version here (minio/minio:RELEASE.2022-08-13T21-54-44Z) to be able to successfully log in to localhost:9001. I will try to investigate further and/or submit a PR to fix the image tag.

@juliev0 I am able to login to minio

@juliev0 I am able to login to minio
That's interesting! Thanks for checking. Maybe I'll ask around to see if it's happening to anyone else then.

Unfortunately, there is this issue related to the ArtifactGC test. It seems to be an issue of artifacts often not getting saved to minio. I believe if each Workflow is run manually one at a time it doesn't happen.

@AnshulAngaria I'm putting together a PR in which if the Workflow fails, I don't verify the artifacts. Hopefully, this should take care of it.

I have a PR for this here.

Unfortunately, there is this issue related to the ArtifactGC test. It seems to be an issue of artifacts often not getting saved to minio. I believe if each Workflow is run manually one at a time it doesn't happen.

@AnshulAngaria I'm putting together a PR in which if the Workflow fails, I don't verify the artifacts. Hopefully, this should take care of it.

I have a PR for this here.

PR is now merged

For anybody working on this, the idea would be to take the ArtifactGC struct - which can be used both on the WorkflowSpec level and the Artifact level - and add the capability to specify environment variables there.
The way ArtifactGC Pods get created currently, for each unique GC strategy, we need to create one unique Pod per unique set of annotations and labels defined in ArtifactGC struct.
So, the functionality in artifact_gc.go is taking all the artifacts defined and grouping them by annotations/labels. What we need to do is add environment variables to this.

Is there anywhere else I need to make change to add support for a new variable in ArtifactGC struct. After adding a new variable and running make codegen, I am not able to reference it if I add an ArtifactGC at artifact level. However, I am able to reference it if I add ArtifactGC at workflow level.

@AnshulAngaria Hmm, do you mean you're not able to compile if you try to reference the variable? (and I assume it's in capitals) Or do you mean if you try to test with a Workflow it's not parsing the yaml successfully?


Add the possiblity to use the MyData class as a singleton

Not needed. It's not the intention of this framework to provide this functionality. If the user needs this, he can create it himself.


Homepage doesn't always require login

Sometimes you can load the homepage w/o having to login, which seems busted. Need to track it down.

I can't repro this any more?


Failed to install 0.24.2, is it a valid version?

avm install 0.24.2 results in the following message
error: there is no argument named `rpc_port`
    --> cli/src/lib.rs:2208:40
     |
2208 |             "Your configured rpc port: {rpc_port} is already in use"
     |                                        ^^^^^^^^^^

error: there is no argument named `faucet_port`
    --> cli/src/lib.rs:2218:43
     |
2218 |             "Your configured faucet port: {faucet_port} is already in use"
     |                                           ^^^^^^^^^^^^^

error: could not compile `anchor-cli` due to 2 previous errors
warning: build failed, waiting for other jobs to finish...

@fanatid  updated

What rust version do you use? Try latest stable (1.60.0).

^ 1.6.0 fixes it for me, this can probably be closed


Link typo hypervsior

Description
Hi, there is a typo on the website in the "Github" link.
It links to https://github.com/cloud-hypervsior instead of https://github.com/cloud-hypervisor
Steps to reproduce
Go to https://www.cloudhypervisor.org
Click on link "Github" under "Get started" button.
Expected result
Getting to Githuborg page
Actual result
Github 404 error
Environment
N/A

same issue found


maybe can provide Model.get() function for get obj by id？

Although we can use Model.query({"_id": id}).first() to get object by id，But maybe it's better to use a shotcut function like:
Model.get("id")

Hmmm..this is interesting. Django does this too.
Yeah I think we should add it. PRs are welcome.

Just a proposal🐯, maybe should be defined by developer.

I think this is a nice feature, I just can't find a way to add it to our APIs.
So we normally have:
Model.query(Model.name == "A").get()

Where get doesn't really accept any arguments.
I think the closest thing to that idea for me would be:
Model.get_by_id()

Otherwise we need to modify our API to be something like:
Model.get()
Model.all()

And remove the .query() which I think has some pros and cons.
Any feedback would be appreciated.

PRs are always welcome :)