AbortedException retry strategy

I'm always frustrated when facing with the following errors:
ABORTED: com.google.api.gax.rpc.AbortedException: io.grpc.StatusRuntimeException: ABORTED: Transaction was aborted. It was wounded by a higher priority transaction due to conflict on keys in range [[9a657b0e-93ea-41eb-b19b-53fe73a4eb78], [9a657b0e-93ea-41eb-b19b-53fe73a4eb78]), column created_timestamp in table user_entity.
retry_delay {
  nanos: 171129581
}

And other similar.
It always fails on select statements generated by Hibernate ORM while concurrent execution (it's close to real situation, when we have many requests, for instance 100 per second.
So the message is not pretty clarified, but I guessed that it was discarded due to conflicts between transaction, because of all spanner databases have SERIALIZABLE isolation level only.
But the main issue is after aborting it's going to be retried by client mechanism, but it also checks hashes after each retry for two results sets. it does retry impossible due to concurrent modification exception. I want to leave a little change for this transaction to be retried with another strategy that will be chosen via URL properties, without comparing of hashes.
cloudspanner:/projects/test-project-123/instances/test-instance/databases/test-database?retryStrategy=FORCE_RETRY
cloudspanner:/projects/test-project-123/instances/test-instance/databases/test-database?retryStrategy=CHECK_SUM_RESULT  - by default, can be omitted. The compatibility is saved.
And then in it will be something like that
13:33:07,796 FINE  [com.google.cloud.spanner.connection.ForceRetryStrategy] (connection-executor-67) About to retry SQL transaction
[select userentity0_.ID as ID1_73_, userentity0_.CREATED_TIMESTAMP as CREATED_2_73_, userentity0_.EMAIL as EMAIL3_73_, userentity0_.EMAIL_CONSTRAINT as EMAIL_CO4_73_, userentity0_.EMAIL_VERIFIED as EMAIL_VE5_73_, userentity0_.ENABLED as ENABLED6_73_, userentity0_.FEDERATION_LINK as FEDERATI7_73_, userentity0_.FIRST_NAME as FIRST_NA8_73_, userentity0_.LAST_NAME as LAST_NAM9_73_, userentity0_.NOT_BEFORE as NOT_BEF10_73_, userentity0_.REALM_ID as REALM_I11_73_, userentity0_.SERVICE_ACCOUNT_CLIENT_LINK as SERVICE12_73_, userentity0_.USERNAME as USERNAM13_73_ from USER_ENTITY userentity0_ where userentity0_.EMAIL=@p1 and userentity0_.REALM_ID=@p2]
After getting a message: [ABORTED: com.google.api.gax.rpc.AbortedException: io.grpc.StatusRuntimeException: ABORTED: Transaction was aborted. It was wounded by a higher priority transaction due to conflict on keys in range [[9a657b0e-93ea-41eb-b19b-53fe73a4eb78], [9a657b0e-93ea-41eb-b19b-53fe73a4eb78]), column created_timestamp in table user_entity.
retry_delay {
  nanos: 171129581
}
]

Maybe there is another solution, but I haven't found it yet.
Spanner is mutlicluster database. It does spanner more preferable than self-distributed and self-maintained database like MySQL or PostgreSQL. But retry is not allowed for some transactions, and and this complicates the task.
I know that, the option retryAbortsInternally, and I would handle this instead of PR, if I didn't use ORM.
ORM is more convenient in lot of applications than integrating via pure JDBC directly.
I made a PR, I knew that firstly, I was supposed to open issue, discuss and other things and I agreed that my suggestion can be discarded, but maybe this PR as a POC will be interesting.
Thanks for reading.

Hi @kurisumakise2011 and thank you for the report and the PR.
The retry strategy that the JDBC driver by default uses is, as you noted, one where the entire transaction is retried and all update statements and queries are re-executed and the results of those statements and queries are compared to the results of the original transaction. This is done to ensure that the application will not make a decision based on stale data.
Consider the following (simplified) example:

Application A starts a transaction.
Application A executes the query SELECT Amount FROM BankAccount WHERE AccountHolder=1. This query returns 100 to Application A.
Application B starts a transaction.
Application B executes the statement UPDATE BankAccount SET Amount=0 WHERE AccountHolder=1
Application B commits.
Application A wants to execute the statement UPDATE BankAccount SET Amount=Amount-50 WHERE AccountHolder=1.
The transaction of application A is aborted and the JDBC driver starts a retry. This retry will fail because the query in step 2 now returns a different value than during the original transaction.

I realize that there are better ways to solve the specific use case above, it is purely intended to illustrate why the retry strategy using a ChecksumResultSet is the default for the JDBC driver. The FORCE_RETRY strategy would allow the above situation to proceed, causing the amount in the bank account to become negative.
I wonder whether this situation is something that you would want to allow to happen silently. Do you know which data was changed in your specific case that causes the retry to fail? Is it always (or mostly) a specific column that is not used by the application to determine which code path to follow?
It might be better to allow a slightly more sophisticated retry strategy where certain columns are allowed to return differing values in the original transaction and the retry transaction, without causing the retry to fail.

Dear, @olavloite
Thank you for the quite quick response.
Your example a good self-explained about why developer decided to use such approach of verifying hashes.
It guarantees consistency of data and it's certainly important thing.
Force retry may lead to re update row, and it's not correct that in one transaction, we encounters with a kind of non-repeatable reads problem.
I'm facing with Aborted Transaction in a little different case.
What is going on:
I have a set of parallel transactions - set A, and parallel transactions - set B
Each a from A has to do the same queries, the same for b from B
first a -> second b - it's application flow
a of A belongs to Q (queries set)
b of B belongs to Q or U (updates set)
a has batch of operations as: (select_0 -> select_1 ... -> select_k), where k is (natural number U 0)
b has batch of operations as: (select_0 -> insert_1 -> insert_2 -> insert_3)
some a transactions aborted by b transaction.
The message: Transaction was aborted. It was wounded by a higher priority transaction due to conflict on keys in range [[be051f8a-8667-4ace-b2e0-262c264465e0], [be051f8a-8667-4ace-b2e0-262c264465e0]), column add_token_role in table identity_provider.
(cannot figure out why is there mentioned add_token_role column), be051f8a-8667-4ace-b2e0-262c264465e0 - the row with such key has been inserted.
So it looks like a_k is doing selections, while b is doing selection\insertion, and then returns AbortedException (I totally don't know why, might be because of a row was inserted)
Then a_k is going to be retried by JDBC, but unfortunately it fails later, because of a new row appeared ?
I would to suggest retrying only and only such a_k transactions with ignoring hashes on demand (by passed strategy param)
If some a_k transactions contains modification statement of course such transaction consider as conflicted, and will be aborted.
So maybe you help me to figure out, what is happening to the application and why a_k is always aborted?
Thank you.

Dear, @olavloite
Thank you for the quite quick response.
Your example a good self-explained about why developer decided to use such approach of verifying hashes.
It guarantees consistency of data and it's certainly important thing.
Force retry may lead to re update row, and it's not correct that in one transaction, we encounters with a kind of non-repeatable reads problem.
I'm facing with Aborted Transaction in a little different case.
What is going on:
I have a set of parallel transactions - set A, and parallel transactions - set B
Each a from A has to do the same queries, the same for b from B
first a -> second b - it's application flow
a of A belongs to Q (queries set)
b of B belongs to Q or U (updates set)
a has batch of operations as: (select_0 -> select_1 ... -> select_k), where k is (natural number U 0)
b has batch of operations as: (select_0 -> insert_1 -> insert_2 -> insert_3)
some a transactions aborted by b transaction.
The message: Transaction was aborted. It was wounded by a higher priority transaction due to conflict on keys in range [[be051f8a-8667-4ace-b2e0-262c264465e0], [be051f8a-8667-4ace-b2e0-262c264465e0]), column add_token_role in table identity_provider.
(cannot figure out why is there mentioned add_token_role column), be051f8a-8667-4ace-b2e0-262c264465e0 - the row with such key has been inserted.
So it looks like a_k is doing selections, while b is doing selection\insertion, and then returns AbortedException (I totally don't know why, might be because of a row was inserted)
Then a_k is going to be retried by JDBC, but unfortunately it fails later, because of a new row appeared ?
I would to suggest retrying only and only such a_k transactions with ignoring hashes on demand (by passed strategy param)
If some a_k transactions contains modification statement of course such transaction consider as conflicted, and will be aborted.
So maybe you help me to figure out, what is happening to the application and why a_k is always aborted?
Thank you.

Then a_k is going to be retried by JDBC, but unfortunately it fails later, because of a new row appeared ?

Yes, that is most probably the reason that the JDBC driver will not retry the transaction.

So maybe you help me to figure out, what is happening to the application and why a_k is always aborted?

The most probable reason that transaction a is aborted, is that it first did a SELECT statement that would have returned the row that transaction b inserted before b committed. Consider the following simplified example:

Transaction A: SELECT * FROM identity_provider WHERE id=1. This returns 0 rows.
Transaction B: INSERT INTO identity_provider (id, ...) VALUES (1, ...).
Transaction B: COMMIT.
Transaction A: SELECT * FROM identity_provider WHERE id=1. This should now return 1 row as transaction B committed, but at the same time it should return 0 rows as the transaction should be serializable. The transaction could therefore be aborted by Cloud Spanner.

I'm not 100% sure I completely understand the application flow in this case. Are transactions a and b somehow both part of the same application flow? In that case I would suggest:

Combine them into 1 transaction, OR
If possible, make transaction a a read-only transaction. A read-only transaction will never be aborted by Cloud Spanner.

I would to suggest retrying only and only such a_k transactions with ignoring hashes on demand (by passed strategy param)

I understand that. My main concern is that it might not be clear to all users what the consequences of such a setting might be.

Hello, @olavloite thanks for the explanation.
I got stuck in spanner logic could you please have a look at my example?
I have simplified two application transactions as much as can
The first transaction.
select
    ID, CREATED_TIMESTAMP, EMAIL, EMAIL_CONSTRAINT, EMAIL_VERIFIED, ENABLED, FEDERATION_LINK,
    FIRST_NAME, LAST_NAME, NOT_BEFORE, REALM_ID, SERVICE_ACCOUNT_CLIENT_LINK, USERNAME
from USER_ENTITY
where USERNAME='5a62787b-c3d5-4d05-a824-d6b2a58bd68e' and REALM_ID='test'

select
    ID, CREATED_TIMESTAMP, EMAIL, EMAIL_CONSTRAINT, EMAIL_VERIFIED,
    ENABLED, FEDERATION_LINK, FIRST_NAME, LAST_NAME, NOT_BEFORE,
    REALM_ID, SERVICE_ACCOUNT_CLIENT_LINK, USERNAME
from USER_ENTITY
where EMAIL='add24514-897e-4075-aa15-6b632b6bf...' and REALM_ID='test'

insert into USER_ENTITY
(CREATED_TIMESTAMP, EMAIL, EMAIL_CONSTRAINT,
EMAIL_VERIFIED, ENABLED, FEDERATION_LINK, FIRST_NAME,
LAST_NAME, NOT_BEFORE, REALM_ID, SERVICE_ACCOUNT_CLIENT_LINK,
USERNAME, ID)
values
(1593100429637, 'add24514-897e-4075-aa15-6b632b6bf...', 'ae5aa4bd-2b9e-4883-86a4-39bf008fc317',
false, false, NULL, NULL,
NULL, 0, 'test', NULL,
'5a62787b-c3d5-4d05-a824-d6b2a58bd68e', '64a86f74-4e2c-4962-9dc3-b3c16832c05e')

The second
select
    ID, CREATED_TIMESTAMP, EMAIL, EMAIL_CONSTRAINT, EMAIL_VERIFIED, ENABLED, FEDERATION_LINK,
    FIRST_NAME, LAST_NAME, NOT_BEFORE, REALM_ID, SERVICE_ACCOUNT_CLIENT_LINK, USERNAME
from USER_ENTITY
where USERNAME='599161a5-6b9a-4505-b7ed-756bf9a96c46' and REALM_ID='test'

select
    ID, CREATED_TIMESTAMP, EMAIL, EMAIL_CONSTRAINT, EMAIL_VERIFIED,
    ENABLED, FEDERATION_LINK, FIRST_NAME, LAST_NAME, NOT_BEFORE,
    REALM_ID, SERVICE_ACCOUNT_CLIENT_LINK, USERNAME
from USER_ENTITY
where EMAIL='a82b8fc2-a342-402c-a50a-5e576eabb...' and REALM_ID='test'

insert into USER_ENTITY
(CREATED_TIMESTAMP, EMAIL, EMAIL_CONSTRAINT,
EMAIL_VERIFIED, ENABLED, FEDERATION_LINK, FIRST_NAME,
LAST_NAME, NOT_BEFORE, REALM_ID, SERVICE_ACCOUNT_CLIENT_LINK,
USERNAME, ID)
values
(1593100429664, 'a82b8fc2-a342-402c-a50a-5e576eabb...', '50336ed4-2c7b-4e46-8f7f-25fad9b2fa58',
false, false, NULL, NULL,
NULL, 0, 'test', NULL,
'599161a5-6b9a-4505-b7ed-756bf9a96c46', 'e239a2ed-5d3a-4f4e-9ed5-9d7698567dfa')

Why I got
Transaction was aborted. It was wounded by a higher priority transaction due to conflict on keys in range [[e239a2ed-5d3a-4f4e-9ed5-9d7698567dfa], [e239a2ed-5d3a-4f4e-9ed5-9d7698567dfa]), column created_timestamp in table user_entity.
How might be there any conflict on keys and furthermore on column created_timestamp

Why I got
Transaction was aborted. It was wounded by a higher priority transaction due to conflict on keys in range [[e239a2ed-5d3a-4f4e-9ed5-9d7698567dfa], [e239a2ed-5d3a-4f4e-9ed5-9d7698567dfa]), column created_timestamp in table user_entity.
How might be there any conflict on keys and furthermore on column created_timestamp

I don't know why this specific abort occurred. But in general, you should always structure your code in such a way that you take into account that any read/write transaction may be aborted by Cloud Spanner. It could also be caused by factors that you are not able to control from the client side, like for example a temporary network error.
The above transactions do however look like transactions that the JDBC driver should be able to retry automatically. Did the retry by the JDBC driver fail in this case as well?

The above transactions do however look like transactions that the JDBC driver should be able to retry automatically. Did the retry by the JDBC driver fail in this case as well?
Correct. These transactions are able to retry.
But if there is additional select (like select id from client where realm_id = 'test') it may fail retry, you know why, checksums are not equal.
Actually ORM generates some selections and it's almost a real case when client table was changed (during running transactions and the one of two is failed), and when client does retry it will be aborted due to different hashes.
So it's why I've decided to make a pull request.

But if there is additional select (like select id from client where realm_id = 'test') it may fail retry, you know why, checksums are not equal.

Yes, I understand that. My point is that if a transaction executes select id from client where realm_id = 'test', it should do so because it needs to make a decision based on all the results from that query. That also means that a transaction should not be allowed to retry if that query returns a different result during the retry. If it does not need all the results in that query to make its decision, it should narrow the where clause to only return the records that are actually needed.
My main concern is that not being strict in this retry logic is that it could lead to errors that would seem very illogical and hard to debug. Consider the following transaction in pseudo-code loosely based on your example:
BEGIN TRANSACTION;

SELECT COUNT(*) as C
FROM USER_ENTITY
WHERE<EMAIL_ADDRESS>
IF C = 0 {
  INSERT INTO USER_ENTITY (email, ...) VALUES<EMAIL_ADDRESS>...);
}

COMMIT;

Considering the fact that Cloud Spanner transactions are serializable, anyone will rightly expect that this transaction will never cause the USER_ENTITY table to contain multiple rows with the same email value. However, if we during a transaction retry would ignore any difference in the SELECT query between the original transaction and the retry attempt, the table will occasionally receive duplicate email records. These kind of subtle errors can be incredibly hard to track down. Anyone looking at this code will for example come to the conclusion that this part of the application cannot be what is causing the duplicate email records.
I do know that it can be hard to limit a query to exactly the results you need at that moment, especially when there's an ORM in between your application and the database. That's why I asked earlier if the checksum mismatch was always related to a specific column. If your tables contain one or more columns that change often, and that are not really important to the application logic but are automatically included by the ORM in all queries, then I would rather look into limiting the checksum check for that kind of columns, than allowing it to be turned off all together.

I understood. For now, I think limiting the checksum it would be pretty enough. Excluding all primary keys and unique values is prohibited, because it leads to a certain fault.
I presume that your example won't work in real application, and spanner is supposed to throw kind of ViolationPrimaryKey or UniqueIndex exception. But it's very clear for me, why force retry looks as workaround and will be incomprehensible.
According to it. May I make some POC with limiting columns in the checksum comparison in the same pull request which I opened?

I presume that your example won't work in real application, and spanner is supposed to throw kind of ViolationPrimaryKey or UniqueIndex exception. But it's very clear for me, why force retry looks as workaround and will be incomprehensible.

Correct, if there is a unique constraint on the email column in the above example, the retry of the transaction would fail with an ALREADY_EXISTS error.

May I make some POC with limiting columns in the checksum comparison in the same pull request which I opened?

Certainly, but bear in mind that the change must be something that would be safe and understandable to include for all users.

Hello @olavloite it's again me.
I have got back to this issue recently.
I thought for some time, and didn't find the perfect solution right now.
Your concern is clear, and actually java client may delegate retrying to the using application. But already written applications cannot be changed throughout for using spanner, it's really sad.
So, what I came up with.
All listed suggestions are on demand via specific property, and won't break compatibility.
1) Checking checksum only for unique columns. (have to select and cache data from information_schema)
2) Checking checksum only for existing rows before aborting (but it's problem to figure out what is the primary key of row, for that I have to make the sql query to information_schema.
Why I suggested that? Because things may occur when an app selects all data from the table, then transaction is being aborted, and an app will come across that, a new row has been inserted into the table. Eventually, an app got ConcurrentModification, but I cannot say, that is really concurrent modification.
But the most problem is that, table might be changed completely (3 rows were inserted and 3 rows were removed). So-so, nor very good idea to me.
And I think more appropriate option
3) To make some metadata properties, which column or tables can be excluded from checksum checking there.
So, Unfortunately I could not handle those exception in my own way on the application side (it's because there is a ORM layer between spanner). It's why I'm suggesting you some weird PR. I was confused, when I didn't found any similar issues on the internet (only a few questions on stackoverflow and one on github).
Actually spanner is working very well, I suspect  at any rate, that some time the issue will appear (for example two clients try adding new different models in the same time, meanwhile the third client is adding another model into table, that is being selected in the others transactions).
May I can suggest to make a ExceptionHandler interface (for spanner client), where users can write their own behaviour for handling any exception? Instead of changing retry policy.
Thanks you for replying and answers.

Hello @olavloite , I know I'm pretty annoying you with my questions(
I apologies.
I think that understand a the cause of aborted transaction, and would like to know your opinion if you don't mind.

But if I change email to email_constraint it will work
Tx1

SELECT *
FROM user_entity
WHERE username='user_1' AND realm_id='test'

SELECT *
FROM user_entity
WHERE **email_constraint**='email_1_constraint' AND realm_id='test'

INSERT INTO user_entity (created_timestamp, email, email_constraint, realm_id, username, id, email_verified, enabled, not_before)
VALUES<PHONE_NUMBER>637, 'email_1', 'email_1_constraint', 'test', 'user_1', '1', true, true, 0)

Tx2

SELECT *
FROM user_entity
WHERE username='user_2' AND realm_id='test'

SELECT *
FROM user_entity
WHERE **email_constraint**='email_2_constraint' AND realm_id='test'

INSERT INTO user_entity (created_timestamp, email, email_constraint, realm_id, username, id, email_verified, enabled, not_before)
VALUES<PHONE_NUMBER>640, 'email_2', 'email_2_constraint', 'test', 'user_2', '2', true, true, 0)

Because my indexes:
(realm_id, username)
(realm_id, email_constraint)
(email)
So what do you think ?
Could be known 'false-positive' issue.
I'm really would like to read you thoughts.
Thank you, and I'm sorry for a lot of text.

Also FORCE_INDEX could help
SELECT *
FROM user_entity@{FORCE_INDEX=idx_user_email}
WHERE email='email_1' AND realm_id='test'

Here email is not unique index, but it works with FORCE_INDEX

@kurisumakise2011
What exactly do you mean with 'false positives'?
Also, I think we should try to separate two different questions / issues here:

The retry strategy that is used by the JDBC driver and any optimizations that might be possible to apply to it.
When Cloud Spanner will abort a transaction.

The former is something that we can optimize in the JDBC driver. The latter (when Cloud Spanner will abort a transaction) is also an interesting question, but it is not something that we can really optimize in the JDBC driver. It is something that you could optimize in your own application if you can find certain strategies that lead to less aborted transactions.
At the same time you should always keep in mind that Cloud Spanner could abort any read/write transaction, so even if you optimize your code to minimize the number of aborts that you get, you should still take into account that any transaction could be aborted.

Greetings @olavloite , thank you very much, that you're answering. I appreciate this.
First of all, yes any transaction could be aborted.

Also, I think we should try to separate two different questions / issues here:

Totally agree.

What exactly do you mean with 'false positives'?

When we do slice (select with the where clause) with not unique index on a column, a transaction could be aborted.
For example:
SELECT *
FROM user_entity
WHERE email='email_1' AND realm_id='test'

The table user_entity has the following indexes:
UNIQUE INDEX (realm_id, username), INDEX (email), UNQIUE INDEX (realm_id, email_constraint)
So as you see, the above query contains email and realm_id
When two transactions run concurrently and the fastest transaction will commit.
The second one will check has been there any modifications? The second transaction cannot be sure. Because it executed the select query with not unique parameter in conditions.

If I change email to email_constraint, it will work without any abort, because it is totally aware in consistency.
If I change queries within both transactions and add FORCE_INDEX, it will work too.

SELECT *
FROM user_entity@{FORCE_INDEX=idx_user_email}
WHERE email='email_1' AND realm_id='test'

Why I'm calling that "false-positive", due to the same problem (in my opinion)
https://gist.github.com/nathanl/f98450014f62dcaf0405394a0955e18e
I knew, it's PostgreSQL, but looks like Spanner has a similar behaviour and could be fixed as well.

The latter (when Cloud Spanner will abort a transaction) is also an interesting question, but it is not something that we can really optimize in the JDBC driver

If you mean spanner client too, I don't have an argument, I'm not sure 100% that it should be resolved there.
I'd like to add a feature that could resolve "false-positive issue" if it's possible.
For example, could we add support for hibernate spanner implementation such FORCE_INDEX on demand ?

It is something that you could optimize in your own application if you can find certain strategies that lead to less aborted transactions.

Please, don't think that I want to resolve my own application issue via making pull request. I want to enhance client, to prevent these situations. Because if you have already written application with 200 modules then migration to spanner is not a possible or it's very difficult. I have been doing a lot of attempts to fix all things earlier, without modifying your java client.
I think it also could be useful for other users.

At the same time you should always keep in mind that Cloud Spanner could abort any read/write transaction, so even if you optimize your code to minimize the number of aborts that you get, you should still take into account that any transaction could be aborted.

I alway keep it in mind. I had experience with working with serializable isolation level of other databases. But in spanner everything is totally serializable.
So, that why I'm writing here.
p.s. I've already asked google support, about it.
firstly they answered might be transaction was aborted due to a deadlock. But I provided the same, that I wrote above. Now, I'm waiting for their answer.

I decided to close the issue until making an idea


Where is the complete documentation?

Greetings, i'm trying to find the complete documentation about project air, i'm searching documentation about to create connection with REST services,  but in the tutorial i only saw information about the demo however the tutorials don't  have a complete documentation, could you pass me a link with the complete documentation?
Thank you

@EstuardoValenzuela Thanks for the inquiry and we are currently updating the documentation to provide more details on each available pipeline activity.
As for the REST activity I noticed there is a bug in the activity configuration.  Please use the inference activity instead as it provides the same functionality.  First configure the REST activity endpoint using the Model Endpoint configuration, and then when configuring the Inferencing activity, select the endpoint configuration.
Hope this helps and if you have further questions, please feel free to reach out.
Thanks

We are working hard to get the documentation more complete and done here:
https://tibcosoftware.github.io/labs-air/


One thousand issues and PRs later...

can devs do something?

Can I help?

Feel free to pick up on of these "good first issues" @brunovjk
https://github.com/kleros/kleros-v2/labels/Good First Issue 🎬

Thank you. I will!


Create and deploy team pull secrets for harbor

We provide secrets to create robot accounts. These same secrets should be used to create pull secrets that need to be added.
Steps:

[ ] add secrets to team schema
[ ] use these secrets in the routine that is responsible for the creation of pull secrets, and register them to the default service accounnt (done in values/k8s/k8s-raw.gotmpl)

@Morriz I am afraid that we can't provide secrets to create robot account.
In Harbor you can request to create a robot account and Harbor provides the secret value.
Maybe we do not even need to store that value in values.
I see the following scenario that job-harbor performs:
For each team:

Create robot account in harbor for pulling images only
Create a pullSecret in team namespace

Job will run always and check robot account / pullSecret exist.

The problem is that the team "default" service account needs to get that pull secret added. We have a mechanism for that in gotmpl, and I am trying to avoid any kubectl actions. We wish to preserve static generation of resources.
Maybe we have to make an exception and do it in typescript via the kube api package. Long time ago I have created methods in the otomi-stack lib that do that already, like createPullSecret, which adds it to the "default" SA. Time to start using those then.


Rebuilding as umd with the modern webpack

Hi.
Since the current version of Cal could not be read correctly in webpack 2.x, I generated the umd format again😃
Regards.

Thank you soooooooooooooooo much!
I'll publish this to npm soon!


Driver version example error

Coverage decreased (-0.01%) to 52.884% when pulling a2fe87c872e453db89f14d66556c8a3e212695c5 on zimiao/fix_driver_parser into c0703488e06eadffae47b2386b2806fc59a79f49 on master.


TiFlash crash with high pressure write and read workload with conprof

Bug Report
Please answer these questions before submitting your issue. Thanks!
1.  What did you expect to see? (Required)
3. What did you see instead (Required)
4. What is your TiFlash version? (Required)
master
[type=tiflash] [version=5.5.0-nightly] [git_hash=8a0d0007c4d5c9630fcd0ca11784301466f22070]
[type=pd] [version=5.5.0-nightly] [git_hash=a4b1968c3fe64c555604ca72526a2e6d028b1423]
[type=tikv] [version=5.4.0-alpha] [git_hash=d7ae087ea23e6260f7e8f521b25dc8619eebddcd]
[type=tidb] [version=5.5.0-nightly] [git_hash=f9a324829b71a24141d5326ddc0026f6b12125c3]

Should be fixed due to https://github.com/pingcap/tiflash/pull/4871


Option for councils with only 1 price of permit

This PR is dependent on #271 - Don't merge this until that one's done.
(I made the branch dependant on #271 because there's so much overlap, so better to fix all the conflicts and see what they both look like together.)

This fixes #254 - Deals with single price councils.
Bucks submitted their prices as a single item, whereas Northumberland submitted their prices as an array of 4 of the same number. Neither of these are wrong and future councils might do either, so the logic I've written (if council.permitsCosts[0] - council.permitsCosts[council.permitsCosts.length-1] == 0) takes the first cost and subtracts the last cost. If the answer is 0, then we know there's only one cost.
I've also moved the cost information up above the boundary information as people said in research that they wanted to know that quicker, and it makes it more consistent across the councils.
Before

After

Also removes references to the DVLA lookup for the singleCost councils (Bucks & Northumberland).

snazzy stuff


Add a step in circle CI config to run tests against arangodb 3.7

fix #295

Investigating the failures.

After looking at the test failures for 3.7.3, I noticed that a couple of property have been removed from the graph response in the community edition (which is the one we use to run the tests).
I noticed that some properties have been removed from the graph response model since 3.6. Namely: numberOfShards, replicationFactor, writeConcern, isSmart. My guess is that because they are property that only take effect for enterprise edition, they removed it from the response of community edition starting from 3.7. I need to test with an enterprise edition to confirm.

GET /_api/gharial/{graph}:

Example of response in 3.6.8 community:
{
    "error": false,
    "code": 200,
    "graph": {
        "_key": "MYGRAPH",
        "numberOfShards": 1,
        "replicationFactor": 1,
        "minReplicationFactor": 1,
        "writeConcern": 1,
        "isSmart": false,
        "edgeDefinitions": [],
        "orphanCollections": [],
        "_rev": "_Zl-MDrO--_",
        "_id": "_graphs/MYGRAPH",
        "name": "MYGRAPH"
    }
}

Example of response in 3.7.3 community:
{
    "error": false,
    "code": 200,
    "graph": {
        "_key": "MYGRAPH",
        "edgeDefinitions": [],
        "orphanCollections": [],
        "_rev": "_bYKWsui---",
        "_id": "_graphs/MYGRAPH",
        "name": "MYGRAPH"
    }
}

I got a reply from the ArangoDB team in Slack.

it looks like the cluster-only attributes were previously returned even in single server.
pre-3.7 the cluster-only graph attributes were returned in a single server setup, and are now returned only in a cluster.

To fix the test, I think we can simply remove the check for the cluster attributes mentioned in my previous comment above. Would be nice to add another test that creates a cluster-only graph, so that we can ensure properties are correctly deserialized.


FileNotFoundError: [Errno 2] No such file or directory: './data/train/derain/DDN_100_split1.txt'

which datasets

download data from following pages,
DID-data: https://github.com/hezhangsprinter/DID-MDN
DDN-data: https://xueyangfu.github.io/projects/cvpr2017.html
SPA-data: https://arxiv.org/pdf/1904.01538
https://github.com/nnUyi/DerainZoo/blob/master/DerainDatasets.md
and  arrange the data in the following format,
.
├── data
|   ├── train # Training
|   |   ├── derain
|   |   |   ├── <dataset_name>
|   |   |   |   ├── rain              # rain images
|   |   |   |   └── norain            # clean images
|   |   |   └── dataset_filename.txt
|   └── test  # Testing
|   |   ├── derain
|   |   |   ├── <dataset_name>
|   |   |   |   ├── rain              # rain images
|   |   |   |   └── norain            # clean images
|   |   |   └── dataset_filename.txt


Attributes cached across view instances

Perhaps somewhat of an obscure one this, and I am aware that it uses private API's, but...
describe Phlex::HTML do
  extend ViewHelper

  describe '__attributes__ override' do
    describe 'first' do
      view do
        def template
          div(identical: 'attribute') { 'one' }
        end
      end

      it 'renders' do
        expect(output).to be == %(
one
)
      end
    end

    describe 'second' do
      view do
        def __attributes__(**attributes)
          raise 'I should be called'
        end

        def template
          div(identical: 'attribute') { 'one' }
        end
      end

      it 'should raise' do
        expect { output }.to raise_exception StandardError, message: be == 'I should be called'
      end
    end
  end
end

The last test case should raise an exception when __attributes__ is called. But that method is only called on the first test case. I'm assuming because it is cached due to identical attributes between the two tests. However, these two cases describe two different views, so should not share the attribute cache.
If I change the attributes in the second test case, all passes because the attributes are different.
My use case is to allow me to hook into the attributes of any element, and perform additional logic based on the attributes given. It's effectively what we want from https://github.com/joeldrapper/phlex/issues/467
thx

Yeah I guessed it was intentional. I definately need a proper hook for this. You thought any more in that? Want me to have a go?

I’ve been thinking about it. It's quite tricky to do this without breaking the compiler. I also don't really understand why people are doing it. Providing supporting use-cases in #467 would be helpful.

In the meantime, any suggestions as to how I can work around this?

@joelmoss sorry, I can't think of an easy way around this. I’m going to close this issue as it will be considered as part of any implementation of #467.


Filter list of closest volunteers by requester language

This PR filters the list of closest volunteers to only display those who speak the requester's language.
Assumptions
The volunteer signup form language input is a multi-select dropdown that displays language options in the following format:

Slack message before language filtering

Slack message after language filtering

Potential user issues
If no volunteers speak the requester's language, no matches will be returned.
Do we generate a list of volunteers anyway, even if none speak requester's language?

Code looks good, just holding off before moving forward with volunteer language changes. We'll discuss at standup.

Also, can you rebase this on master? Or merge master into your branch, either works.
Thanks. 🙏


Forward the request when saving the form

Hello. I would like to forward the request to the instance of ConstanceForm, when calling the save method. Help me understand if it is necessary to update any tests.

@Mogost @jezdez @Mogost Can you please review this?

@felippem Yes, the tests need to be updated, but I'm also curious for the use case?

@felippem Yes, the tests need to be updated, but I'm also curious for the use case?

@jezdez I'd like to get the request.user.has_perm when the form loads, after it's posted.  I have a custom form, which inherits Constance's original implementation.

@felippem Yes, the tests need to be updated, but I'm also curious for the use case?

@jezdez I'd like to get the request.user.has_perm when the form loads, after it's posted.  I have a custom form, which inherits Constance's original implementation.

Hi @jezdez ! Did you understand my use case?

@felippem I get it now, but this is actually a regression, since there is a permission check in the ConstanceForm.__init__ method that is currently not run since the request isn't passed. Since the tests don't fail, it seems as if this line of code isn't accurately tested. Please add/update a test case for this.

This was an oversight in https://github.com/jazzband/django-constance/pull/393.

@felippem I get it now, but this is actually a regression, since there is a permission check in the ConstanceForm.__init__ method that is currently not run for POST requests since the request isn't passed. Since the tests don't fail, it seems as if this line of code isn't accurately tested. Please add/update a test case for this.

So I'll try to do that soon.  Thanks for answering.

@felippem I get it now, but this is actually a regression, since there is a permission check in the ConstanceForm.__init__ method that is currently not run for POST requests since the request isn't passed. Since the tests don't fail, it seems as if this line of code isn't accurately tested. Please add/update a test case for this.

So I'll try to do that soon. Thanks for answering.

@jezdez Done. Can you review please?

Thank you @jezdez. Have an idea about the next release?

@jezdez can I help with anything else?

Thank you

Hi, @camilonova! Do you have a date for the next release?


Extra queries on @OneToOne relation with lazy fetch type

I tried the example with the hibernate-enhance-maven-plugin activated, and confirmed that direct @OneToOne relations were being lazily loaded. I created a Book class with a @OneToOne to Author, and every time I fetched a book, the author was being fetched lazily:
select book0_.id as id1_1_0_, book0_.author as author2_1_0_ from book book0_ where book0_.id=?

However, when I fetch an Author, which has an inverse @OneToOne relation with Book, an extra query is being excecuted:
select author0_.id as id1_0_0_, author0_.age as age2_0_0_, author0_.avatar as avatar3_0_0_, author0_.genre as genre4_0_0_, author0_.name as name5_0_0_ from author author0_ where author0_.id=?
select book0_.id as id1_1_0_, book0_.author as author2_1_0_ from book book0_ where book0_.author=?  // <-- This shouldn't be fetched

I read that this happens because hibernate does not know if it has to create a proxy or load it with a null reference, but I thought that the enhancement plugin fixed this.
This is the book class I created:
@Entity
public class Book implements Serializable {
    private static final long serialVersionUID = 2L;

    @Id
    public Long id;

    @OneToOne(fetch = FetchType.LAZY)
    @JoinColumn(name = "author")
    public Author author;
}

and the author class is the same as in the example, but I added the inverse relation:
@OneToOne(mappedBy = "author", fetch = FetchType.LAZY)
Book book;

Is there an error in my tests or it's still a limitation in the library? How are we suposed to solve this problem? Since if I fetch a list of objects with inverse relations, I will be making several extra queries and it will negatively impact on the performance
Forgot to mention: I also tried using @LazyToOne and @LazyGroup annotations in each field, but had the same results.

Thanks for your comment! I suggest you try @MapsId (https://github.com/AnghelLeonard/Hibernate-SpringBoot/tree/master/HibernateSpringBootOneToOneMapsId). You can find more details in my book, Spring Boot Persistence Best Practices.

 For such cases, as you have, FetcType.LAZY is all you need.


Urgently! Import relevant Issue and Createsuperuserrelevantissue

Import "django.apps" , "django.contrib" and may be others imports could not be resolved from source Pylance.
python manage.py createsuperuser this command is also not working.

Environment data

Language Server version: XXX
OS and version: XXX
Python version (& distribution if applicable, e.g. Anaconda): XXX

Expected behaviour
XXX
Actual behaviour
XXX
Logs

XXX
``
![this2](https://user-images.githubusercontent.com/95150228/143723127-21691f38-bb1f-415c-a60b-08961bbf4356.JPG)
![this3](https://user-images.githubusercontent.com/95150228/143723129-bd27f527-cac2-41a3-8d7b-f7901a5aa607.JPG)
![this4](https://user-images.githubusercontent.com/95150228/143723130-96919f6f-3619-4ecc-b420-d75e54725346.JPG)
![this](https://user-images.githubusercontent.com/95150228/143723131-b3521657-afbf-4d3c-9964-1dc12920a053.JPG)
`

## Code Snippet / Additional information

<!--
Note: If you think a GIF of what is happening would be helpful, consider tools like https://www.cockos.com/licecap/, https://github.com/phw/peek or https://www.screentogif.com/ .
-->

```python
XXX

Thanks for the report. Could you please verify that you are using the right Python virtual environment that has django installed?

closing stale issue


Introduce Transaction Monitoring Service

Description
Introduce a new service to monitor transactions from a given address and reports transactions above a defined threshold. Configurable via json rather than cli params primarily because it's the best way to specify an unbounded number of addresses to monitor.
Tests
I've added in monitoring tests using a small local network to ensure the proper alerts are set off if the event of a transaction exceeding the threshold.
Additional context
Designed as part of a larger scope to get Drippie into production, needed to ensure Drippie is dispersing funds correctly.
Metadata

Fixes #13053

Summary by CodeRabbit

New Features

Introduced a new command for monitoring transactions in the CLI application.
Added a starting block option for transaction monitoring.
Launched a new transaction monitoring functionality that tracks specified addresses and alerts based on thresholds.

Bug Fixes

Enhanced error handling for configuration validation and transaction processing.

Tests

Added unit tests for transaction monitoring and dispute game watcher functionalities.

Chores

Updated Go version and dependencies in the project configuration.

An initial review would be great! I have the service fully setup, and a small test to ensure it works properly, it took a version bump to use anvil to run the tests locally, I do want to upstream some changes to our anvil package though (primarily fork url being optional). Not sure how to update CI

DOCUMENTATION: Also, if there is a new monitoring added we need to add the correct documentation in the both README file.

In the global readme here
In the current transition_monitor here

For both of the templates we got some example of documentation for the previous monitor created @ControlCplusControlV
CI linting is broken @ControlCplusControlV would be nice to fix the imports for the linter :)

@ControlCplusControlV Also, tried to compile locally but some new changes broke the code:
# github.com/ethereum-optimism/monitorism/op-monitorism/cmd/monitorism
cmd/monitorism/cli.go:273:67: cannot use opmetrics.With(metricsRegistry) (value of type "github.com/ethereum-optimism/optimism/op-service/metrics".Factory) as prometheus.Registerer value in argument to transaction_monitor.NewMonitor: "github.com/ethereum-optimism/optimism/op-service/metrics".Factory does not implement prometheus.Registerer (missing method MustRegister)
cmd/monitorism/cli.go:278:57: cannot use monitor (variable of type *transaction_monitor.Monitor) as monitorism.Monitor value in argument to monitorism.NewCliApp: *transaction_monitor.Monitor does not implement monitorism.Monitor (wrong type for method Close)
                have Close() error
                want Close(context.Context) error

Seem to ref the lib used that doesn't have the correct type.

@ControlCplusControlV Also, tried to compile locally but some new changes broke the code:
# github.com/ethereum-optimism/monitorism/op-monitorism/cmd/monitorism
cmd/monitorism/cli.go:273:67: cannot use opmetrics.With(metricsRegistry) (value of type "github.com/ethereum-optimism/optimism/op-service/metrics".Factory) as prometheus.Registerer value in argument to transaction_monitor.NewMonitor: "github.com/ethereum-optimism/optimism/op-service/metrics".Factory does not implement prometheus.Registerer (missing method MustRegister)
cmd/monitorism/cli.go:278:57: cannot use monitor (variable of type *transaction_monitor.Monitor) as monitorism.Monitor value in argument to monitorism.NewCliApp: *transaction_monitor.Monitor does not implement monitorism.Monitor (wrong type for method Close)
                have Close() error
                want Close(context.Context) error

Seem to ref the lib used that doesn't have the correct type.

Sorry, just fixed, finally pushed everything and now updating everything


sql

redacted

Removed all private info. Please do post here only if you wish to provide a bug report or feature request for zend-view.


Incorrect Style/SafeNavigation transformation

Given the following input file, after running rubocop it no longer works:
package = false

if package && package.include?('blah')
  puts 'blah package'
else
  puts 'No Package'
end

It currently gets corrected to the following, which breaks the code:
# frozen_string_literal: true

package = false

if package&.include?('blah')
  puts 'blah package'
else
  puts 'No Package'
end

Expected behavior
Rubocop runs successfully on this file and produces valid Ruby
# frozen_string_literal: true

package = false

if package && package.include?('blah')
  puts 'blah package'
else
  puts 'No Package'
end

$ ruby foo.rb
No Package

Actual behavior
After running Rubocop, and running the file:
$ ruby foo.rb
Traceback (most recent call last):
foo.rb:5:in `<main>': undefined method `include?' for false:FalseClass (NoMethodError)

Steps to reproduce the problem
Create a new file:
$ cat foo.rb
package = false

if package && package.include?('blah')
  puts 'blah package'
else
  puts 'No Package'
end

Confirm it works:
$ ruby foo.rb
No Package

Run default rubocop:
$ rubocop -a foo.rb
Inspecting 1 file
C

Offenses:

foo.rb:1:1: C: [Corrected] Style/FrozenStringLiteralComment: Missing frozen string literal comment.
package = false
^
foo.rb:2:1: C: [Corrected] Layout/EmptyLineAfterMagicComment: Add an empty line after magic comments.
package = false
^
foo.rb:3:4: C: [Corrected] Style/SafeNavigation: Use safe navigation (&.) instead of checking if an object exists before calling the method.
if package && package.include?('blah')

Confirm that the file still works, in this case it doesn't:
$ ruby foo.rb
Traceback (most recent call last):
foo.rb:5:in `<main>': undefined method `include?' for false:FalseClass (NoMethodError)

RuboCop version
Version:
0.82.0 (using Parser <IP_ADDRESS>, running on ruby 2.6.5 x86_64-darwin18)

I have no custom .rubocop.yml file, so the default configuration appears to be:
  AllowedMethods:
    - present?
    - blank?
    - presence
    - try
    - try!

@adfoster-r7 Since rubocop is a static analyzer, it cannot determine value of the variable. In this case value is right there, but in usual cases it can be defined anywhere. It is only fair of rubocop to see package && package.xyz and mark it as offense.
You can disable the cop on that particular line: https://rubocop.readthedocs.io/en/latest/configuration/#disabling-cops-within-source-code - instead of disabling it entirely (like you did in linked PR).
Question to maintainers is - should we mark this cop as unsafe?

The SafeNavigation cops had a rocky start when we first introduced them. It took a little while to get the rules ironed out. There have been a few issues since then, but nothing too major. There are some risks with this cop, and other cops.
The code example is perfect for showing off the problem, but it is also a signal of a larger problem in the code itself. Narrowly looking at package && package.include?('blah'), there is some implied state behind what package can be. The code by itself is simple check for object existence followed by usage of the object. The expected values for package would be nil or an enumerable. false is an unexpected value for how the code is intended to work.
I will admit that package && package.include?('blah') safe guards against the false value and package&.include?('blah') does not. This cop is causing an unintended consequence, and this could be an argument to flag the cop as unsafe. Regardless of that, I would encourage you to look through how that code is being used and refactor it to avoid type confusion. This bug was caused by an automated tool, but these kinds of bugs are very easy for a human to introduce as well when the type of an object cannot be easily inferred based on the code as written.

We should absolutely mark this cop as unsafe (both as detecting false positives and as incorrect autocorrection)
I just got burned by this when working on #7868. RuboCop's current API for autocorrect allows to return either a lambda or nil/false.
I was refactoring the code to:
lambda = autocorrect(node)
#...
lambda.call(node) if lambda

I'll note that I see not good way to write this without disabling this cop in this case.

Great rule, but definitely not safe to auto-correct.

Thanks for the reminder @vlad-pisanov
Marked as unsafe-autocorrection.


[chip-test] chip_sw_uart_tx_rx

Test point name
chip_sw_uart_tx_rx
Host side component
Rust
OpenTitanTool infrastructure implemented
Yes
Silicon Validation (SiVal)
Yes
Emulation Targets

[ ] None
[ ] CW310
[X] Hyperdebug + CW310

Contact person
@rswarbrick
Checklist
Please fill out this checklist as items are completed. Link to PRs and issues as appropriate.

[ ] Device-side (C) component developed
[ ] Bazel build rules developed
[ ] Host-side component developed
[ ] Test added to dvsim nightly regression (and passing at time of checking)
[ ] For SiVal test cases, test is running relevant FPGA or silicon regression

estimate 3

It's assigned here. Does it need to be in the sival branch too?


Voice Biometrics

This is not an issue. A small Doubt. How do we add the Voice Biometrics feature to the SOE?

Hi @GeetaKrishna,
What you mean by "Voice Biometrics Feature" ? Can you elaborate a little more ? (examples, docs, links).
Regards.
X.

Anything that mostly sheds light on how to add those features to my SOE. Examples, docs these two can help me. I'll try to figure it out.

Hi Geeta,
According to my knowledge you can't integrate voice gateway with Voice biometrics. Voice gateway only supports IBM text to speech / speech to text and google voice. Voice biometrics is nuance proprietary. May be IBM will allow it in future. Will let you know if I come across its integration with voice gateway.
Regards
Sumit

Ok Sumit. Thank you for the Information.


Update dependencies

Test Plan
CI

Codecov Report

Merging #1779 (3eb7064) into main (5eadfc4) will not change coverage.
The diff coverage is n/a.

@@           Coverage Diff           @@
##             main    #1779   +/-   ##
=======================================
  Coverage   65.20%   65.20%
=======================================
  Files         181      181
  Lines       37994    37994
=======================================
  Hits        24775    24775
  Misses      13219    13219


certificate

Hi,
I'm testing Overland on iOS and my own server (nextcloud)
I'm using a self signed certificate.
When I try to transfer the data i get the notification that i use a unsafe certificate to the server xxx (my server)
Of course, it is a self signed one ... but i know the server -- and i want to transfer on my own risk ........
what i am missing is a OK-button where i can confirm that i want to proceed with the transfer
With browsers and certain other apps there is this possibility.
Is there a way i can manage that with Overland too ??
If not, is there a possibility to get it implemented ?
or am i totally blind for not finding it in the prefs
hopfully someone can help
Regards Joe

There is no way to disable the certificate check in the app.
I would recommend using Letsencrypt to get a free certificate.


#1592 Packages: Introduce decorators for functions with special roles

To check generation:

Start datagrok locally (core changes from the corresponding PR are required)
Build js-api
Build tools
Link js-api in viewer-package, build and publish it
Use generated functions

To do:

[x] Remove the test package before merging
[x] Implement changes to package template and exiting packages
[ ] Support decorators for other function roles

See the second part: https://github.com/datagrok-ai/public/pull/1921


ngAfterViewChecked trigger all time when mouse move on diagram widget

I am testing the angular diagram and detected a problem. The change detector runs constantly when the mouse is moved. you can check by putting
ngAfterViewChecked () { console.log ('here'); }
in any example diagram for angular
I leave an example in
(https://codesandbox.io/s/b2pjf)
but it explodes and is not executed.

Thank you for the report. I reproduced this issue and we are researching why it occurs:
https://supportcenter.devexpress.com/ticket/details/t869898/diagram-the-ngafterviewchecked-event-is-repeatedly-triggered-when-the-mouse-is-moved
We will update this ticket once we have any results.


[Enhancement] Extraction of constants [ZipkinConfiguration  ZipkinTraceService]

Search before asking

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

Enhancement Request

Describe the solution you'd like
Located at:eventmesh-trace-plugin/eventmesh-trace-zipkin/src/main/java/org/apache/eventmesh/trace/zipkin
A common directory can be created, and then a ZipkinConstants class can be created to hold these constants.
Are you willing to submit PR?

[ ] Yes I am willing to submit a PR!

Hi, I want to do this.


Failed to establish a new connection: [Errno 111] Connection refused

NewConnectionError(
urllib3.exceptions.NewConnectionError: <urllib3.connection.HTTPConnection object at 0x7fb2fc2ea8b0>: Failed to establish a new connection: [Errno 111] Connection refused
This is the code to test. This is running on a community version. I used pip to install
from arango import ArangoClient
client = ArangoClient(hosts='http://<IP_ADDRESS>:8529')
db = client.db(username="root", password="")
print(db.name)
result = db.create_database("test")
print(result)

I am running this on windows 10 in a wsl2 container of ubuntu

Hi @mtgnoah,
Looks like your code (which I'm assuming is running on Windows 10) is not able to reach the container. Are you sure the container has port 8529 published and is accessible from Windows 10? One thing you can do to check if the ArangoDB instance is reachable is to simply visit http://<IP_ADDRESS>:8529 on your browser.

@joowani I totally forgot I was running in wsl2. Look at this for help wsl Once I ran it on regular windows it worked great


add de_de language

I have created a language file for the german language.

Thanks for the translations, much appreciated!

Thanks for the translations, much appreciated!


[Issue-870] Watchdog.shutdownNow() does not shutdown executor now

Fixes #870 , see my comment

@googlebot I signed it!


Not detecting bindings in 2.1 project

Describe the bug
Tye is not detecting asp.net core in these projects. The result is that no bindings are created
To Reproduce
Ask @amarie401 xD
I suspect this reproduces with an asp.net core 2.1 project

Going to take a look at this.

I didn't see this reproduce when converting part of the voting app from 3.1 to 2.1. However, I did find some other issues along the way 😄 .
@amarie401 when you are debugging this app again in the future, pull me in so I can help debug what is going on.

@jkotalik could you pull this down and run tye in order to replicate the binding issue in the dashboard.

Nvm...it's working now. Needed to update my version of Tye..whoops :P


Feat: add zinc sink

Proposed Changes:

add zinc sink

Which issue(s) this PR fixes:

Fixes #
Additional documentation:
ZincSearch is the simplest and easiest search system to get up and running. It's an open source easy-to-use search engine to solves your observability needs.
pipelines:
  - name: local
    sources:
      - type: file
        name: demo
        paths:
          - /tmp/log/*.log
        fields:
          topic: "loggie"
    sink:
      type: zinc
      host: "http://<IP_ADDRESS>:4080"
      username: admin
      password: Complexpass#123
      index: "demo"
      printEvents: true
      codec:
        pretty: false

Is it possible to replace this zinc sink with an HTTP sink ?

Is it possible to replace this zinc sink with an HTTP sink ?

替换了之后需要再加一层数据转换，也无法批量插入数据，ngjson的格式

已按建议修改了所有的代码 @ethfoo

已按建议修改了所有的代码 @ethfoo

又加了几个review comment，麻烦再看下

@shaoyun 是否在微信群里？如果不在的话麻烦加一下：https://loggie-io.github.io/docs/getting-started/overview/#_3


Input fields in FFT analysis don't work in MS Edge

How to reproduce:

LiberTEM release version 0.5.0

Edge version: 16.16299.547.0

Open a dataset in the GUI

add an FFT analysis

Try to change parameters

What happens:

The field gets blanked
One can't enter numbers

What I expect:

I can modify the value in the field.

Actually, many GUI features including keyboard control of selectors are broken in this version of Edge

Not sure if we keep this in the 0.6 milestone, defer it to later or file it under "Known issue, please use a different browser"? As a side note, drag and drop of files into text fields on GitHub is also broken in that version...

I'm tempted to push this to later, as it is easily worked around. Global and Germany-wide usage of Edge is quite low (under 3%, version 16 under 0.03%), so unless we hear from other users, we should not invest a lot of time into support. We could of course create a policy of supported browsers and put in a list of browsers we test on into the docs, which currently boils down to Chromium-based (Chrome, new Edge, Opera, ... should all be similar enough) and Firefox.

create a policy of supported browsers and put in a list of browsers we test on into the docs

👍 That's definitely a good information to have!

Seems to be fixed, GUI works fine with current Edge.


database.json: fix typo in 'caught' description

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

Do you have a trivial fix clause? This is a trivial fix if I've ever seen one 😅

thanks - don't worry about the cla


Adding with CocoaPods, not working

Followed the "Adding with CocoaPods" instructions where everything worked smooth. But when I build  I get 6 semantic issues: 'Too man arguments to block call'. And following is a line it XCode complains about:
if (!success) {
return reject(@"ENOENT", [NSString stringWithFormat:@"ENOENT: no such file or directory, open '%@'", filepath], nil);
}
Will you help me?

I just updated to  "react-native": "^0.34.1" could that have something to do with it?

Used this comment to solve my issue.
https://github.com/johanneslumpe/react-native-fs/issues/108#issuecomment-248264650


Account for possibly changing DATABASE_URL env var

I'm not sure, but I have a strong suspicion that a !fix_double_redirects command I tried failed because of Heroku's (not entirely undeserved) security obsession:
Heroku rotates credentials periodically and updates applications where this database is attached.

When deployed, the env var DATABASE_URL specifies where ESAEBSAD3 connects to. Currently, we only do the connection once, when everything is initialized. If this env var changes (which I suspect is the case here), then this means ESAEBSAD would fail to connect to the DB, since it would be relying on the outdated url. I'm not completely sure though, and will need to test this.
Solution is pretty easy but requires some refactoring: use a method to get an instance of the DB each time instead of accessing it directly, and have it check if the env var changed. This will result in a lot of redundant changes of course, but performance-wise checking local env vars is peanuts compared to querying a database.

This doesn't seem to be the problem but it could be a potential issue, so will leave it up. Probably Heroku just restarts the dyno though.


Multiple Payment Options

Greetings
Currently the plugin only allows single payment option, can we have the ability for multiple payment option just like this code ?
Thank You

Hello @KhalidSaud, I will check and updates you soon

Technical problem


App crash while try to open gallery

I think glide throws this error while using centerCrop() attribute of glide is used.
I attached the file which contains an
error.txt
error log.

it seems glide removed some functions in 4.9.0
so  use 'com.github.bumptech.glide:glide:4.6.1'

Sorry for not being able to look earlier. I think this issue is caused by the incompatibility of the glide version in this library with the glide version in your application.
Can you try exclude Glide dependency when adding UWMediaPicker dependency?
In addition, I am updating the library using the 4.9 version of Glide. Let me know if the problem persist

Please try version 1.2.1 and let me know if the problem persist.
implementation 'com.github.AnilFurkanOkcun:UWMediaPicker-Android:1.2.1'


Plants with no utilities are assigned pudl utility_id 1

It seems that all of the plants which have no operators or respondents associated with them in the mapping table end up being assigned utility_id 1 in the 'util_plant_assn' table.

this is no longer a problem.


Animal Ally not reaching character level with Boon Companion.

Boon Companion should make my animal ally match my character level but its always 1 level below me. If I am 7 it is 6. If I am 8 it is 7.
Is it because I am multiclassed maybe? That shouldn't matter but its all I can think of.

Maybe its just boon companion that's bugged in which case I guess its not your problem.

The bug is in noon companion but in my integration with it
On Fri, Sep 29, 2023, 09:11 Merilirem @.***> wrote:

Maybe its just boon companion that's bugged in which case I guess its not
your problem.
—
Reply to this email directly, view it on GitHub
https://github.com/Vek17/TabletopTweaks-Base/issues/680#issuecomment-1740960075,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAWSQPGTEL346JIJWXKWSSTX43JJZANCNFSM6AAAAAA47IHNNU
.
You are receiving this because you are subscribed to this thread.Message
ID: @.***>


xRegistry: Fails to remove key when specified as common registry path

Pull Request (PR) description
Fixes #444
I made the following changes.

Add two helper functions. (Remove-RegistryKey and Remove-RegistryKeyValue)
Replace current disposal for removing registry key / value with these new functions.
Modify unit tests
Add two tests to the integration test.
Add an entry to the change log in the README.md.

This Pull Request (PR) fixes the following issues

Fixes #444

Task list

[x] Added an entry under the Unreleased section of the change log in the README.md.
Entry should say what was changed, and how that affects users (if applicable).
[x] Unit tests added/updated.
[x] Integration tests added/updated.

This change is

 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.:x: mkht sign nowYou have signed the CLA already but the status is still pending? Let us recheck it.

I modified the PR title to shorten the length.


User should be able to revise assessment title and notes

see: https://projects.invisionapp.com/share/6G2FS4IWB#/screens/67620385?maintainScrollPosition=false
user should be able to click on assessment title and notes and revise them

@digitalWestie moving this back to in progress as I don't think its done yet?

wasn't 100% clear on this one, is the idea that the title and notes can be updated by in-place editing?

Yep, it should be:

start a new assessment and be prompted for title/description -- think
we've lost this step somewhere so needs adding back in
when an assessment is in progress, I should be able to edit in place to
revise.

L.
On 30 March 2015 at 11:23, digitalWestie<EMAIL_ADDRESS>wrote:

wasn't 100% clear on this one, is the idea that the title and notes can be
updated by in-place editing?
—
Reply to this email directly or view it on GitHub
https://github.com/theodi/ODMAT/issues/94#issuecomment-87625049.

--
Leigh Dodds, Senior Consultant, theODI.org
@ldodds
The ODI, 65 Clifton Street, London EC2A 4JE


Update Quilt Meta CI

This commit removes the refreshMeta task and replaces it by the new GitHub Actions setup. The manual refresh trigger has also been removed in favor of the one in the action repo.
Draft until the last secret is added to the organisation.

Can you have a look at the error I'm getting at the moment when using this? https://github.com/QuiltMC/quilt-loader/actions/runs/4036584305/jobs/6939279366


Fix github buttons in production

Coverage remained the same at 78.932% when pulling b7f640d246ad7336d6881a30d2a39b089f5bbdfe on elas7:fix-github into e24abf9c663d2a136c1290725101c372ddae1320 on ModusCreateOrg:master.

Coverage remained the same at 78.932% when pulling 63d72fa1deb820b3ec24f451092529e70c9bd301 on elas7:fix-github into e24abf9c663d2a136c1290725101c372ddae1320 on ModusCreateOrg:master.


V100（8 * 32G）运行报错

下载模型并解压后修改配置并运行bash scripts/generate.sh --input-source interactive 后报错
配置修改内容如下：
(py39) [root@iZbp1219pbxs72sxk8onovZ GLM-130B]# git diff
diff --git a/configs/model_glm_130b_v100.sh b/configs/model_glm_130b_v100.sh
index 0b33485..1a474a8 100644
--- a/configs/model_glm_130b_v100.sh
+++ b/configs/model_glm_130b_v100.sh
@@ -1,5 +1,5 @@
MODEL_TYPE="glm-130b"
-CHECKPOINT_PATH=""
+CHECKPOINT_PATH="/root/130b/glm-130b-sat"
MP_SIZE=8
MODEL_ARGS="--model-parallel-size ${MP_SIZE}
--num-layers 70
diff --git a/scripts/generate.sh b/scripts/generate.sh
index 19bef0a..4732652 100644
--- a/scripts/generate.sh
+++ b/scripts/generate.sh
@@ -4,7 +4,7 @@ script_path=$(realpath $0)
script_dir=$(dirname $script_path)
main_dir=$(dirname $script_dir)
-source "${main_dir}/configs/model_glm_130b.sh"
+source "${main_dir}/configs/model_glm_130b_v100.sh"
SEED=1234
MAX_OUTPUT_LENGTH=256
只修改了两个文件：

configs/model_glm_130b_v100.sh ，这个文件修改了 CHECKPOINT_PATH
scripts/generate.sh 这个文件将 model_glm_130b.sh 改成了 model_glm_130b_v100.sh ，其他的没有修改

报错信息如下：
核心报错信息：
Traceback (most recent call last):
File "/root/miniconda3/envs/py39/bin/torchrun", line 8, in
sys.exit(main())
File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/torch/distributed/elastic/multiprocessing/errors/init.py", line 346, in wrapper
return f(*args, **kwargs)
File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/torch/distributed/run.py", line 794, in main
run(args)
File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/torch/distributed/run.py", line 785, in run
elastic_launch(
File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/torch/distributed/launcher/api.py", line 134, in call
return launch_agent(self._config, self._entrypoint, list(args))
File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/torch/distributed/launcher/api.py", line 250, in launch_agent
raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
完整报错信息
(py39) [root@iZbp1219pbxs72sxk8onovZ GLM-130B]# bash scripts/generate.sh --input-source interactive
WARNING:torch.distributed.run:

Setting OMP_NUM_THREADS environment variable for each process to be 1 in default, to avoid your system being overloaded, please further tune the variable for optimal performance in your application as needed.

Setting ds_accelerator to cuda (auto detect)
Setting ds_accelerator to cuda (auto detect)
Setting ds_accelerator to cuda (auto detect)
Setting ds_accelerator to cuda (auto detect)
Setting ds_accelerator to cuda (auto detect)
Setting ds_accelerator to cuda (auto detect)
Setting ds_accelerator to cuda (auto detect)
Setting ds_accelerator to cuda (auto detect)
WARNING: No training data specified
WARNING: No training data specified
WARNING: No training data specified
WARNING: No training data specified
WARNING: No training data specified
WARNING: No training data specified
WARNING: No training data specified
WARNING: No training data specified
using world size: 8 and model-parallel size: 8

padded vocab (size: 150528) with 0 dummy tokens (new size: 150528)
initializing model parallel with size 8
Set tokenizer as a icetk-glm-130B tokenizer! Now you can get_tokenizer() everywhere.
global rank 7 is loading checkpoint /root/130b/glm-130b-sat/49300/mp_rank_07_model_states.pt
global rank 0 is loading checkpoint /root/130b/glm-130b-sat/49300/mp_rank_00_model_states.pt
global rank 4 is loading checkpoint /root/130b/glm-130b-sat/49300/mp_rank_04_model_states.pt
global rank 1 is loading checkpoint /root/130b/glm-130b-sat/49300/mp_rank_01_model_states.pt
global rank 6 is loading checkpoint /root/130b/glm-130b-sat/49300/mp_rank_06_model_states.pt
global rank 3 is loading checkpoint /root/130b/glm-130b-sat/49300/mp_rank_03_model_states.pt
global rank 2 is loading checkpoint /root/130b/glm-130b-sat/49300/mp_rank_02_model_states.pt
global rank 5 is loading checkpoint /root/130b/glm-130b-sat/49300/mp_rank_05_model_states.pt
successfully loaded /root/130b/glm-130b-sat/49300/mp_rank_01_model_states.pt
successfully loaded /root/130b/glm-130b-sat/49300/mp_rank_06_model_states.pt
successfully loaded /root/130b/glm-130b-sat/49300/mp_rank_00_model_states.pt
successfully loaded /root/130b/glm-130b-sat/49300/mp_rank_04_model_states.pt
successfully loaded /root/130b/glm-130b-sat/49300/mp_rank_03_model_states.pt
/root/miniconda3/envs/py39/lib/python3.9/site-packages/bminf/scheduler/init.py:221: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
total_size += param.numel() * param.storage().element_size()
successfully loaded /root/130b/glm-130b-sat/49300/mp_rank_02_model_states.pt
/root/miniconda3/envs/py39/lib/python3.9/site-packages/bminf/scheduler/init.py:221: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
total_size += param.numel() * param.storage().element_size()
successfully loaded /root/130b/glm-130b-sat/49300/mp_rank_07_model_states.pt
BMInf activated, memory limit: 25 GB
/root/miniconda3/envs/py39/lib/python3.9/site-packages/bminf/scheduler/init.py:221: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
total_size += param.numel() * param.storage().element_size()
/root/miniconda3/envs/py39/lib/python3.9/site-packages/bminf/scheduler/init.py:221: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
total_size += param.numel() * param.storage().element_size()
successfully loaded /root/130b/glm-130b-sat/49300/mp_rank_05_model_states.pt
/root/miniconda3/envs/py39/lib/python3.9/site-packages/bminf/scheduler/init.py:221: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
total_size += param.numel() * param.storage().element_size()
/root/miniconda3/envs/py39/lib/python3.9/site-packages/bminf/scheduler/init.py:221: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
total_size += param.numel() * param.storage().element_size()
/root/miniconda3/envs/py39/lib/python3.9/site-packages/bminf/scheduler/init.py:221: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
total_size += param.numel() * param.storage().element_size()
/root/miniconda3/envs/py39/lib/python3.9/site-packages/bminf/scheduler/init.py:221: UserWarning: TypedStorage is deprecated. It will be removed in the future and UntypedStorage will be the only storage class. This should only matter to you if you are using storages directly.  To access UntypedStorage directly, use tensor.untyped_storage() instead of tensor.storage()
total_size += param.numel() * param.storage().element_size()
Model initialized in 121.0s
/root/GLM-130B/generation/strategies.py:17: FutureWarning: In the future np.bool will be defined as the corresponding NumPy scalar.
self._is_done = np.zeros(self.batch_size, dtype=np.bool)
/root/GLM-130B/generation/strategies.py:17: FutureWarning: In the future np.bool will be defined as the corresponding NumPy scalar.
self._is_done = np.zeros(self.batch_size, dtype=np.bool)
/root/GLM-130B/generation/strategies.py:17: FutureWarning: In the future np.bool will be defined as the corresponding NumPy scalar.
self._is_done = np.zeros(self.batch_size, dtype=np.bool)
/root/GLM-130B/generation/strategies.py:17: FutureWarning: In the future np.bool will be defined as the corresponding NumPy scalar.
self._is_done = np.zeros(self.batch_size, dtype=np.bool)
/root/GLM-130B/generation/strategies.py:17: FutureWarning: In the future np.bool will be defined as the corresponding NumPy scalar.
self._is_done = np.zeros(self.batch_size, dtype=np.bool)
/root/GLM-130B/generation/strategies.py:17: FutureWarning: In the future np.bool will be defined as the corresponding NumPy scalar.
self._is_done = np.zeros(self.batch_size, dtype=np.bool)
/root/GLM-130B/generation/strategies.py:17: FutureWarning: In the future np.bool will be defined as the corresponding NumPy scalar.
self._is_done = np.zeros(self.batch_size, dtype=np.bool)
/root/GLM-130B/generation/strategies.py:17: FutureWarning: In the future np.bool will be defined as the corresponding NumPy scalar.
self._is_done = np.zeros(self.batch_size, dtype=np.bool)
Traceback (most recent call last):
Traceback (most recent call last):
File "/root/GLM-130B/generate.py", line 215, in
Traceback (most recent call last):
File "/root/GLM-130B/generate.py", line 215, in
Traceback (most recent call last):
Traceback (most recent call last):
File "/root/GLM-130B/generate.py", line 215, in
File "/root/GLM-130B/generate.py", line 215, in
File "/root/GLM-130B/generate.py", line 215, in
Traceback (most recent call last):
Traceback (most recent call last):
Traceback (most recent call last):
File "/root/GLM-130B/generate.py", line 215, in
File "/root/GLM-130B/generate.py", line 215, in
File "/root/GLM-130B/generate.py", line 215, in
main(args)main(args)

  File "/root/GLM-130B/generate.py", line 165, in main
      File "/root/GLM-130B/generate.py", line 165, in main

main(args)main(args)
main(args)
main(args)main(args)  File "/root/GLM-130B/generate.py", line 165, in main
File "/root/GLM-130B/generate.py", line 165, in main
File "/root/GLM-130B/generate.py", line 165, in main
main(args)      File "/root/GLM-130B/generate.py", line 165, in main
strategy = BaseStrategy(strategy = BaseStrategy(
File "/root/GLM-130B/generation/strategies.py", line 17, in init
File "/root/GLM-130B/generate.py", line 165, in main
File "/root/GLM-130B/generate.py", line 165, in main
strategy = BaseStrategy(
strategy = BaseStrategy(
File "/root/GLM-130B/generation/strategies.py", line 17, in init
strategy = BaseStrategy(  File "/root/GLM-130B/generation/strategies.py", line 17, in init
File "/root/GLM-130B/generation/strategies.py", line 17, in init
  File "/root/GLM-130B/generation/strategies.py", line 17, in __init__

self._is_done = np.zeros(self.batch_size, dtype=np.bool)
File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/numpy/init.py", line 305, in getattr
strategy = BaseStrategy(
File "/root/GLM-130B/generation/strategies.py", line 17, in init
strategy = BaseStrategy(
File "/root/GLM-130B/generation/strategies.py", line 17, in init
strategy = BaseStrategy(        self._is_done = np.zeros(self.batch_size, dtype=np.bool)
self._is_done = np.zeros(self.batch_size, dtype=np.bool)self._is_done = np.zeros(self.batch_size, dtype=np.bool)self._is_done = np.zeros(self.batch_size, dtype=np.bool)
File "/root/GLM-130B/generation/strategies.py", line 17, in init
self._is_done = np.zeros(self.batch_size, dtype=np.bool)  File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/numpy/init.py", line 305, in getattr
File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/numpy/init.py", line 305, in getattr
File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/numpy/init.py", line 305, in getattr
File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/numpy/init.py", line 305, in getattr
File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/numpy/init.py", line 305, in getattr
self._is_done = np.zeros(self.batch_size, dtype=np.bool)
File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/numpy/init.py", line 305, in getattr
self._is_done = np.zeros(self.batch_size, dtype=np.bool)
File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/numpy/init.py", line 305, in getattr
raise AttributeError(former_attrs[attr])
AttributeError: module 'numpy' has no attribute 'bool'.
np.bool was a deprecated alias for the builtin bool. To avoid this error in existing code, use bool by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.bool_ here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
raise AttributeError(former_attrs[attr])
raise AttributeError(former_attrs[attr])raise AttributeError(former_attrs[attr])        raise AttributeError(former_attrs[attr])
AttributeError    raise AttributeError(former_attrs[attr])
: raise AttributeError(former_attrs[attr])AttributeError
AttributeErrormodule 'numpy' has no attribute 'bool'.
np.bool was a deprecated alias for the builtin bool. To avoid this error in existing code, use bool by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.bool_ here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
AttributeError: : AttributeError
raise AttributeError(former_attrs[attr]): AttributeErrormodule 'numpy' has no attribute 'bool'.
np.bool was a deprecated alias for the builtin bool. To avoid this error in existing code, use bool by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.bool_ here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecationsmodule 'numpy' has no attribute 'bool'.
np.bool was a deprecated alias for the builtin bool. To avoid this error in existing code, use bool by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.bool_ here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations:
module 'numpy' has no attribute 'bool'.
np.bool was a deprecated alias for the builtin bool. To avoid this error in existing code, use bool by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.bool_ here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations:
module 'numpy' has no attribute 'bool'.
np.bool was a deprecated alias for the builtin bool. To avoid this error in existing code, use bool by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.bool_ here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
AttributeErrormodule 'numpy' has no attribute 'bool'.
np.bool was a deprecated alias for the builtin bool. To avoid this error in existing code, use bool by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.bool_ here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
:
module 'numpy' has no attribute 'bool'.
np.bool was a deprecated alias for the builtin bool. To avoid this error in existing code, use bool by itself. Doing this will not modify any behavior and is safe. If you specifically wanted the numpy scalar type, use np.bool_ here.
The aliases was originally deprecated in NumPy 1.20; for more details and guidance see the original release note at:
https://numpy.org/devdocs/release/1.20.0-notes.html#deprecations
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 52609 closing signal SIGTERM
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 52610 closing signal SIGTERM
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 52611 closing signal SIGTERM
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 52612 closing signal SIGTERM
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 52613 closing signal SIGTERM
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 52614 closing signal SIGTERM
WARNING:torch.distributed.elastic.multiprocessing.api:Sending process 52615 closing signal SIGTERM
ERROR:torch.distributed.elastic.multiprocessing.api:failed (exitcode: 1) local_rank: 0 (pid: 52608) of binary: /root/miniconda3/envs/py39/bin/python
Traceback (most recent call last):
File "/root/miniconda3/envs/py39/bin/torchrun", line 8, in
sys.exit(main())
File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/torch/distributed/elastic/multiprocessing/errors/init.py", line 346, in wrapper
return f(*args, **kwargs)
File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/torch/distributed/run.py", line 794, in main
run(args)
File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/torch/distributed/run.py", line 785, in run
elastic_launch(
File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/torch/distributed/launcher/api.py", line 134, in call
return launch_agent(self._config, self._entrypoint, list(args))
File "/root/miniconda3/envs/py39/lib/python3.9/site-packages/torch/distributed/launcher/api.py", line 250, in launch_agent
raise ChildFailedError(
torch.distributed.elastic.multiprocessing.errors.ChildFailedError:
/root/GLM-130B/generate.py FAILED
Failures:
<NO_OTHER_FAILURES>
Root Cause (first observed failure):
[0]:
time      : 2023-06-06_23:21:56
host      : iZbp1219pbxs72sxk8onovZ
rank      : 0 (local_rank: 0)
exitcode  : 1 (pid: 52608)
error_file: <N/A>
traceback : To enable traceback see: https://pytorch.org/docs/stable/elastic/errors.html

@pltc325 您了解吗？求指点

@chenboheng 您了解吗？求指点🙏

@Sengxian 您了解吗？求指点🙏

已定位到问题，numpy版本的问题，安装 1.20.3即可

@yihuaxiang    您好， 您可以分享一下权重吗？

都是默认值，并没有修改，是因为安装了更新的numpy导致的，安装 1.20.3 就没报错了

@yihuaxiang    您遇到的这个问题，我也遇到并改好了。 我这边是没有权重文件，自己随机初始化了一下，然后报其他的错误， 例如：  IndexError: Out of range: piece id is out of range.     所以想下载一个权重试试能不能解决

@yihuaxiang 您遇到的这个问题，我也遇到并改好了。 我这边是没有权重文件，自己随机初始化了一下，然后报其他的错误， 例如： IndexError: Out of range: piece id is out of range. 所以想下载一个权重试试能不能解决

哦哦，好吧，我也没改什么权重，直接 clone 的代码

我是没权重，给作者发了邮件，好久没收到回复

不太理解，为啥我就不缺少权重文件呢？🤔
zhang ya jun @.***> 于2023年6月7日周三 14:52写道：

我是没权重，给作者发了邮件，好久没收到回复
—
Reply to this email directly, view it on GitHub
https://github.com/THUDM/GLM-130B/issues/168#issuecomment-1580019865,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZ7FDXN76YQJEZPCOABGMTXKAQLVANCNFSM6AAAAAAY4S22V4
.
You are receiving this because you were mentioned.Message ID:
@.***>

不你跟作者发邮件下载权重，就可以跑起来？  不太可能吧

是啊，直接 clone 代码，不需要什么权重
zhang ya jun @.***> 于2023年6月7日周三 15:21写道：

不你跟作者发邮件下载权重，就可以跑起来？ 不太可能吧
—
Reply to this email directly, view it on GitHub
https://github.com/THUDM/GLM-130B/issues/168#issuecomment-1580082536,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZ7FDXQWIYXNFLL5PW7EL3XKATV7ANCNFSM6AAAAAAY4S22V4
.
You are receiving this because you were mentioned.Message ID:
@.***>

已经运行成功了
zhang ya jun @.***> 于2023年6月7日周三 15:21写道：

不你跟作者发邮件下载权重，就可以跑起来？ 不太可能吧
—
Reply to this email directly, view it on GitHub
https://github.com/THUDM/GLM-130B/issues/168#issuecomment-1580082536,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZ7FDXQWIYXNFLL5PW7EL3XKATV7ANCNFSM6AAAAAAY4S22V4
.
You are receiving this because you were mentioned.Message ID:
@.***>

我加您一个微信请教一下吧  我的是zhyj3038  麻烦您加一下， 谢谢~~

👌
zhang ya jun @.***> 于2023年6月7日周三 15:25写道：

我加您一个微信请教一下吧 我的是zhyj3038 麻烦您加一下， 谢谢~~
—
Reply to this email directly, view it on GitHub
https://github.com/THUDM/GLM-130B/issues/168#issuecomment-1580089930,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ABZ7FDS42RINJ3ORY6QWOTDXKAUFPANCNFSM6AAAAAAY4S22V4
.
You are receiving this because you were mentioned.Message ID:
@.***>

大佬们试过转int4的推理吗


feat(optimizer): add stream key

I hereby agree to the terms of the Singularity Data, Inc. Contributor License Agreement.
What's changed and what's your intention?
PLEASE DO NOT LEAVE THIS EMPTY !!!
Please explain IN DETAIL what the changes are in this PR and why they are needed:

Summarize your change (mandatory)
How does this PR work? Need a brief introduction for the changed logic (optional)
Describe clearly one logical change and avoid lazy messages (optional)
Describe any limitations of the current code (optional)

Checklist

[x] I have written necessary rustdoc comments
[x] I have added necessary unit tests and integration tests
[x] All checks passed in ./risedev check (or alias, ./risedev c)

#4159

wrong path to refactor, I will have another try


Link to HTTPS

The repo descriptiony-area links to http://scuttlebot.io/
but https://scuttlebot.io/ works, so that would be better

fixed


Added generic_time_schedule

Q
A

Bug fix?
no

New sample?
yes

Related issues?

What's in this Pull Request?
Added generic_time_schedule.

Another awesome sample @tecchan1107! I only made a couple of very minor changes:

Changed the view requirements table to match some of the other samples
Added a height/width to the SVG since the defaults are much larger than needed (doesn't affect the display in most browsers but has the potential to cause problems in really rare cases)

Thanks for sharing your work!


chore: replaced == and != with === and !===

Pull Request Template
Use this template to quickly create a well-written pull request. Delete all quotes before creating the pull request.

Description

Summary: I replaced all occurrences of "==" and "!=" with their type-safe counter parts "===" and "!===" fixing the problem described in #7445

Fixes #7445
Type of change

Bug fix (non-breaking change which fixes an issue)

How Has This Been Tested?

Please describe the tests that you ran to verify your changes. Provide instructions, so we can reproduce.
Please also list any relevant details for your test configuration.

No tests were conducted

Checklist:

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented on my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes

/ok-to-test sha=cc47726


Consider moving away from server sent events as not supported in IE - SignalR?

Did this ever get any further? The demo doesnt currently seem to work in IE though.

How can we make it to support IE? Actually IE still has big share in browsers. We have to support it before we use this.


Urgent fix for font display issue

Very sorry, but after committing I realised there was a font problem in line 2084😢 and now I'm fixing it by changing the translation
The Problem:

Thanks!


Add API field in Router for Upstream Filters.

Signed-off-by: Paul Gallagher<EMAIL_ADDRESS>
Commit Message: Add API field in Router Config for upstream filters.
Additional Description: Upstream filters specified in the router will apply in addition to upstream filters specified in the cluster.
Risk Level: None -- API change only.
Testing: None -- API change only.
Docs Changes:
Release Notes:
Platform Specific Features:
[Optional Runtime guard:]
[Optional Fixes #Issue]
[Optional Fixes commit #PR or SHA]
[Optional Deprecated:]
[Optional API Considerations:]

cc @mattklein123 @htuch @alyssawilk -- for API discussion.

/retest

/retest

LGTM, will let others ack before merge.

friendly ping @alyssawilk

@alyssawilk added implementation.

sweet.  mind taking a look at CI?


onClick inside webview not working

Bug description:
If you put a site created on a react in a webview that has elements with a onClick event handler, then such events will not work. When you click on an item, nothing happens
To Reproduce:
Add to the webview the address of the site made on the reaction in which there is an element with a onClick event handler. Open the app. When you are on the site, try clicking on an element that has an event onClick handler. You will notice that nothing is happening. If you open the same site in any mobile browser, then everything works well.
Expected behavior:
I expect that a site open in an application using webview will work just like it does in a browser. When you onClick on an element with an event handler, a onClick will start the function assigned to it.
Environment:
OS: Android, ios
OS android version: 6.0.0 - 9, ios 12 - 13
react-native version: 0.61
react-native-webview version: 8.0.4

@eeeman1 are you using webview inside TouchableOpacity or something similar?

Since I updated react-native >0.60, the webview is an external module.
import WebView from "react-native-webview"
Since then, I could not click anything inside my webview. I wonder if the javascript inside the html  is being loaded

Anyone found the cause of the issue? and is anyone able to solve this issue?

Its BREAKING. I couldn't able to click anything inside my webview.  @eeeman1 @xtebs Did you manage to get it to work?

@shariffaraz @Balasnest did you find any solution

Please open the issue.
Do anyone found solution for this?

@SainagChunduru  for ios it works fine for android i had to put it inside modal the problem appear when putting the webview inside scroll view

@mohamed-sultan I have a webview inside a modal. Its not working in iOS also.

Here a working solution that worked very well for me (also posted on stackoverflow)
window.postMessage doesn't work for me for current last version. And found many other solutions that maybe worked for someone in some version but not for me.
Anyway, I could come up with a solution that uses window.ReactNativeWebView.postMessage and doesn't need to wait the click result, check it:
My current libraries versions:
"react": "16.13.1",
"react-native": "0.63.3",
"react-native-webview": "^11.0.2",

Note: that I am using html string instead of url
<WebView
    bounces={false}
    showsHorizontalScrollIndicator={false}
    showsVerticalScrollIndicator={false}
    javaScriptEnabled={true}
    originWhitelist={['*']}
    source={{ html }}
    onLoadEnd={this.onLoadEnd}
    onError={this.onError}
    mixedContentMode={'never'} // security
    startInLoadingState={true} // when starting this component
    onMessage={onMessage}
    javaScriptEnabledAndroid={true}
/>

onMessage = (message: string) => {
    console.log('action result coming from the webview: ', message);
};

And in the html string I added the script below and set the onclick for a given html button or a tag:
...

    <button onclick="clickYourButton([PASS SOME STRING DATA HERE])">Click</button>

...

Some very important notes:

Data to be passed to the postMessage func should be string type
I set 0 for timeout to let the postMessage the last in the pile to execute and ofc I avoid waiting.

Here a working solution that worked very well for me (also posted on stackoverflow)
window.postMessage doesn't work for me for current last version. And found many other solutions that maybe worked for someone in some version but not for me.
Anyway, I could come up with a solution that uses window.ReactNativeWebView.postMessage and doesn't need to wait the click result, check it:
My current libraries versions:
"react": "16.13.1",
"react-native": "0.63.3",
"react-native-webview": "^11.0.2",

Note: that I am using html string instead of url
<WebView
    bounces={false}
    showsHorizontalScrollIndicator={false}
    showsVerticalScrollIndicator={false}
    javaScriptEnabled={true}
    originWhitelist={['*']}
    source={{ html }}
    onLoadEnd={this.onLoadEnd}
    onError={this.onError}
    mixedContentMode={'never'} // security
    startInLoadingState={true} // when starting this component
    onMessage={onMessage}
    javaScriptEnabledAndroid={true}
/>

onMessage = (message: string) => {
    console.log('action result coming from the webview: ', message);
};

And in the html string I added the script below and set the onclick for a given html button or a tag:
...

    <button onclick="clickYourButton([PASS SOME STRING DATA HERE])">Click</button>

...

Some very important notes:

Data to be passed to the postMessage func should be string type
I set 0 for timeout to let the postMessage the last in the pile to execute and ofc I avoid waiting.

This is still happening in Android.

I solved this problem.
It maybe has something to do with Webview type.
My device has 2 options about webview. -  Chrome WebView / Android System WebView
Default settiong was Chrome WebView on my device.
If changed to Android System WebView type, it will be worked.
I recommand this video.-> https://www.youtube.com/watch?v=g3CX6qLPb1U

Does any one have a solution?

in my case I was using the Webview inside the modal from react-native-modalize which cause the same issue you are having. However, it worked when I placed the webview inside a regular screen. i could not find why modalize causing this issue so i decided to just use it this way.
clicking on android not working this way
  <Modalize         ref={ref}         adjustToContentHeight={true}         handlePosition="inside"         modalStyle={styles.modalStyle}         childrenStyle={{paddingVertical: 20}}         >         <MyWebView />       </Modalize>
clicking on android worked this way
<Stack.Screen           name="web-view"           component={MyWebView}           options={{presentation: 'modal', headerShown: false}}         />
Please let me know if you were able to use it inside of Modalize Modal, even if it has been a while.

This issue is closed but is still a problem i'm still facing this problem in my mobile app. I am using Google maps within the WebView and trying to click on markers on the map, I have a click event on these markers that works in the desktop chrome browser but not via the react-native-webview.
I can drag the map around on mobile but when i click it makes the markers blink but nothing happens.
Are there any updates on this?

https://stackoverflow.com/a/72555083/16607002

It does indeed happen on some Android devices, not emulators. @eeeman1 Can you try to click on those links faster? Like tap on them really quick and see if it fires?
I am currently looking ways to solve this as well, but so far I found sometimes quick click fires the click event. Would be curious to see if it works for you as well, if it does maybe that's starting point to see what might be the bug... I have multiple instances of webview on same page, first instance works fine but subsequent instances with separate js script doesn't.
This is react related but maybe helps to identify cause in react native webview facebook/react#17258

YES.  This is indeed the issue for me.  if I tap on the link in a relaxed normal fashion, it probably doesnt work.
If I make an effort to be an olympic speed quick touchdown and release, it always works

I should add, I dont necessarily see this as a react-native-webview problem specifically - its could be a browser engine problem.
However, I lack the expertise to work out what is going on and how to fix it.
suggestions welcome

for me its working fine on android devices but on ios i am not able to click on menus or button its does not work.

SAME,
for me its working fine on android devices but on ios i am not able to click on menus or button its does not work however links are working.