NullPointerException on /upcheck with unix socket Q2T server

Tessera Version: 0.9.2+ (latest on master)
Quorum version: 2.2.3
Using the latest code on master, I have Tessera running with Q2T server bound to a unix socket:
    {
      "app": "Q2T",
      "enabled": true,
      "serverAddress": "unix:///<path>/constellation.ipc",
      "communicationType": "REST"
    }

Logs suggest that the unix socket was opened fine. However, a call to /upcheck by sending the string specified here: https://github.com/jpmorganchase/quorum/blob/v2.2.3/core/private_state_test.go#L242 returns with a 500 error. Attached the error log in Tessera with a few relevant lines before it. Given this is a unix socket, not sure if expecting a hostname/port is correct. Attempting a few workarounds, will update here if anything clicks.
npe.log

The configuration looks good. The error is certainly odd, since it comes from the underlying library that handles the socket. Indeed a hostname/port isn't needed, but the library should be handling that.
I haven't yet been able to reproduce this issue, here are some of things I've tried:

printf 'GET /upcheck HTTP/1.0\r\n\r\n' | nc -Uv qdata/c1/tm.ipc | tail -n 1
curl --unix qdata/c1/tm.ipc http://localhost/upcheck

The test you linked has some oddities which I'm not sure are valid, but the string that is contained there should be fine, and in fact I used it for point 1.
Was this a one time issue or does it happen with predictability?

This error is consistent for me. The check never returns a success, I poll that URL before starting quorum, as a way to determine that Tessera is ready.

Do both of the commands above give the error?
As I mentioned, so far I am unable to reproduce this.
Are you able to share your full configuration and which OS you are using?

Thanks, @prd-fox . The 2nd URL works for me. Running Tessera on a Linux OS running in docker/kubernetes. I have changed the way we check the /upcheck endpoint and quorum starts fine now as well.


FIX/REFACTOR: FoldContent revamp

We hit a snag with our hot topic gist strategy: the regex we used to split the content didn't work, so we cannot send the original post separately. This was important for letting the model focus on what's new in the topic.
The algorithm doesn’t give us full control over how prompts are written, and figuring out how to format the content isn't straightforward. This means we're having to use more complicated workarounds, like regex.
To tackle this, I'm suggesting we simplify the approach a bit. Let's focus on summarizing as much as we can upfront, then gradually add new content until there's nothing left to summarize.
Also, the "extend" part is mostly for models with small context windows, which shouldn't pose a problem 99% of the time with the content volume we're dealing with.

Also, the "extend" part is mostly for models with small context windows, which shouldn't pose a problem 99% of the time with the content volume we're dealing with.

Given that 99% of the time we will only do a single pass, shouldn't we only support that to simplify code?

Also, the "extend" part is mostly for models with small context windows, which shouldn't pose a problem 99% of the time with the content volume we're dealing with.

Given that 99% of the time we will only do a single pass, shouldn't we only support that to simplify code?
Like
if "topic fits in context"
   summarize with all posts
else
  summarize using best replies mode
end

This brings up another point: with the average context window being much larger than it was a year ago, are we being overly cautious in how we choose posts to summarize? I think the answer is probably yes, and we could probably start sending the entire topic to the model.
However, I don’t think we should completely drop the folding. It’s a good safety net for avoiding overwhelming the LLM with too much content. I wouldn't expect this approach to change much, especially now that we've separated the "what" and the "how" into different strategies.

This brings up another point: with the average context window being much larger than it was a year ago, are we being overly cautious in how we choose posts to summarize? I think the answer is probably yes, and we could probably start sending the entire topic to the model.

LLMM config gives us the exact context size, so we know if it fits or not. We should check, if the topic size is < 80% of the context window we should send it all.

This brings up another point: with the average context window being much larger than it was a year ago, are we being overly cautious in how we choose posts to summarize? I think the answer is probably yes, and we could probably start sending the entire topic to the model.

LLMM config gives us the exact context size, so we know if it fits or not. We should check, if the topic size is < 80% of the context window we should send it all.

Fair enough. I'll follow-up on a different PR.


must_not_contain_all and must_not_contain_any also need to be converted to lists if single str is provided

This stuff needs also to be done with these keywords in case user provides only single str:
https://github.com/JohannesWiesner/nisupply/blob/141697eaed7577c1971c7dd858c06824db8f390a/nisupply/io.py#L74-L79

Currently, if user provides single str, this causes errors!


Adding alter command + correcting the example

@SnehaGunda

@kanshiG : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@kanshiG : Thanks for your contribution! The author(s) have been notified to review your proposed change.

@kanshiG signing off on the PR now, would be great if you can submit PRs to the private repo in future as that's the suggested path for internal folks. You will have more control like viewing the preview content.
#sign-off

@SnehaGunda: I'm sorry - only the author of this article, @markjbrown, can sign off on your changes. But we do have an exception process - if you are on the Microsoft content or product team for this product area, you can ask the PR review team to review and merge it by sending mail to the techdocprs alias.

#sign-off

Publishing is suspended until Monday, November 4. Merging will resume 7 AM PT Monday.
This PR is ready for merge.


Now fixed index.html and style.css for footer

closes #2

@NaveenChandraAdhikari , please resolve this merge conflict.I can't merge or allocate point in sheet until this resolved.

@NaveenChandraAdhikari , are you still want to continue with this issue ? If I didn't get any response then I will assign this to someone else.

@NaveenChandraAdhikari , are you still want to continue with this issue ? If I didn't get any response then I will assign this to someone else.

NO I WANT TO I am fixingit

@NaveenChandraAdhikari , are you still want to continue with this issue ? If I didn't get any response then I will assign this to someone else.

@Jagroop2001 can you see it now
...i don't know why every time git generates the issue as the issue is only related to  syntaxing ,from my side footer is working properly

https://github.com/Jagroop2001/AcmeRockets/issues/2

It's merged now !!


SlaveConnectionPool  24 connections initialized for slaves in redisson   version: '3.17.1'

I am working with redisson  in Sentinel mode which is creating so many connections by default. Though you have mentioned in many comments that this bug is fixed in "Fixed in https://github.com/redisson/redisson/issues/4011" .But i am still getting the same problem even in 13.7.1 version
Redisson version
3.17.1
Redis version
<IP_ADDRESS>
My Code :
  config.useSentinelServers() 					.setMasterName("master") 					.addSentinelAddress("redis://<IP_ADDRESS>:26379") 					.addSentinelAddress("redis://<IP_ADDRESS>:26380") 					.addSentinelAddress("redis://<IP_ADDRESS>:26381") 					.setTimeout(60000) 					.setRetryAttempts(250) 					.setRetryInterval(1500) 					.setReadMode(ReadMode.SLAVE) 					.setConnectTimeout(20000) 					.setSubscriptionMode(SubscriptionMode.MASTER);
Expected behavior
Its creating so many connections as:
2022-05-25 06:48:20.036  INFO 14812 --- [isson-netty-2-2] o.r.c.pool.MasterPubSubConnectionPool    : 1 connections initialized for <IP_ADDRESS>/<IP_ADDRESS>:6379
2022-05-25 06:48:20.107  INFO 14812 --- [isson-netty-2-2] o.r.c.pool.MasterConnectionPool          : 4 connections initialized for <IP_ADDRESS>/<IP_ADDRESS>:6379
2022-05-25 06:48:20.116  INFO 14812 --- [sson-netty-2-15] o.r.c.pool.PubSubConnectionPool          : 1 connections initialized for <IP_ADDRESS>/<IP_ADDRESS>:6390
2022-05-25 06:48:20.120  INFO 14812 --- [isson-netty-2-4] o.r.c.pool.PubSubConnectionPool          : 1 connections initialized for <IP_ADDRESS>/<IP_ADDRESS>:6380
2022-05-25 06:48:20.129  INFO 14812 --- [isson-netty-2-2] o.r.connection.pool.SlaveConnectionPool  : 4 connections initialized for <IP_ADDRESS>/<IP_ADDRESS>:6390
2022-05-25 06:48:20.130  INFO 14812 --- [sson-netty-2-29] o.r.connection.pool.SlaveConnectionPool  : 4 connections initialized for <IP_ADDRESS>/<IP_ADDRESS>:6380
Actual behavior
Its creating so many connections as:
2022-05-25 06:48:20.036  INFO 14812 --- [isson-netty-2-2] o.r.c.pool.MasterPubSubConnectionPool    : 1 connections initialized for <IP_ADDRESS>/<IP_ADDRESS>:6379
2022-05-25 06:48:20.107  INFO 14812 --- [isson-netty-2-2] o.r.c.pool.MasterConnectionPool          : 24 connections initialized for <IP_ADDRESS>/<IP_ADDRESS>:6379
2022-05-25 06:48:20.116  INFO 14812 --- [sson-netty-2-15] o.r.c.pool.PubSubConnectionPool          : 1 connections initialized for <IP_ADDRESS>/<IP_ADDRESS>:6390
2022-05-25 06:48:20.120  INFO 14812 --- [isson-netty-2-4] o.r.c.pool.PubSubConnectionPool          : 1 connections initialized for <IP_ADDRESS>/<IP_ADDRESS>:6380
2022-05-25 06:48:20.129  INFO 14812 --- [isson-netty-2-2] o.r.connection.pool.SlaveConnectionPool  : 24 connections initialized for <IP_ADDRESS>/<IP_ADDRESS>:6390
2022-05-25 06:48:20.130  INFO 14812 --- [sson-netty-2-29] o.r.connection.pool.SlaveConnectionPool  : 24 connections initialized for <IP_ADDRESS>/<IP_ADDRESS>:6380
Please review this .

specify slave and master pool size explicitly through subscriptionConnectionPoolSize and masterConnectionPoolSize settings

specify slave and master pool size explicitly through subscriptionConnectionPoolSize and masterConnectionPoolSize settings

Hi @mrniko - did you mean connectionMinimumIdleSize & subscriptionConnectionMinimumIdleSize ? Because if we try to set for example connectionPoolSize to a value lower than connectionMinimumIdleSize the exception is connectionPoolSize can't be lower than connectionMinimumIdleSize.

@mrniko Hello. I see that this is a closed thread but kinda miss the solution here. We have the same problem but in the other direction. We need to increase the connection pool size because we have lots of timeouts and retries. We have this configuration:
@Bean
public RedissonClient redissonClient() throws IOException {
Config config = new Config();
config
.useSentinelServers()
.setMasterName(redisSentinelMasterName)
.addSentinelAddress(redisSentinelNode1Host, redisSentinelNode2Host, redisSentinelNode3Host)
.setSlaveConnectionPoolSize(100)
.setMasterConnectionPoolSize(100)
.setSubscriptionConnectionPoolSize(100)
.setPassword(redisPassword);
config.setCodec(jsonJacksonCodecExt);
return Redisson.create(config);

}
However, in the logs i still see that only 24 threads are initialized and still we have around 1.6 - 3.2 - 4.8 waiting time when we try to get data from the cache.
Here is a snippet from our measurement of getCachedItem(String key) execution
2024-09-26 08:49:00.066  INFO 1 --- [ntainer#0-1-C-1] com.nbs.trading.cache.CacheService       : Getting item from cache 'ACCOUNTS' with key 41471c41-7030-4c85-87df-ba4c326d5d76 END: 1
2024-09-26 08:49:00.374  INFO 1 --- [io-8084-exec-10] com.nbs.trading.cache.CacheService       : Getting item from cache 'ACCOUNTS' with key 2daae63e-ff14-4ef7-8479-0e1bc3cc37a9 END: 1597
2024-09-26 08:49:00.387  INFO 1 --- [nio-8084-exec-6] com.nbs.trading.cache.CacheService       : Getting item from cache 'ACCOUNTS' with key b7ceccdb-8b48-4d86-bcbd-5107e7a92779 END: 1
2024-09-26 08:49:01.073  INFO 1 --- [ntainer#0-0-C-1] com.nbs.trading.cache.CacheService       : Getting item from cache 'stages' with key 7cbad186-e57b-4f07-94ea-96143945559e END: 1598
2024-09-26 08:49:01.671  INFO 1 --- [ntainer#0-1-C-1] com.nbs.trading.cache.CacheService       : Getting item from cache 'ACCOUNTS' with key 41471c41-7030-4c85-87df-ba4c326d5d76 END: 1
2024-09-26 08:49:01.974  INFO 1 --- [nio-8084-exec-2] com.nbs.trading.cache.CacheService       : Getting item from cache 'ACCOUNTS' with key 831dfb29-9276-48b4-a9c3-68dc8f191515 END: 3182
2024-09-26 08:49:01.986  INFO 1 --- [nio-8084-exec-9] com.nbs.trading.cache.CacheService       : Getting item from cache 'ACCOUNTS' with key 6bbfa687-6e05-4a17-8f63-cf759a7f01da END: 1
2024-09-26 08:49:02.673  INFO 1 --- [ntainer#0-0-C-1] com.nbs.trading.cache.CacheService       : Getting item from cache 'ACCOUNTS' with key 1653e725-f104-4285-8995-2b8458143745 END: 1599
2024-09-26 08:49:03.474  INFO 1 --- [nio-8084-exec-1] com.nbs.trading.cache.CacheService       : Getting item from cache 'ACCOUNTS' with key b7ceccdb-8b48-4d86-bcbd-5107e7a92779 END: 4731
2024-09-26 08:49:03.572  INFO 1 --- [nio-8084-exec-5] com.nbs.trading.cache.CacheService       : Getting item from cache 'ACCOUNTS' with key 5cd67742-ca2b-4e9b-8c34-41dcda515a87 END: 1575
2024-09-26 08:49:03.574  INFO 1 --- [nio-8084-exec-3] com.nbs.trading.cache.CacheService       : Getting item from cache 'ACCOUNTS' with key d03d86f8-98b0-4bdd-bb84-477fbbc4a4de END: 3178
that is the implementation:
protected T getCachedItem(String key) {
long startTime = System.currentTimeMillis();
LOGGER.info(
String.format("Getting item from cache '%s'  with key %s Start", getCacheName(), key));
T item = (T) redissonClient.getMap(getCacheName()).get(key);
long endTime = System.currentTimeMillis();
LOGGER.info(
String.format("Getting item from cache '%s' with key %s END: %s", getCacheName(), key, endTime - startTime));
return item;
}
Could you advise on this - is the connection count is the problem in the first place and if yes - how to increase those values since above config does not take effect.
Thank you!


Feature request: Ability manually add translation

Hello,
It would be nice if Poedit would have ability to add translations manually.
Parsing from source with keyword "self::l" does not work.

This request comes from fundamentally misunderstand how gettext works — it doesn't make sense to add source strings manually, and Poedit is not going to have that capability for PO files. See the GNU gettext manual.
As for the rest, where you don't provide any details, self::I is not a valid function name in any language I know, so there's your problem.
P.S. Please don't mix multiple things in a single issue and provide more detailed explanations of what you mean — see this document (which GitHub asked you to do when you created this issue). Thanks!


Using logging to replace print

Do we have any code style to follow?
And could you give some details about the design and framework?

Thanks for your contribution!


[WIP] Data host opt in

If this depends on #86, please make the base of this PR that branch. It makes it much easier for me to review since I see only what is new in this PR.


schema browser, build update statement context menu command

I'd like to see a context menu item in schema browser to build the UPDATE statement for a table. It would automatically put the identity column in where clause.

also moved SQL gen commands to there own container menu


Collection test rewrite

Two things:

Rewrote test collection.js to use module(..., {setup:...}) so that tests can be independent and not have to depend on each other.   This makes it easier to find failing tests.

Added a test and fix for to handle cached 304 notmodified responses.  In the success callback of a 304,  a Collection must not try to reset itself as the data provided will always be undefined.

Thanks, but I'm afraid that I left this dangling for long enough that the changes no longer apply. If you'd like to take another crack at it, feel free.


asynchronous between sound and video after while

thx for this great lib
but i think there is an issue, asynchronous between sound and video after while,what i mean that there is no match between sound and the scene after a while and this issue appears only if  there is subtitle.
thx in advance

Hi hassan379,
I will try to reproduce the issue, but I need an example video and subtitle to test it.
Thanks!

here is the subtitle :
http://techsoft2016.byethost12.com/subtitles/ipman.srt
and here is the video link:
http://www.spruto.tv/get_file/2/980e72a475984041ec6a13c3593adbd6/162000/162404/162404.mp4
thx in advance

Hi,
I tried with local and remote mp4 and works correctly. Please, review your code.


Misleading error message on ambiguous install command

Apologies for the newb question - I'm new to coreutils...
I want to install Golang globally:
tea +go.dev install go

However, this fails with:
install: missing destination file operand after 'go'
Try '/Users/kevin.c/.tea/gnu.org/coreutils/v9.4.0/bin/install --help' for more information.

Coreutils should already be pre-installed on macOS.
Any thoughts @jhheider?

That's calling /usr/bin/install go in an environment with go available. So, install is complaining about missing second operand (install --help).
I believe you want tea install go. See https://docs.tea.xyz/using-tea/tea-install.

Interesting. Seems like our errors aren't matching reality. How about tea install go.dev?

Doh 🙈 that worked!

tea install go

× multiple projects provide: go
│ pls be more specific:
│
│     tea +encore.dev/go install go
│     tea +go.dev install go
│
╰─➤ https://help.tea.xyz/ambiguous-pkgspec

this is still an issue we should fix. in the install case, it should be providing tea install ${pkg.name}.

You wanted tea install go.dev. tea install only works if you specify it precisely like that.
I agree this sucks, and will try to figure out what should be done about it.
This is ofc. exactly why I never wanted to add tea install and you should always be careful to give people what they claim they want…

tea install node definitely works. I think the only (substantial) issue is that the error message shows incorrect usage on ambiguous names to the install keyword; it instead shows the ambiguous name error as if it was passed tea +go install go.

I would recommend you close this one, @jhheider, since the original problem was fixed.

Maybe. I still consider the buggy error message to be an issue.

I see.
BTW this can also happen if user is not running v1 yet, and tries to issue a tea install.

No worries, it's perfectly understandable.

Fixed by #815


Cannot Intercept QR code after transfer!!

solved, thanks!

Would you mind sharing how you solved it?

Would you mind sharing how you solved it?


multi-word author surnames incorrectly rendered in references

Describe the issue
In references, names like
"Koen De Schepper" or "John D. Rockefeller III"
render as
"Schepper, K. D." or "III, J. D. R."
This seems to be based on narrow assumptions about the form of people's names internationally.
To fix this it will be necessary to ensure the bibxml database holds surname, initials and fullname like it used to. Now it only holds fullname, see for example:
https://bib.ietf.org/public/rfc/bibxml3/reference.I-D.ietf-tsvwg-l4s-arch.xml
Then references would be simply rendered as <surname, initials> rather than having to use heuristics on fullname.
Code of Conduct

[X] I agree to follow the IETF's Code of Conduct

Follow-up comment: The issue affects all rendering formats (txt, html, pdf).
It solely affects references generated via bibxml, not the rendering of author names in the author's own document itself (e.g. in the header block or authors' addresses section).

It's a bit late to go back and redo the database project that we just finished. I think the correct solution is to put the full name in the reference and don't try to be clever.

Not sure this is something that will involve an xml2rfc code change - should we track it at bibxml-project instead?
(Or if this is "abandon all pretense of understanding what last name means" maybe this goes into an RSWG draft?

Bibxml issue indeed
Sent from mobile, sorry for terse

On 26. Aug 2022, at 17:43, Robert Sparks @.***> wrote:

Not sure this is something that will involve an xml2rfc code change - should we track it at bibxml-project instead?
(Or if this is "abandon all pretense of understanding what last name means" maybe this goes into an RSWG draft?
—
Reply to this email directly, view it on GitHub, or unsubscribe.
You are receiving this because you are subscribed to this thread.

The citation style of initials and surname is one of those things that just happened a long time ago probably because it was the style used in a journal article somewhere. The current Chicago Manual shows full names in their example references and I think we should take the hint.
The only utility of picking out surnames is to alphabetize them, but we have never done that.


Wrong extract command in FindLibUSB.cmake

diff --git a/cmake/modules/FindLibUSB.cmake b/cmake/modules/FindLibUSB.cmake
index 45472b9..84020b9 100644
--- a/cmake/modules/FindLibUSB.cmake
+++ b/cmake/modules/FindLibUSB.cmake
@@ -24,7 +24,7 @@ if(WIN32 OR CMAKE_VS_PLATFORM_NAME OR MINGW OR MSYS)
                )
        endif()
        file(MAKE_DIRECTORY ${LIBUSB_WIN_OUTPUT_FOLDER})
-       execute_process(COMMAND ${ZIP_LOCATION} x -y ${LIBUSB_WIN_ARCHIVE_PATH} -o${LIBUSB_WIN_OUTPUT_FOLDER})
+       execute_process(COMMAND ${ZIP_EXECUTABLE} x -y ${LIBUSB_WIN_ARCHIVE_PATH} -o${LIBUSB_WIN_OUTPUT_FOLDER})
 endif()

That a good catch, could you create a pull request so you get all the credits? 👍

I made pull request - https://github.com/texane/stlink/pull/511

Thanks!


go-cloud key escaping may lead to invalid objects for Azure

The gocloud.dev/blob package escapes objects keys on write and unescapes them on read. For example, from the azureblob implementation:
// Go CDK supports all UTF-8 strings; to make this work with services lacking
// full UTF-8 support, strings must be escaped (during writes) and unescaped
// (during reads). The following escapes are performed for azureblob:
//   - Blob keys: ASCII characters 0-31, 34 ("\""), 35 ("#"), 37 ("%"), 63 ("?"),
//     92 ("\"), and 127 are escaped to "__0x<hex>__".

The storage locations for content paths using these characters won't match the values stored in inventory manifest. Storage root layouts that use percent encoding are also affected.

Close this when gocloud is removed as a dependency.

go-cloud was removed as a dependency, Azure is no longer supported.


KAFKA-10355: Throw error when source topic was deleted

Before this commit, Kafka Streams would gracefully shut down the whole application when a source topic is deleted. The graceful shutdown does not give the user to react on the deletion of the source topic in the uncaught exception handler.
This commit changes this behavior and throws an error when a source topic is deleted.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

Oh actually looks like the test failed on this PR:
Stacktrace
java.lang.AssertionError: Condition not met within timeout 120000. Kafka Streams application did not reach state ERROR in 60000 ms

I think the test is failing because we delete the source topic after the Streams gets to RUNNING so by that time it's already gone through the rebalance where it would verify the source topics. Note that the logs are filled with
[2020-08-20 15:21:50,328] WARN [Consumer clientId=app-HandlingSourceTopicDeletionTestshouldShutdownAfterSourceTopicDeleted-bf5ebf68-3a7e-4900-91e5-62ab3863a2b7-StreamThread-1-consumer, groupId=app-HandlingSourceTopicDeletionTestshouldShutdownAfterSourceTopicDeleted] Received unknown topic or partition error in fetch for partition inputTopic-0 (org.apache.kafka.clients.consumer.internals.Fetcher:1285)

so maybe if the source topics are deleted after the rebalance, then Streams actually would not notice? It's possible we have to do something just a bit more involved to actually catch source topic deletion on a live application, if a fetch on a non-existent partition doesn't get thrown all the way up through poll and cause a rebalance (which seems to be the case).
But if I understand correctly the point of this PR specifically is just to improve the situation where the source topics don't even exist on startup, in which case we should just fix the test.

so maybe if the source topics are deleted after the rebalance, then Streams actually would not notice? It's possible we have to do something just a bit more involved to actually catch source topic deletion on a live application, if a fetch on a non-existent partition doesn't get thrown all the way up through poll and cause a rebalance (which seems to be the case).

Streams should always get noticed when source topics are gone through the metadata change: the leader of the group would keep track of the metadata and when it has changed it would then re-join the group to trigger the rebalance.

Other than the test itself, this PR LGTM.

The root cause of the failing test is a timing issue. Locally it works. Let me see how I can make the test more stable.

Ok cool, I guess I jumped to conclusions when I saw that it had failed twice. Also I took a look at the test and it seemed pretty airtight -- but who knows how slow Jenkins (and EmbeddedKafkaCluster) can really be 😄

Turns out it is not a timing issue, but the failure depends on which of the stream threads is the leader. If we have only one task but two stream threads, one stream thread does not get assigned anything. If the stream thread with empty assignment is the leader, that stream thread will not update its metadata. The metadata is updated during a fetch, but since that stream thread does not have an assigned partition, it will poll but not fetch. Without a metadata update on the leader, no rebalance is triggered and thus no assignment error is sent to the members. Can this be considered a bug? I would say yes, although not a critical one. WDYT? /cc @ableegoldman @guozhangwang
To fix the integration test in this PR I simply use two partitions on the input topic, so each of the stream threads gets assigned one partition.

Consumer also has a "metadata.max.age.ms" config, so even if it does not have any assignment the consumer would still try to refresh its metadata for all its subscribed topics; if it has assignment then it would potentially refresh metadata much quicker since it would soon get a fetch error that the topic-partition is unknown.
But by default that config value is 5min and the test would not last long for that period. We can, e.g. setting this config value to a much smaller value like a couple seconds in our test.

Oh, I see! Thank you for the clarification! I will try out your suggestion about setting metadata.max.age.ms to a low value.

if it has assignment then it would potentially refresh metadata much quicker since it would soon get a fetch error that the topic-partition is unknown.

If this is the case, why would the test have failed? Or are you saying that even if a non-leader gets a fetch error that the topic is deleted, it wouldn't trigger a rebalance (until the metadata max age has expired)

If this is the case, why would the test have failed? Or are you saying that even if a non-leader gets a fetch error that the topic is deleted, it wouldn't trigger a rebalance (until the metadata max age has expired)

Yes: only when leader gets metadata refreshed and noticed it has changed, then it would re-join the group. For non-leaders, even after max age expired and metadata refreshed, they would not re-join the group.

Yes: only when leader gets metadata refreshed and noticed it has changed, then it would re-join the group. For non-leaders, even after max age expired and metadata refreshed, they would not re-join the group.

I see. Just curious, what was the idea behind this? To reduce unnecessary rebalances? Or was it just not ever really an issue

Yes, to reduce the unnecessary rebalances due to metadata change itself.

When would a rebalance due to metadata change be unnecessary though? If a topic is deleted and one of the non-leaders notices it and triggers a rebalance, it's not an "extra" rebalance, it's just getting everyone to rejoin the group a bit earlier. And the leader would get refreshed metadata during the rebalance so it wouldn't accidentally kick off a second, unnecessary rebalance after that? I think I'm missing something here
Also, on the subject at hand, do we feel that 5 minutes is an acceptable detection delay? Note that it will likely be the full 5 minutes in many cases, depending on the topology and number of clients/threads -- of course we do spread the tasks of the later-deleted source topic evenly across all clients, but they could easily end up assigned to another thread (as we see here). So it's not really a rare edge case

5 minutes scenario would happen if the leader actually does not have any assigned partitions, which should be rare.
The motivation for just letting one person triggering the rebalance is that since people can send join at different times, it may result in not one, but more rebalances (in practice, not every re-join would have one rebalance, but still they may be delayed) while the first one is sufficient to incorporate the metadata change --- of course all of those are before the cooperative rebalance when extra rebalances that did not move any partitions are still expensive.

The motivation for just letting one person triggering the rebalance is that since people can send join at different times, it may result in not one, but more rebalances (in practice, not every re-join would have one rebalance, but still they may be delayed)

I'm still not sure I buy this...let's say we have a group of three, members 1 & 2 are assigned partitions from a topic that gets deleted while member 3 is the leader. Now let's say member 1 detects the missing topic and rejoins the group. And let's say 1 second later member 2 detects the missing topic and rejoins. This still results in only one rebalance.  Now let's say member 2 is momentarily disconnected or busy processing for a while, and doesn't notice the topic has been deleted. It will still be notified that it needs to rejoin the group, and thus will participate in the rebalance. During the rebalance, it gets refreshed metadata, so after the 1st rebalance it will not try to trigger another rebalance right? The only way we would get more than 1 rebalance is if multiple topics get deleted, one after another with almost exactly a rebalance of time between the deletions. Or, if one of the members is stuck busy/disconnected for a really long time and misses the first rebalance, but in that case it would have dropped out anyways and triggered a rebalance to rejoin no matter what. So in any normal scenario, wouldn't we just get one rebalance?
Either way, since we have cooperative rebalancing perhaps it would be worth looking into allowing all members to trigger the rebalance? We could enable it only when the cooperative protocol is followed. We could also have it configurable on/off if we are really concerned but the consumer has more than enough configs already

I confirm that with
streamsConfiguration.put(StreamsConfig.METADATA_MAX_AGE_CONFIG, 2000);

the test passes with only one input partition.

I think I agree with @ableegoldman. I also do not completely understand why only the leader can trigger a rebalance after metadata has changed.

I think I agree with @ableegoldman. I also do not completely understand why only the leader can trigger a rebalance after metadata has changed.

The main concern is that, different consumers within the group could detect their metadata has changed at very different time, which could span over multiple minutes as I described above. So we could potentially ended up in a sequence like the following:
T0: memberA in the group detected metadata change, sends a join group request. Group coordinator receives it and then use hb error code to notify memberB/C/D... to rejoin.
T1: memberB/C/D sends a join group as well, forming a new generation.
T2: the new generation's new assignment is sent back to all members.
T3: memberB detected metadata change, and then sends a join group request, and it would trigger another rebalance like T0.
T4: member C detected metadata change, and then sends a join group request ..
So in the worst case we may have N rebalances with N members.
Thinking about it, an alternative way could be, to enforce everyone to refresh their metadata before re-joining the group so that we would not have new events at T3/4/.. just a thought.

Sorry to keep dragging this out, but I still don't understand. Wouldn't member B (and all the others) get the updated metadata during the first rebalance, so T3 would never happen? Or are you saying that there was a 2nd metadata change after the 1st one

In the current consumer code:
if (subscriptions.hasPatternSubscription()) {
                    // For consumer group that uses pattern-based subscription, after a topic is created,
                    // any consumer that discovers the topic after metadata refresh can trigger rebalance
                    // across the entire consumer group. Multiple rebalances can be triggered after one topic
                    // creation if consumers refresh metadata at vastly different times. We can significantly
                    // reduce the number of rebalances caused by single topic creation by asking consumer to
                    // refresh metadata before re-joining the group as long as the refresh backoff time has
                    // passed.
                    if (this.metadata.timeToAllowUpdate(timer.currentTimeMs()) == 0) {
                        this.metadata.requestUpdate();
                    }

                    if (!client.ensureFreshMetadata(timer)) {
                        return false;
                    }

                    maybeUpdateSubscriptionMetadata();
                }

We do not enforce refreshing metadata before re-join a group, but only if it happens to pass the refresh backoff anyways, so it is not always guaranteed that member B will get the updated metadata during first rebalance.

Im catching up to the conversation and I don't see anything that should prevent this merge (except the test failures).
Although I agree with @ableegoldman and @cadonna that having a large delay in a necessary rebalance to prevent triggering additional superfluous rebalances is not the most desirable solution.

Thinking about it, an alternative way could be, to enforce everyone to refresh their metadata before re-joining the group so that we would not have new events at T3/4/.. just a thought.

If we force a refresh of the metadata during the first rebalance won't the same problem occur if we allow a non-leader's metadata change to trigger a rebalance? So I guess I don't understand how this would fix the waiting problem.

When talking to @cadonna I think maybe we have a mis-communication here:

Everyone in the consumer group, upon detecting a metadata change since the last time it joined the group, will send a join-group request to the broker-side group coordinator. The frequency of the metadata refresh depends on several events: 1) when a fetch gets some error e.g. not-leader-for-topic-partition, 2) the metadata age has expired, which is usually on a much lower frequency.

broker-side group coordinator though, treats join-group requests from members differently: 1) if it is from a leader, it always trigger a rebalance, 2) if it is from a non-leader, it will only trigger a rebalance if its encoded subscription-info (including the topic list, but also the encoded user bytes like in streams, owned tasks / offset gaps etc) byte array as changed from the current stable generation's subscription info. Note that the broker do not only how to decode the subscription-info at all so it is only going to do a byte-array comparison.

The question is, whether we should modify the second bullet point so that broker's group coordinator would just treat everyone's join-group request the same manner, as always to blindly trigger a rebalance. But if we do that the concern is that due to member refreshing their metadata at different time upon 2) AND today we do not enforce everyone to refresh their metadata upon joining the group (@ableegoldman lmk if you find we are actually enforcing that today), this would cause redundant rebalances.
I was saying that if we do want to make that broker-side change, then we should also consider updating the client so that everyone would enforce refreshing metadata upon re-joining the group, so that memberA triggered rebalance would already make everyone to update their metadata and hence memberB/C/D would not trigger rebalance again. BUT there's also a catch, that older clients would still not enforce refreshing, and if new brokers (with the proposed change) is talking to old consumers, we may still have redundant rebalances.

@cadonna I'm going to merge this PR if you could verify that tests are green locally. LMK.

if it is from a non-leader, it will only trigger a rebalance if its encoded subscription-info (including the topic list, but also the encoded user bytes like in streams, owned tasks / offset gaps etc) byte array as changed from the current stable generation's subscription info.

Wait, what? I didn't know that. We rely on letting any member trigger a rebalance by rejoining the group, like, all over: cooperative protocol rebalance, KIP-441 probing rebalance, etc. Are you saying that this actually is not guaranteed to work, but only does so if something in the userdata happens to change? I guess for the cooperative case, we know for sure the userdata has changed since we have had to revoke partitions, but what about KIP-441? If the leader just has active tasks then the encoded task lags would not change (would always be the sentinel -2) in which case the subscription sent in the probing rebalance would be identical.
Also, what is the motivation behind this? Was this like an early approximation of static membership, where if nothing changed then we just give back the old assignment? Or was it solely to reduce the number of rebalances?
Obviously, my response is that, yes I think we should change this behavior. This would give us fast response time in CCloud, and for older brokers we'd still catch the source topic deletion after the metadata refresh time. Might still need to patch things for KIP-441 though.
Now hold on, because I have yet more thoughts here:

We could add some logic to the assignor where if it notices that a source topic it is assigned has been deleted, we remove that from the list of tasks that we report in the subscription userdata. Then we'd always trigger the rebalance

Regardless of whether or not we do this today (not sure, haven't gone through the code), I don't see why we couldn't update the relevant topic metadata during a rebalance. We have all the relevant info handed to us in the assignment, we don't need to actually fetch the full metadata from the broker.
Let's say we have some topic t1, with member A assigned to partition 1 and member B assigned partition 2. Now t1 is deleted, and member A notices first. A triggers a rebalance, and in the new assignment B is no longer assigned to t1_p2 (because it doesn't exist). So, of course B shouldn't trigger another rebalance when it finally does refresh its metadata, because it isn't assigned to that topic anymore. IMO each member should only be responsible for triggering a rebalance for the deletion of its currently owned topic/partitions.

I think we need to be careful here to distinguish between the pattern and regular subscription cases. Currently, all topics matching a pattern subscription map to a single task. Deletion of pattern topics sounds like a normal mode of operation, so we might actually not want to trigger a rebalance (or throw a MissingSourceTopicException). This would actually work well with the proposal in 1) then, as a missing pattern topic would not cause removal of the entire task -- unless it was the last topic matching the pattern. But presumably we would want to handle deletion of the last pattern-matched topic similarly to the deletion of a regular source topic? Assuming that, everything seems to work out

Thanks for hanging in there and reading all this. Just to clarify, none of the questions I've raised are a reason to block this PR. But I think there may be some followup we want and/or need to do. WDYT?

If the leader just has active tasks then the encoded task lags would not change (would always be the sentinel -2) in which case the subscription sent in the probing rebalance would be identical.

As far as I understand, if the leader triggers a rebalance, the rebalance is always executed, independently from the subscription. I guess for KIP-441 we are safe, because we assign the probing rebalance duty to the leader. We maybe should remove the comment that says "Arbitrarily choose the leader's client to be responsible for triggering the probing rebalance".
Let's follow up on this topic in a different communication channel.

No actually we don't enforce that the leader specifically be the one to trigger the probing rebalance, just some thread on the same instance as the leader. I'm not even sure if we can actually figure out which particular thread is the leader -- is the memberId even exposed to the assignor in any way?

Ouch, missed that! Thank you for clarifying! I do not know if the member ID is exposed to the assignor.
Thank you for the ticket.


enable CODECOV

A request has been sent to the org to enable CODECOV access.
The request must be accepted by an admin.
cc @springcomp

✅


Initial support for matrix inverse in qdk_sim_experimental crate

This PR begins work on #915 by adding a pure-Rust implementation of LU decompositions and matrix inverses, drawing from the MIT-licensed examples at https://github.com/cgranade/cursed-linalg. These linear algebra routines will be needed in order to implement expm without passing a LAPACK dependency through to end users.
The PR will appear very messy until #979 is merged, as it includes unrelated changes from main.
Note that this PR targets a feature branch, and further work on unit tests, integration tests, and perf benchmarks are expected before that feature is merged to main.

@kuzminrobin: Thanks! If you're curious about any of the Rust-y parts, I'd be happy to sync with you and go over in more detail.
In the meantime, @swernli and @samarsha, if you have any comments on Rust-specific points I'd greatly appreciate your feedback. Thanks!

@samarsha: Wanted to double-check that all your feedback has been addressed before merging. Thanks!

Yes, looks good, thanks.

Awesome, thank you for all your detailed feedback! 💕


Cannot override/change global packages default directory

Using Fresh install of Windows 7 Pro and VS Community 2019 .Net Desktop Workload.
I have been all through the documentation currently available for Nuget and I cannot seem to change the global directory used. I have tried environment variables, setting config via command line and VS default nuget.config file.  I can run <nuget locals all -list>

E:\code>nuget locals all -list
http-cache: e:\code\VS\httpNugetCache
global-packages: e:\code\VS\Packages
temp: C:\Users\Phil\AppData\Local\Temp\NuGetScratch
plugins-cache: e:\code\VS\NugetCache

No matter what I seem to try Nuget restores the packages to the %User%.Nuget folder

Can I ask why you're trying to override global packages path?
I tried to repro what you're doing. Here are steps which worked on my local.

You make above only effective for project/solution which you're working or all projects.
For effective all projects : Open C:\Users\yourusername\AppData\Roaming\NuGet\NuGet.Config
Add <add key="globalPackagesFolder" value="C:\YourCustomNugetPackagesPath" /> into it.
For mine it looks like this:

<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <add key="nuget.org" value="https://api.nuget.org/v3/index.json" protocolVersion="3" />
  </packageSources>
  <config>
     <add key="globalPackagesFolder" value="C:\NuGetProj\Packages" />
  </config>
</configuration>

For make it only 1 solution/project then goto root of solution/project.
a. Create nuget.config file if it doesn't exist. (dotnet new nugetconfig creates it for you)
b. Open nuget.config file.
c. Add <add key="globalPackagesFolder" value="C:\YourCustomNugetPackagesPath" /> into it.

For mine it looks like this:
<?xml version="1.0" encoding="utf-8"?>
<configuration>
  <packageSources>
    <!--To inherit the global NuGet package sources remove the <clear/> line below -->
    <clear />
    <add key="nuget" value="https://api.nuget.org/v3/index.json" />
  </packageSources>
  <config>
     <add key="globalPackagesFolder" value="C:\NuGetProj\Packages" />
  </config>
</configuration>

Now restore your packages and check if it goes into new path.
Please let me know if it works for you.

I'm trying to move the cache to larger storage. Also trying to keep users
profile size to min.
On Wed, Dec 30, 2020, 6:18 PM Erdembayar Yondon<EMAIL_ADDRESS>wrote:

Can I ask why you're trying to override global packages path?
I tried to repro what you're doing. Here are steps which worked on my
local.

You make above only effective for project/solution which you're
working or all projects.
For effective all projects : Open
C:\Users\yourusername\AppData\Roaming\NuGet\NuGet.Config
Add  into it.
For mine it looks like this:

For make it only 1 solution/project then goto root of
solution/project.
a. Create nuget.config file if it doesn't exist. (dotnet new
nugetconfig creates it for you)
b. Open nuget.config file.
c. Add  into it.

For mine it looks like this:

Now restore your packages and check if it goes into new path.
Please let me know if it works for you.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NuGet/docs.microsoft.com-nuget/issues/2261#issuecomment-752818612,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQHECILNEHJLQDVFPMXZYATSXPNOVANCNFSM4VOLM35Q
.

I'm trying to move the cache to larger storage. Also trying to keep users
profile size to min.
On Wed, Dec 30, 2020, 6:18 PM Erdembayar Yondon<EMAIL_ADDRESS>wrote:

Can I ask why you're trying to override global packages path?
I tried to repro what you're doing. Here are steps which worked on my
local.

You make above only effective for project/solution which you're
working or all projects.
For effective all projects : Open
C:\Users\yourusername\AppData\Roaming\NuGet\NuGet.Config
Add  into it.
For mine it looks like this:

For make it only 1 solution/project then goto root of
solution/project.
a. Create nuget.config file if it doesn't exist. (dotnet new
nugetconfig creates it for you)
b. Open nuget.config file.
c. Add  into it.

For mine it looks like this:

Now restore your packages and check if it goes into new path.
Please let me know if it works for you.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/NuGet/docs.microsoft.com-nuget/issues/2261#issuecomment-752818612,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AQHECILNEHJLQDVFPMXZYATSXPNOVANCNFSM4VOLM35Q
.

I think @erdembayar response is self contained.

@erdembayar Thank you for your response. Your solution will limit the specified folder to only contain packages explicitly needed for project/solution {nuget.config at proj root}. which is my desired result.
Can the global cache at the global/user level config file be disabled?
When creating a new project I must create the nuget.config with packages folder key added before I create project or it will recreate the cache in the user folder. I have tried to enter a null/empty key value, but it seems to be ignored and a new global user cache is created.
I realize my situation may be a unique one. I am running on a 120GB USB flash drive with Ubuntu 20.04. Space is at a premium, portability a must. Creating bulk development drives for distribution with set parameters.

@erdembayar Thank you for your response. Your solution will limit the specified folder to only contain packages explicitly needed for project/solution {nuget.config at proj root}. which is my desired result.
Can the global cache at the global/user level config file be disabled? When creating a new project I must create the nuget.config with packages folder key added before I create project or it will recreate the cache in the user folder. I have tried to enter a null/empty key value, but it seems to be ignored and a new global user cache is created.
I realize my situation may be a unique one. I am running on a 120GB USB flash drive with Ubuntu 20.04. Space is at a premium, portability a must. Creating bulk development drives for distribution with set parameters.

Not sure what you mean by disabling global/user level, you can override with some temp path which can be cleaned with cron job. With powershell you can create function that automate following for:

Ask for project name if empty set random value.
Creating new folder.
Create nuget.config with custom GPF in it.
Create project in it.
Restore
Open with VS.

I use similar setup with custom method to speed up development.

Thank you for your help


Support context manager (with-statements)

Would be great if pyhdb.Connection and pyhdb.Connection.cursor had context manager support, so that with-statements could be used to automatically close the connection or cursor if the code breaks.

Closing due to the sunset of the project. Please check active maintained alternative: https://pypi.org/project/hdbcli/


Create Flutter Splash Screen

Description
Create Flutter Splash Screen
File Location
- presentation
|__ ui

Requirements

"This screen will show an animation with the app logo
Internally, this screen will check in the shared preferences if the user has opened the app previously

If first install, go to tutorial
Else, go to main app screen"

UI

@OldMetalmind need animation

Francisco Frutuoso will be working on animating the logo with 2Dimensions Flare
Let's not work on this before Francisco is able to create the animation.

Animated the logo for the splash screen. First version, here:
https://www.2dimensions.com/a/ffrutuoso/files/flare/vost-anim-v01/preview


Strongify weakSelf in blocks where it expects self to be nonnull

I haven't looked into other spots where this is happening but wanted to get your thoughts on this. Thanks!

This doeasn't make any sense in this case, strongSelf should be used in different situations. In this case there is no effect

Got it, I ran into a "object deallocated while in use" crash report in the field with INSReachabilityCondition but it seems to be unrelated to this. I'll close it out.


Implement global exception handling in rest-commander-example app

Add type property into the deserialized exception being sent back to the client.

Won't do in this repo. The demo app is in a different repo:
https://github.com/clearlydecoded/rest-commander-demo
May do it there, but kind of out of scope of this work, actually.


Heirarchical configuration

Configuration files should be written into the ~/.docker/trust/repository_certificates directory and its subdirectories in a heirarchical manner. The most deeply nested configuration file (N.B. only one config file will be read) for the repository being accessed will be used, i.e. given the following file structure
~/.docker/trust/repository_certificates/
    config.json
    docker.io/
        config.json
        endophage/
            config.json

notary list example.org uses ~/.docker/trust/repository_certificates/config.json
notary list docker.io/example uses ~/.docker/trust/repository_certificates/docker.io/config.json
notary list docker.io/endophage/foo uses ~/.docker/trust/repository_certificates/docker.io/endophage/config.json
As part of the notary main() the config should be loaded.
At a minimum, the config will need to include a url for a remote trust service.

I don't think this is every going to happen, the use case isn't strong enough. Closing and we can file a new issue if it comes up again.


wagtail_update_image_renditions documents invalid argument (possible typo)

Documentation for wagtail_update_image_renditions states that –purge-only can be used as an argument. However, this should likely be --purge-only (noting the extra -).
Attempting to execute ./manage.py wagtail_update_image_renditions -purge-only will result in error: unrecognized arguments: -purge-only
Pertinent section of the Wagtail docs
https://docs.wagtail.org/en/stable/reference/management_commands.html#wagtail-update-image-renditions
Details
Simply changing from -purge-only to --purge-only would resolve the problem.
Or, potentially adding a sub-section within "wagtail_update_image_renditions" to document the argument, as per other commands within that same page.

Can I start doing this

Yes please. Go for it - thanks @Beeram12
Be sure to run the correct command yourself and include a screenshot or similar of the console output with your PR. This way we know it's working as expected with whatever the updated docs will be.

Sure


share my chinese localization file

Don't know if someone has already shared the chinese localization file. So here is mine.
File link: https://github.com/billyxing/Serenity/blob/bf187c1027ff25d63a13bb4833a4b60f9d66b920/Serenity.Web/Includes/Scripts/serenity/texts/user.texts.cn.json
PS: I did not translate anything related to the northwind db. There are a few lines I did not transtate as I have not figured out how to translate them more accurately. So it needs to be improved in the future.

Thanks @billyxing, i'll try to integrate your translations in new version.

Its in 2.0.10, thanks


close influx http handler

close the http connection, without close, will cause the influxdb cannot accept any request.

This looks similar to #2332


Registering Activity Fails Silently When Function Doesn't Match Signature

Expected Behavior
When registering an activity struct that has methods that don't conform to the expected signature, activity registration should either fail with an error (maybe panic/fail in tests) or skip over the function.
Actual Behavior
When registering an activity struct that has methods that don't conform to the expected signature because they don't intend on being registered, activity registration fails silently without indication of what method it failed to bind as an activity.
https://github.com/temporalio/sdk-go/blob/master/internal/internal_worker.go#L534
Steps to Reproduce the Problem
type Activity struct {}

func (a *Activity) ActivityMethod(ctx context.Context) error {}
func (a *Activity) OtherMethod(ctx context.Context) {}

...

env.RegisterActivityWithOptions(activities, activity.RegisterOptions{Name: "AsyncInputsActivities_"}) // no failure, no indication

Specifications

Version: 1.4.1

I think the behavior should be 1 or the other - but not silent failure with only methods processed up until that nonconforming activity registered.


fix: error gpt model

Using the previously specified gpt-4o model results in a job failure error
(Please refer to the link for the GPT model)

When using other models specified in the link above, the job runs successfully

thanks


A3C Doom: Delayed convergence

I faced delayed convergence in second run, is there an explanation?
First Run: (around 200 and smooth)

Second Run:  (around 300 and sudden)

Hi Ibrahim,
One reason for this is the different variable initializations when we set up the network. Another is simply the randomness inherent in action selection and randomness in the environment itself. These two differences are relatively minor in a large scale.


No warning if incorrect yaml is applied for Traffic Split

Bug description:
For traffic split if weights are distributed in improper way like all weights dont sum up to 100 or all weights sum > 100. We dont get a error message that yaml is incorrect.
Affected area (please mark with X where applicable):

Install                    [ ]
SMI Traffic Access Policy  [ ]
SMI Traffic Specs Policy   [ ]
SMI Traffic Split Policy   [X ]
Permissive Traffic Policy  [ ]
Ingress                    [ ]
Egress                     [ ]
Envoy Control Plane        [ ]
CLI Tool                   [ ]
Metrics                    [ ]
Certificate Management     [ ]
Sidecar Injection          [ ]
Logging                    [ ]
Debugging                  [ ]
Tests                      [ ]
Demo                       [ ]
CI System                  [ ]

Expected behavior:
Steps to reproduce the bug (as precisely as possible):
apply the yaml with irregular weights like 1000, -200 etc. the yaml will be applied successfully without error.
How was OSM installed?:

minikube for k8s cluster
then followed https://release-v0-8.docs.openservicemesh.io/docs/install/manual_demo/
Anything else we need to know?:

Environment:

OSM version (use osm version): Version: v0.8.4
Kubernetes version (use kubectl version): v1.15
Size of cluster (number of worker nodes in the cluster):1
Others:

Hey @mudit-01, as it stands, SMI traffic split does not require the total weight distributed across backends to be <=100. You could set up a split such that the weight exceeds 100, and traffic distribution to a backend will be computed as <backend-weight>/<total-weight>.
This concern should be raised with the SMI community at https://github.com/servicemeshinterface/smi-spec.
The SMI  traffic split CRD does not enforce positive integers for the weight in their CRD definition, which is the cause of this problem:
https://github.com/servicemeshinterface/smi-sdk-go/blob/a143f8bc96eccdf5fc8a66d0c1622591104c77e0/crds/split.yaml#L63-L65

Closing this issue out for now with @shashankram's explanation. @mudit-01 - feel free to re-open if it doesn't make sense or if you're seeing a specific issue/error. Thank you


Questions about subnet usability & helm chart

Less of an issue - more of a question that I cannot find answers to:

We hit an issue with our subnets running out of IP addresses, this issue https://github.com/kubernetes-sigs/aws-alb-ingress-controller/pull/1233/files appears to be able to mark subnets as not usable if they are out of IP addresses. We added 3 new subnets to the subnet annotation on the alb ingress which had 250 IPs free but the ingress controller kept using the older subnets with not enough IPs. Does the above not fix it where if a subnet has no free IPs it will NOT be used anymore but other subnets will be?

We were on v1.1.2 and then upgraded to v1.1.8 but still the same issue.

On the helm chart from https://github.com/helm/charts/tree/master/incubator/aws-alb-ingress-controller - how do we set log levels to be debug - we hit some issues where the ingress controller was not cleaning up right but were not able to debug what was going on. If there is a different place for these issues let me know

Ignore the helm chart question - we figured it out using verbosity flags

We worked around the subnet question - had to remove the old subnets and add the new ones to the ingress, once that was done and the pods restarted - the ingress used the new subnets. Would be nice if the ingress controller could mark subnets as unusable.
Another question we are trying to find out is how to scale the ingress controllers if we have 200+ ALBs managed by 1 controller in 1 region - adding more replicas would help?

Hi, you don't need to scale out the controller. It should be able to handle 200+ ingress with a single controller pod.
Also, if you do facing some performance issue, you can either

leverage the 'watch-namespace' flag "https://github.com/kubernetes-sigs/aws-alb-ingress-controller/blob/master/docs/examples/alb-ingress-controller.yaml#L28" to setup multiple controllers each watch different namespace
leverage the 'ingress-class' flag 'https://github.com/kubernetes-sigs/aws-alb-ingress-controller/blob/master/docs/examples/alb-ingress-controller.yaml#L33 to setup multiple controllers each watch different ingress class

@M00nF1sh thanks for your reply, and also for all the support on the site.
Our setup is a bit odd - we have 260 odd ALBs in the same namespace as its a multi instance type service - so using namespace watching will not help. Also the class from what I see would be the same as its all ALBs - unless am wrong.
We did open a support ticket with AWS and they mentioned going to the beta for v2 as a possible option to fix the reconcile issues. We do use WAF as well so cannot turn that off.
The current behavior we see is that updating the ALB either with new pods as old pods have failed or a restart occurred OR with new annotations or rules takes anywhere between 30-45 minutes and we are not 100% sure what gets priority - changes or target deregistration OR reconcilation. Looking here https://kubernetes-sigs.github.io/aws-alb-ingress-controller/guide/controller/how-it-works/ does not provide any clues, neither do the logs (cant make it too verbose as we have a ton of ALBs). Let us know if you have any other thoughts as well.


Register 1st Party Plugins with a PluginManager callback

Build a new function in the PluginManager that allows 1st party plugins to register themselves with the plugin manager rather than requiring all 1st party plugins be registered as seen here: https://github.com/jondavid-black/AaC/blob/1087876bcd56c5781d5afc7dc271731090cdb62c/python/src/aac/plugins/plugin_manager.py#L31-L38
AC:

[ ] plugins package has a new function available called register_plugin

[ ] register_plugin allows the plugin to register itself to the pluggy manager

[ ] First-party plugins are updated to use the new function.

[ ] Plugins must register themselves at initialization

OBE per #567


framework: add undertaker thread to master

The tests do not crash due to native memory problems but because of the screen capturing not working it is not good enough of a verification

GearVRf-DCO-1.0-Signed-off-by: Mihail Marinov<EMAIL_ADDRESS>

The test ran to completion without crashes on S8. @dnvasilev has informed me Note4 is a problem in the 3.3 branch and most likely it is a problem for master too. Will get to it eventually. Planning to merge this on Tuesday.
On a side note, testAlphaToCoverage failed with what seems a genuine problem.


Count me in!

I'm really interested in implementing a package manager for idris, esspecially given that it's written in rust.
I have plenty of experience with rust and idris, but I don't have any knowledge in implementing a package manager.
Would you recommend some reading material or source code for me to get started?
Also, could you write down the implement status and roadmap? Imo, the implementation detail would be much useful for me and the other contributors to get invoved.

Thanks for your enthusiasm and interest! Package management is a pretty big problem, and it's always great to have more help at the helm (especially with your experience with both of the relevant languages of this task) to help conquer this beast.
For now, my main priority is to get the basic functions of elba working and kick out a minimum viable product, so it might take me a little bit of time to write up the implementation status & roadmap for the tool. Plus, a lot of code is undocumented, so I'll have to clean up after myself there. I'm guessing I should be able to have the former up in a week or so, but that isn't a hard deadline.
If you're looking for relevant reading material for package managers, I'd highly suggest the source code of cargo (and maybe some of the RFCs surrounding its development) since elba is very strongly influenced by cargo and cargo's code is pretty clear and contains several nuggets of information in documentation. Dart's Pub also has some very helpful pieces of documentation, including its article on its versioning philosophy and its documentation on the Pubgrub version solving algorithm, which elba uses. elba's own source code also has some info on its design decisions, mainly with regard to package indices (caches of package metadata), which is in the relevant module documentation.

I finished reading the documentation of Pubgrub and read most elba's source code. AFAICS, you have done the most part of versioning, dependencies resolving and caching, while we need more work on command line parsing, networking and compiling. Well done!
The structure of elba largely differs from the one of cargo. I understand that this is because of the reasons for simplification. If that is the case, I think we could ignore the third-party registry and the caching matters first, in this way we can push forward to a runnable version more quickly. Of course, you need some time to settle down the design of structure, so implementing these in advance may be good choice either.
I think I can get started right now on the building(compiler binding) or the command line interface, which does not involve package manager knowledge. Should I? Which one is better?

And I have some concerns about the current design, which may be naive or not worth discussing in this stage. I just write them down as memo. You don't have to explain them if you think you have good reasons.

Package namespacing
Namespacing is long discussed in rust community, here is the conclusion(one of the sections).

While namespaced packages allow multiple authors to use a single, generic name, they add complexity to how packaged are referenced in Rust code and in human communication about packages. At first glance, they allow multiple authors to claim names like http, but that simply means that people will need to refer to those packages as wycats' http or reem's http, offering little benefit over package names like wycats-http or reem-http.

When we looked at package ecosystems without namespacing, we found that people tended to go with more creative names (like nokogiri instead of “tenderlove’s libxml2”). These creative names tend to be short and memorable, in part because of the lack of any hierarchy. They make it easier to communicate concisely and unambiguously about packages. They create exciting brands. And we’ve seen the success of several 10,000+ package ecosystems like NPM and RubyGems whose communities are prospering within a single namespace.

Cache file name
Cache file is named after "group_name-hash" so far. I think adding the version, like "group_name-1.0.0-hash", would be more ergonomic.

Version with band
Now the versions can go with a bang to allow pre-release version(if I didn't get it wrong), which appears in neither Cargo nor Pub. IMO, it casused unessesary complexity for users, esspecially for the ones who don't use this feature to read other's code . Pre-released packages can be referd more explicitly like "foo = "1.0.0-alpha"", and prefer to chose the stable one if not designated.

Multiple exports for lib
Multiple exports means automatically merging several idr into a single lib file. It can lead to less explicitness of lib structure because you can't figure out the library interface only by reading a single lib.idr, but you need to read the manifest and all the lib files invovled, and you have to rememeber some conventions of how to mix up contents of mutiple files. Also, the mixin may cause confliction when compiling.

I think a good first place to start would be writing a Rust interface to the Idris compiler (a builder struct which creates an invocation to the Idris compiler). After that, we can start working on actually building Idris packages and throwing them into the cache directory.

I think it's worth having a discussion about these issues now since committing to a faulty design might lead to unending pain and sorrow in the future :). So to address your concerns:

Package namespacing
I was reading through that thread too when I was mulling whether to add support for namespaced packages, and I eventually decided on mandating namespaces for a few reasons:

Ad-hoc namespacing with hyphens or underscores, as suggested by a few people in that thread, can be misleading since then anybody would be able to publish a package that starts with another "namespace" and feign credibility, even if it isn't there (hypothetically, I could publish a wycats-log package, etc. on crates.io).
Nothing is stopping people from having their creative names alongside namespaces. Github has namespaced repositories, yet I didn't name this project dcao/package_manager. Namespacing just gives people the option to use less interesting names when it suits the project or makes things more clear.
Namespacing prevents problems like the kik package on npm from happening; now we have dcao/kik or andylokandy/kik to disambiguate.

Cached source directory names
That's not a bad suggestion; it might make the directory a little bit longer, but that's not a big deal. My only real qualm is that for something like a git repository, the version is irrelevant, so we'd have to check that in the code (which might make it a little more complicated, but this isn't a big deal).
! versions
Originally, these were meant as an implementation detail, since the Pubgrub resolution algorithm requires us to take the complement and difference between different sets of Constraints (the complement of ≥ 1.0.0 should include all pre-releases of 1.0.0, hence <! 1.0.0). In Dart, <! 1.0.0 is represented as < 1.0.0-∞, and ≥! 1.0.0 is equivalent to ≥ 1.0.0-0, but this syntax seemed a bit weird and prone to error to me (if a character has a higher unicode value than infinity, is it a larger version?), so I decided to go with <! and ≥!. I also didn't want to keep this as magic functionality exclusively reserved to the package manager, since it might be useful in some circumstances, so I just added it to the parser as well.
Multiple exports for libraries
I was just intending the exports to be like the modules field in present-day ipkg files - whichever modules were listed would be copied into the build directory for use by others. I guess this is unnecessary for our purposes, (we should just copy everything from the src/ dir or wherever the lib directory is located), so I'll modify that.

Package namespacing
Alright, you got me. But there is still a technical problem that how dose Idris language interact with namespace. Consider we have two parser libary: 'andylokandy/parser' and 'dcao/parser'.

In my project, I may use both of the parser libary.
// Elba.toml

[dependencies]
andylokandy/parser = "0.1"
dcao/parser = "0.1"

-- Main.idr

import Parser
-- And then? How to import the other one?

Cached source directory names
No, it's not a big deal, and I'm not sure how users will interact with cache files, so I prefer keeping it untouched for now.

I think w.r.t. namespace conflicts, we could just require that the root module be the namespace, so you'd have import Andylokandy.Parser instead of just import Parser.


What the different between  SpinButtonPlacementMode and other enumType

Describe the bug

Steps to reproduce the bug
view:
<ComboBox Header="HorizontalAlignment" ItemsSource="{Binding HorizontalAlignments}" SelectedItem="{Binding HHorizontalAlignment, Mode=TwoWay}" />
<ComboBox Header="VerticalAlignment" ItemsSource="{Binding VerticalAlignments}" SelectedItem="{Binding VVerticalAlignment, Mode=TwoWay}" />
<ComboBox Header="Orientation" ItemsSource="{Binding OrientationS}" SelectedItem="{Binding BOorientation, Mode=TwoWay}" />
<ComboBox Header="SpinButtonPlacementMode" ItemsSource="{Binding SpinButtonPlacementModeS}" SelectedItem="{Binding BSpinButtonPlacementMode, Mode=TwoWay}" />  // there is different

viewModel :
    [ObservableProperty]
    public Array orientationS = Enum.GetValues(typeof(Orientation));

    [ObservableProperty]
    public Orientation bOorientation = Orientation.Horizontal;

    [ObservableProperty]
    public Array verticalAlignments = Enum.GetValues(typeof(VerticalAlignment));

    [ObservableProperty]
    public VerticalAlignment vVerticalAlignment = VerticalAlignment.Center;

    [ObservableProperty]
    public Array horizontalAlignments = Enum.GetValues(typeof(HorizontalAlignment));

    [ObservableProperty]
    public HorizontalAlignment hHorizontalAlignment = HorizontalAlignment.Center;

    [ObservableProperty]
    public Array spinButtonPlacementModeS = Enum.GetValues(typeof(NumberBoxSpinButtonPlacementMode));

    [ObservableProperty]
    public NumberBoxSpinButtonPlacementMode bSpinButtonPlacementMode = NumberBoxSpinButtonPlacementMode.Compact;

Expected behavior
all should be same as NumberBoxSpinButtonPlacementMode
Screenshots

NuGet package version
None
Windows version
Windows 11 (22H2): Build 22621
Additional context
No response

I test my enum, It works well

Thanks for filing, can you please include a full sample we can compile and repro?  Thanks!

描述错误

重现 Bug 的步骤
视图：
<ComboBox Header="HorizontalAlignment" ItemsSource="{Binding HorizontalAlignments}" SelectedItem="{Binding HHorizontalAlignment, Mode=TwoWay}" />
<ComboBox Header="VerticalAlignment" ItemsSource="{Binding VerticalAlignments}" SelectedItem="{Binding VVerticalAlignment, Mode=TwoWay}" />
<ComboBox Header="Orientation" ItemsSource="{Binding OrientationS}" SelectedItem="{Binding BOorientation, Mode=TwoWay}" />
<ComboBox Header="SpinButtonPlacementMode" ItemsSource="{Binding SpinButtonPlacementModeS}" SelectedItem="{Binding BSpinButtonPlacementMode, Mode=TwoWay}" />  // there is different

view型号：
    [ObservableProperty]
    public Array orientationS = Enum.GetValues(typeof(Orientation));

    [ObservableProperty]
    public Orientation bOorientation = Orientation.Horizontal;

    [ObservableProperty]
    public Array verticalAlignments = Enum.GetValues(typeof(VerticalAlignment));

    [ObservableProperty]
    public VerticalAlignment vVerticalAlignment = VerticalAlignment.Center;

    [ObservableProperty]
    public Array horizontalAlignments = Enum.GetValues(typeof(HorizontalAlignment));

    [ObservableProperty]
    public HorizontalAlignment hHorizontalAlignment = HorizontalAlignment.Center;

    [ObservableProperty]
    public Array spinButtonPlacementModeS = Enum.GetValues(typeof(NumberBoxSpinButtonPlacementMode));

    [ObservableProperty]
    public NumberBoxSpinButtonPlacementMode bSpinButtonPlacementMode = NumberBoxSpinButtonPlacementMode.Compact;

预期行为
all 应与 NumberBoxSpinButtonPlacementMode 相同
截图

NuGet 包版本
没有
Windows 版本
Windows 11 （22H2）：内部版本 22621
其他背景
没有回应

@JesseCol HI. here is my example, this is simple, could you please have a try, thanks


Ark CrashLoopBackOff

I get the following messages in my ark pod log (deploying latest ark):
An error occurred: unable to retrieve the complete list of server APIs: admission.certmanager.k8s.io/v1beta1: the server is currently unable to handle the request
All other pods install fine. Has anyone seen this before?
...ahh hang on - it's a cert-manager thing.
https://github.com/jetstack/cert-manager/issues/1355

Closing since this is not a Velero/Ark issue.


Did not work on Mac OS (11.4): ps: unsupported exe keyword

On Mac OS 11.4 (don't know about ps in previous Mac OS releases) exe keyword not supported for -o option.
ps: exe: keyword not found
ps: no valid keywords; valid keywords:
test: Expected a combining operator like '-a' at index 3
! %cpu %mem acflag acflg args blocked caught comm command cpu cputime etime f flags gid group ignored inblk inblock jobc ktrace ktracep lim login logname lstart majflt minflt msgrcv msgsnd ni nice nivcsw nsignals nsigs nswap nvcsw nwchan oublk oublock p_ru paddr pagein pcpu pending pgid pid pmem ppid pri pstime putime re rgid rgroup rss ruid ruser sess sig sigmask sl start stat state stime svgid svuid tdev time tpgid tsess tsiz tt tty ucomm uid upr user usrpri utime vsize vsz wchan wq wqb wql wqr xstat = tmux
                                                                                ^
~/.config/fish/conf.d/done.fish (line 115):
            and test ! (basename (ps -o exe= -p $tmux_fish_ppid)) = "tmux"
                ^
in function '__done_is_tmux_window_active'
        called on line 146 of file ~/.config/fish/conf.d/done.fish
in function '__done_is_process_window_focused'
        called on line 206 of file ~/.config/fish/conf.d/done.fish
in function '__done_ended'
in event handler: handler for generic event 'fish_prompt'

Similar issue is happening on Pop!_OS 20.04, when I uend an ssh session while in tmux:
Connection to XXX closed.
error: unknown user-defined format specifier "exe"

Usage:
 ps [options]

 Try 'ps --help <simple|list|output|threads|misc|all>'
  or 'ps --help <s|l|o|t|m|a>'
 for additional help text.

For more details see ps(1).
basename: missing operand
Try 'basename --help' for more information.

I just looked up the format specifiers for my version of ps, and it's also missing exe, however there are args and comm (see https://linuxcommand.org/lc3_man_pages/ps1.html), not sure which one it should be.

Hey,
Any update on this?
I am also encountering the same issue.

Is Sam's fix going to be incorporated in this repo? Is there an ETA for the new release with the fix?

Fixed in v1.16.3. Sorry for the delay


Couple to ITPA IDA

Use MUSCLE3 to couple ECRad to ITPA IDA.

This is in principle finished, but there are issues for X3 emission. That's probably an IDA problem not an ECRad problem.

Done!


JSON object composing

Add the ability to compose an object into a JSON string via blueprints or C++ code

u making a great progress in short time keep it up :)
On Tue, Apr 28, 2015 at 6:37 PM, Aaron Shea<EMAIL_ADDRESS>wrote:

Closed #24 https://github.com/AaronShea/BLUI/issues/24.
—
Reply to this email directly or view it on GitHub
https://github.com/AaronShea/BLUI/issues/24#event-292107337.


Does starlink use H3?

Hi, first of all thanks for providing such a great tool.
Recently starlink updated their map on their website (https://www.starlink.com/map), the hex shape in the map is very similar to H3, I compared the results of H3 with the map and found an amazing match, the following two pictures are the results of H3 (hex resolution=5) on the left and starlink map on the right.

At the same time, I see many visualization sites doing coverage analysis of starlink based on H3, such as this blog (https://mikepuchol.com/modeling-starlink-capacity-843b2387f501)
What do the authors think about this, is starlink really using H3, or just for visualization?
In the April’s  #598, @sahrk and @nrabinowitz  denied this, has your opinion changed so far?
Thanks in advance!

Good question! Note that in issue #598 @nrabinowitz pointed out that I was wrong in my overly-quick conclusion, so the jury's still out for me. But I'm not sure what specifically led @nrabinowitz to think it isn't H3.

Thank @sahrk very much for your reply. Maybe @puchol and @dfellis in issue #589 have any new thoughts on this?

Starlink does now use H3, size 5, replacing their proprietary hexagonal cell system, which I wasn't able to reverse-engineer. My assumption is they need increasing granularity, as the cells are actually used for satellite resource scheduling, not only as a UI for customers to see coverage. Thus, size 6, 7 would make sense to further divide user terminals and the customer base.

Thank @puchol very much for your reply! So the conclusion that starlink uses H3 is only based on the match between H3 and the starlink map, right? Is there any other information to confirm this?

Yes, I have checked dozens of cells all over the Earth and they all match. It would be shocking to find they have managed to reproduce H3 cells precisely, without using H3 to begin with ;-)

Yes, I have checked dozens of cells all over the Earth and they all match. It would be shocking to find they have managed to reproduce H3 cells precisely, without using H3 to begin with ;-)

Do you know when they made the change to H3? Assuming H3 works for a use case, it's hard to see why anyone would roll their own hexagonal DGGS.

Good question! Note that in issue #598 @nrabinowitz pointed out that I was wrong in my overly-quick conclusion, so the jury's still out for me. But I'm not sure what specifically led @nrabinowitz to think it isn't H3.

At the time, both the size and the orientation of the cells on the coverage map didn't seem to match H3. The current Starlink availability map looks much more likely to be H3, so I've no reason to doubt @puchol though I haven't verified yet.

Good question! Note that in issue #598 @nrabinowitz pointed out that I was wrong in my overly-quick conclusion, so the jury's still out for me. But I'm not sure what specifically led @nrabinowitz to think it isn't H3.

At the time, both the size and the orientation of the cells on the coverage map didn't seem to match H3. The current Starlink availability map looks much more likely to be H3, so I've no reason to doubt @puchol though I haven't verified yet.

Thanks for the reply, I have a straightforward question. Do you have any insight why starlink has adopted H3? For LEO constellation, what are the advantages of H3 over S2, GeoHash and other tools? @puchol @nrabinowitz @sahrk

Yes, I have checked dozens of cells all over the Earth and they all match. It would be shocking to find they have managed to reproduce H3 cells precisely, without using H3 to begin with ;-)

Do you know when they made the change to H3? Assuming H3 works for a use case, it's hard to see why anyone would roll their own hexagonal DGGS.

The change was made around mid-August. Starlink is extremely vertically integrated, they make everything themselves, so they had someone create their own system. What they then realized is they didn't have a mechanism to resolve the cells into larger or smaller sizes, and decided to adopt H3 instead.

this is the most interesting H3 thread i have seen so far, and my only
contribution is to s---post: LEO is similar to ELO, the Electric Light
Orchestra.
On Thu, Oct 20, 2022 at 2:32 AM WeiLiu @.***> wrote:

Good question! Note that in issue #598
https://github.com/uber/h3/issues/598 @nrabinowitz
https://github.com/nrabinowitz pointed out that I was wrong in my
overly-quick conclusion, so the jury's still out for me. But I'm not sure
what specifically led @nrabinowitz https://github.com/nrabinowitz to
think it isn't H3.
At the time, both the size and the orientation of the cells on the
coverage map didn't seem to match H3. The current Starlink availability map
looks much more likely to be H3, so I've no reason to doubt @puchol
https://github.com/puchol though I haven't verified yet.
Thanks for the reply, I have a straightforward question. Do you have any
insight why starlink has adopted H3? For LEO constellation, what are the
advantages of H3 over S2, GeoHash and other tools? @puchol
https://github.com/puchol @nrabinowitz https://github.com/nrabinowitz
@sahrk https://github.com/sahrk
—
Reply to this email directly, view it on GitHub
https://github.com/uber/h3/issues/717#issuecomment-1285142565, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/AAFMO6ZD24MJ5U3K6UUWYZDWED7QPANCNFSM6AAAAAARIDNMPI
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>

Good question! Note that in issue #598 @nrabinowitz pointed out that I was wrong in my overly-quick conclusion, so the jury's still out for me. But I'm not sure what specifically led @nrabinowitz to think it isn't H3.

At the time, both the size and the orientation of the cells on the coverage map didn't seem to match H3. The current Starlink availability map looks much more likely to be H3, so I've no reason to doubt @puchol though I haven't verified yet.

Thanks for the reply, I have a straightforward question. Do you have any insight why starlink has adopted H3? For LEO constellation, what are the advantages of H3 over S2, GeoHash and other tools? @puchol @nrabinowitz @sahrk

They adopted H3 to be able to have smaller and larger cells. If you need to subdivide a size 5 H3 cell into smaller sub-cells, e.g. to assign different SLAs to each sub-area, you need to be able to change cell size, which their initial system didn't allow. As satellite spot beams are elliptical in shape, hexagonal cells are easier to circumscribe. S2, for example, uses parallelograms, onto which you cannot easily project an ellipse.

wikipedia lists 7 non-hierarchical DGGs and 9 of the hierchy... arch... indexable telescoping grids?
ISEA is at the top and S2 is at the bottom of the second list. so if starlink tried to develop a proprietary system based on X arbitrary characteristic... how many of these 16+ systems could they definitely not be reverse engineering?

Thanks guys, I've learned a lot from this thread. I will close this issue.


add rustfmt configuration

I did the same at the same time haha #1168 , you are so fast! I'll close mine


i want transfer tacotron2 model to onnx but  there is an error ㅠ

i want to transfer pre-trained tacotron2 model to onnx
first load model
    hparams = create_hparams()
    hparams.sampling_rate = 22050
    checkpoint_path = "tacotron2_statedict.pt"
    model = load_model(hparams)
    model.load_state_dict(torch.load(checkpoint_path)['state_dict'])
    _ = model.eval()

and i set input like this
    text_inputs = torch.randn(64, 163, device='cuda')
    text_legths = torch.randn(64, device='cuda')
    mels = torch.randn(64, 80, 851, device='cuda')
    max_len = 163
    output_lengths = torch.randn(64, device='cuda')

    dummy_input = (text_inputs, text_legths, mels, max_len, output_lengths)

and try to transfer model to onnx
    dummy_input = (text_inputs, text_legths, mels, max_len, output_lengths)

but there is an error
WARNING: The TensorFlow contrib module will not be included in TensorFlow 2.0.
For more information, please see:
  * https://github.com/tensorflow/community/blob/master/rfcs/20180907-contrib-sunset.md
  * https://github.com/tensorflow/addons
If you depend on functionality not listed there, please file an issue.

Traceback (most recent call last):
  File "inference.py", line 49, in <module>
    torch.onnx.export(model, dummy_input, "tacotron.onnx", verbose=True )
  File "/home/msl/.virtualenvs/venv_waveglow/lib/python3.5/site-packages/torch/onnx/__init__.py", line 27, in export
    return utils.export(*args, **kwargs)
  File "/home/msl/.virtualenvs/venv_waveglow/lib/python3.5/site-packages/torch/onnx/utils.py", line 104, in export
    operator_export_type=operator_export_type)
  File "/home/msl/.virtualenvs/venv_waveglow/lib/python3.5/site-packages/torch/onnx/utils.py", line 281, in _export
    example_outputs, propagate)
  File "/home/msl/.virtualenvs/venv_waveglow/lib/python3.5/site-packages/torch/onnx/utils.py", line 224, in _model_to_graph
    graph, torch_out = _trace_and_get_graph_from_model(model, args, training)
  File "/home/msl/.virtualenvs/venv_waveglow/lib/python3.5/site-packages/torch/onnx/utils.py", line 192, in _trace_and_get_graph_from_model
    trace, torch_out = torch.jit.get_trace_graph(model, args, _force_outplace=True)
  File "/home/msl/.virtualenvs/venv_waveglow/lib/python3.5/site-packages/torch/jit/__init__.py", line 197, in get_trace_graph
    return LegacyTracedModule(f, _force_outplace)(*args, **kwargs)
  File "/home/msl/.virtualenvs/venv_waveglow/lib/python3.5/site-packages/torch/nn/modules/module.py", line 489, in __call__
    result = self.forward(*input, **kwargs)
  File "/home/msl/.virtualenvs/venv_waveglow/lib/python3.5/site-packages/torch/jit/__init__.py", line 243, in forward
    in_vars, in_desc = _flatten(args)
RuntimeError: Only tuples, lists and Variables supported as JIT inputs, but got int

Is the input value wrong??? ㅠㅠ

RuntimeError: Only tuples, lists and Variables supported as JIT inputs, but got int

But max_len is int:
    max_len = 163

Try wrapping it into a list and changing the remainder of the code that interacts with max_len

i think tacotron seems to want an int as an input. i will try thank you so much

@wojung  are you able to successfully  transfer the model to onnx?

nope. i failed to transfer to onnx
sorry

waveglow_path = './waveglow_256channels.pt'
waveglow = torch.load(waveglow_path)['model']
mel_extra=torch.tensor(np.full((1,80,222),-10.0)).float()
dummy_input=torch.autograd.Variable(mel_extra).cuda().float()
audio = torch.tensor(np.full((1,222), -0.5)).float()
audio_input = torch.autograd.Variable(audio).cuda().float()
torch.onnx.export(waveglow, ((dummy_input, audio_input),), "./waveglow.onnx")
It can start to run export, but since logdet operator is not supported, export failed.
/home/user/anaconda3/envs/pytts/lib/python3.6/site-packages/torch/onnx/utils.py:501: UserWarning: ONNX export failed on ATen operator logdet because torch.onnx.symbolic.logdet does not exist
......
RuntimeError: ONNX export failed: Couldn't export operator aten::logdet
@rafaelvalle same problem with waveglow model beacuse lodget operator is not supported. any idea

@wojung
max_len = torch.tensor(163)
I used this and the error you mentioned was solved. I got another error

TypeError                                 Traceback (most recent call last)
 in ()
23 output_lengths = torch.randn(64, device='cpu')
24 dummy_input = (text_inputs, text_legths, mels, max_len, output_lengths)
---> 25 torch.onnx.export(model, dummy_input, "tacotron.onnx", verbose=True)
10 frames
/usr/local/lib/python3.6/dist-packages/torch/nn/modules/module.py in _slow_forward(self, *input, **kwargs)
514                 recording_scopes = False
515         try:
--> 516             result = self.forward(*input, **kwargs)
517         finally:
518             if recording_scopes:
TypeError: forward() takes 2 positional arguments but 6 were given

nope. i failed to transfer to onnx sorry

finally， solved?

finally  solved?  @wojung


add support for mozJpeg compression 📸

see
https://github.com/mozilla/mozjpeg
https://imagecompressor.io/blog/mozjpeg-guide/
At first glance, it looks like we can use
cjpeg = lossy.
jpegtran = lossless.
We should do a good job picking out appropriate default arguments - we can provide configuration options to users if that makes sense too
new file called MozJpegCompress.cs and implement the 3 functions
namespace CompressImagesFunction.Compressors
{
    public class MozJpegCompress : ICompress
    {
        public string[] SupportedExtensions => new[] { ".XXX", ".YYY" };

        public void LosslessCompress(string path)
        {
            throw new System.NotImplementedException();
        }

        public void LossyCompress(string path)
        {
            throw new System.NotImplementedException();
        }
    }
}

see SvgoCompress for a guide of how to shell out and set up arguments
Register the new compressor so we start picking it up at the top of CompressImages.cs
Update the Dockerfile.CompressImages file to properly install the library on the container image

1 note: Per https://imagecompressor.io/blog/mozjpeg-guide/,

tip: run lossless compression after lossy for best results.

Maybe make this default behavior after every lossy operation, whatever is part of the particular toolchain (per options)?

merged in #495

we should probably take a pass through the Docs folder and see if we should update anything before we do a new release

This is all wrapped up and released 👍 👍 👍

This feels fantastic!
Big thanks is for your support! :-)
Den fre 18 okt. 2019 19:36Dan Butvinik<EMAIL_ADDRESS>skrev:

This is all wrapped up and released 👍 👍 👍
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/dabutvin/Imgbot/issues/488?email_source=notifications&email_token=AEHVKUIFATTETOVXOTNUTCTQPHXYXA5CNFSM4I3PJGWKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEBVIV7I#issuecomment-543853309,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AEHVKULSUJRUOIVZWLBW3N3QPHXYXANCNFSM4I3PJGWA
.


Allowing the skip property to be a little bit more flexible.

Hi,
some developers approached me and asked that only releases should be uploaded to dependencytrack.
You can of course do a lot with the maven build helper plugins. But I find the solution in the plugin much cleaner. The solution is based on the behavior of the maven-deploy-plugin.
I would be very grateful for any feedback.

Sorry! Totally forgot about this. Will try to properly review and test it over the next week.

Hi @pmckeown
I hope you will find time in the next few days.

@Reamer - this has been released in 1.7.0
Thanks for your contribution!  Sorry for the delay to review.


Added module specifier flag

Fix for config generation failed due to not being able to resolve modules.
Fixes #662

 Thank you for your submission, we really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.jerrydark seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.

Unfortunately adding this flag will break builds in versions of Node <12. We've made the decision to support the latest LTS version which is currently 10.16.0. When the next LTS comes out, we will make sure we support it. Thanks for the contribution all the same!


Why  download  the csv file , is a version https://git-lfs.github.com/spec/v1 oid sha256:3207c5d96b1b404b3d371bf4692369c90602f532b4861664567836eaef089465 size 230, not  a file?

Why  download  the csv file , is a version https://git-lfs.github.com/spec/v1 oid sha256:3207c5d96b1b404b3d371bf4692369c90602f532b4861664567836eaef089465 size 230, not  a file?

could u plz show me how to fix this problem ?


Can't open file on win7

Environment (please complete the following information):

OS: win7
NeoVim version: 0.4.0-1567
vim-clap version: new
Have you reproduced with a minimal vimrc: ???

Describe the bug

Can't use <C-t>, <C-v> open file with Clap files and Clap gfiles  command on win7

--git root
------file0
------directory1
----------file1

When current buffer is file1, use Clap gfiles command  can't open file0 with <C-t>, <C-v>, <C-X>