[SPARK-29563][SQL] CREATE TABLE LIKE should look up catalog/table like v2 commands

What changes were proposed in this pull request?
Change to make sure CREATE TABLES LIKE  statement go through the same catalog/table resolution framework of v2 commands.
Why are the changes needed?
It's important to make all the commands have the same table resolution behavior, to avoid confusing end-users.
Does this PR introduce any user-facing change?
Yes. Attempting to execute CREATE TABLE LIKE on v2 catalog results in an error.
How was this patch tested?
Added unit tests.

Build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/17462/
Test PASSed.

Test build #112497 has started for PR 26219 at commit c4ba743.

Test build #112497 has finished for PR 26219 at commit c4ba743.

This patch passes all tests.
This patch does not merge cleanly.
This patch adds the following public classes (experimental):
case class CreateTableLikeStatement(

Build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/112497/
Test PASSed.

Test build #112504 has started for PR 26219 at commit ea8ddbc.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/17470/
Test PASSed.

Yea we can have a v2 CREATE TABLE LIKE command.

@cloud-fan @viirya
Per my understanding from the (please correct me). "create table like" does not seem to copy the data ? If locationspec is specified, then it simply carries that over to the target table.
So i am not sure what V2 impl would like ? Are we allowed to define a new semantics for it ?

Test build #112504 has finished for PR 26219 at commit ea8ddbc.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/112504/
Test FAILed.

I think "create table like" just to create target table with same definition like storage, schema, partition columns, etc., as source table. You can check out current CreateTableLikeCommand.
#26183 is an example implementing v2 command. Basically we need to create a logical plan and physical plan for the command. Then update ResolveCatalogs rule to convert the statement to logical plan. And convert logical plan to physical plan in DataSourceV2Strategy.

@viirya Is it possible to create a V2 table with a specific "storage location" and "bucket spec" ?

I think "bucket spec" is represented by Transform in V2. You can check V2SessionCatalog.convertTransforms.

@viirya Thanks for the pointer. I will check it. In the meantime, i just quickly checked the v1 behaviour for a couple of cases. When location is not specified, we just seem to create an empty table.
spark-sql> select * from s1;
1	2
1	2

spark-sql> create table s4 like s1;
Time taken: 0.291 seconds
spark-sql> select * from s4;
Time taken: 0.094 seconds

spark-sql> create table s5 like s1 location 'file:/Users/dilipbiswal/mygit/apache/spark/spark-warehouse/s1'

spark-sql> select * from s5;
1	2
1	2
Time taken: 0.1 seconds, Fetched 2 row(s)

In V2, we will just have the "create table" behaviour ? i.e error out when location is specified ? Lets please decide on the behaviour and  i will try to implement it by following the example PR you have mentioned.

Test build #112627 has started for PR 26219 at commit bac4fc6.

Build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/17592/
Test PASSed.

Thank you for update, @dilipbiswal . Please resolve the conflicts, too.

Test build #112629 has started for PR 26219 at commit d4cf00f.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/17593/
Test PASSed.

Test build #112629 has finished for PR 26219 at commit d4cf00f.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds the following public classes (experimental):
case class CreateTableLikeStatement(

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/112629/
Test FAILed.

Test build #112632 has started for PR 26219 at commit bff1751.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/17596/
Test PASSed.

Test build #112627 has finished for PR 26219 at commit bac4fc6.

This patch passes all tests.
This patch does not merge cleanly.
This patch adds the following public classes (experimental):
case class CreateTableLikeStatement(

Build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/112627/
Test PASSed.

Test build #112647 has started for PR 26219 at commit c3fe33f.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/17608/
Test PASSed.

Test build #112632 has finished for PR 26219 at commit bff1751.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/112632/
Test PASSed.

Test build #112647 has finished for PR 26219 at commit c3fe33f.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/112647/
Test FAILed.

retest this please

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/17613/
Test PASSed.

Test build #112654 has started for PR 26219 at commit c3fe33f.

Test build #112654 has finished for PR 26219 at commit c3fe33f.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/112654/
Test PASSed.

Test build #112685 has started for PR 26219 at commit 01be1e7.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/17640/
Test PASSed.

Hi, @cloud-fan . Is this PR aiming the following too? Or, do we have a separate JIRA issue for that?

Yea we can have a v2 CREATE TABLE LIKE command.

Test build #112685 has finished for PR 26219 at commit 01be1e7.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/112685/
Test PASSed.

Test build #113252 has started for PR 26219 at commit a02868b.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18164/
Test PASSed.

@viirya @cloud-fan @dongjoon-hyun
I am assuming we do need a V2 implementation for this command. I have made an attempt. Since i am not entirely familiar with the V2 frame work, i may be missing something. Below are some details:

V2 implementation is constrained by what is supported in createTable. So things like, location, storage specs etc are not considered.
V1 implementation can optionally create a table by pointing to a location specified by user. Which mean it can create a table which is populated with data. V2 implementation creates an empty table with just the definition from the source table.

Please let me know what you guys think.

This command is tricky as it involves 2 tables: source and target. When we need to create the target table in the session catalog, shall we create a v1 or v2 table?
For CREATE TABLE, the rule is simple: we check the provider and create v2 tables if it's a v2 provider.
For this case, it's complicated as the source table may be a v2 table and doesn't have a provider. My proposal: if the source table doesn't have a provider, use the default provider (set by spark.sql.sources.default). Then follow CREATE TABLE and create v2 table if provider is v2.
In summary:

resolve the source table first.
2 if target table needs to be created in a non-session catalog, use v2 CREATE TABLE LIKE
if target table needs to be created in the session catalog, check the provider of the source table or use the default provider. If it's a v2 provider, use v2 CREATE TABLE LIKE, otherwise use the v1 command.

v2 CREATE TABLE LIKE implementation: get schema and table properties from the source table, and create the target table.

@cloud-fan Thanks !! I did wonder about cross catalog operation as well. I have a question -
Below is the description of the function CreateTableLikeCommand
/**
 * A command to create a table with the same definition of the given existing table.
 * In the target table definition, the table comment is always empty but the column comments
 * are identical to the ones defined in the source table.
 *
 * The CatalogTable attributes copied from the source table are storage(inputFormat, outputFormat,
 * serde, compressed, properties), schema, provider, partitionColumnNames, bucketSpec.
 *

So in the case where source is a V1 table and target is a V2 table, we are not able to copy some of the V1 metadata like serde, compressed, inputformat, outputformat etc. Right ? Is that okay ?

I think it's OK. It reminds me that we should not blindly copy all table properties. We should get partition column, bucket spec from the source table and convert them to table properties.

Test build #113252 has finished for PR 26219 at commit a02868b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113252/
Test PASSed.

@cloud-fan Thank you. I will try to implement per ur suggestion.

Test build #113554 has started for PR 26219 at commit 4c772e5.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18444/
Test PASSed.

Test build #113554 has finished for PR 26219 at commit 4c772e5.

This patch fails Scala style tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113554/
Test FAILed.

Test build #113563 has started for PR 26219 at commit 11ea11b.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/18451/
Test PASSed.

Test build #113563 has finished for PR 26219 at commit 11ea11b.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/113563/
Test PASSed.

Test build #118598 has started for PR 26219 at commit 11ea11b.

Test build #118598 has finished for PR 26219 at commit 11ea11b.

This patch fails build dependency tests.
This patch does not merge cleanly.
This patch adds no public classes.

Build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/118598/
Test FAILed.

Build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder-K8s/26031/
Test PASSed.


update documentation to mention timers API configuration option

this blog post mentions the new configuration value timers, but it's missing from the API documentation.

Thank you for your pull request and welcome to our community. We require contributors to sign our Contributor License Agreement, and we don't seem to have you on file. In order for us to review and merge your code, please sign up at https://code.facebook.com/cla - and if you have received this in error or have any questions, please drop us a line at<EMAIL_ADDRESS>Thanks!

I've filled out the CLA agreement

thank you!


[WIP] Migrate checkout UI extension

WIP PR to confirm this is the experience we want.
WHY are these changes introduced?
Partially implements https://github.com/Shopify/shopify/issues/398990
WHAT is this pull request doing?
Deploy now checks for extensions that changed type from 'checkout_uitoui_extension`.  If it finds any, it prompts the user to migrate the extension.  If they cancel deploy is cancelled.  If they accept the CLI performs a graphQL mutation.  Right now the GraphQL mutation is not in prod, but can be seen here: https://github.com/Shopify/partners/pull/44865
How to test your changes?

pnpm clean && pnpm install && pnpm build
pnpm shopify app deploy --path ./fixtures/app --verbose to deploy the existing extensions.
Edit shopify.ui.extension.toml to migrate the checkout_ui extension. It should be like this:

name = "checkout-ui"

[capabilities]
api_access = true
network_access = true
block_progress = true

[[extension_points]]
target = "Checkout::Dynamic::Render"
module = "./src/index.jsx"

pnpm shopify app deploy --path ./fixtures/app --verbose to deploy your app again.
It should prompt you to migrate the extension.  Select no.  The deploy should stop
Now try step 5 & 6 again but accept the migration.  It will fail due to a GraphQL error (mutation is not deployed yet)

Post-release steps
None
Measuring impact
How do we know this change was effective? Please choose one:

[x] n/a - this doesn't need measurement, e.g. a linting rule or a bug-fix
[ ] Existing analytics will cater for this addition
[ ] PR includes analytics changes to measure impact

Checklist

[x] I've considered possible cross-platform impacts (Mac, Linux, Windows)
[ ] I've considered possible documentation changes
[ ] I've made sure that any changes to dev or deploy have been reflected in the internal flowchart.

@byrichardpowell, are we going to have a command for migration as well as the option to edit the toml?
In slack, we'd discussed: shopify app migrate extension

No, I think the thread in Slack ditched this in favor of adding logic to the deploy command.  The developer would edit the toml file themself and then run deploy.

@Arkham and I paired, here is the UX now:
First we show them and Info and a confirmation for migrating:

When they select Yes, migrate these extensions we run the mutation.  If that succeeds we render the confirmation for the rest of the deploy:

@MeredithCastile @lemonmade if you can confirm this UX I'll add tests.

Quick video showing the experience: https://videobin.shopify.io/v/DR552j

@byrichardpowell, @Arkham: Thanks for the screenshot of the DX. This feels directionally right.
The big thing that's missing in the DX here is a value proposition — why as a developer would I bother going through the migration?
Other notes on the proposed design tweaks (screenshot below):

We don't need to any additional context in the confirmation modal; the question should suffice.
We can combine the prompts.

(Figma)

@MeredithCastile  I'm afraid we can't combine the prompts, since the "deploy summary" one can be skipped by passing --force to the deploy command, and we don't want users to accidentally migrate their extensions. Also they could have added and updated other extensions (not just the ones we want to migrate), so I feel we have to have two separate prompts.

Thanks @MeredithCastile
Re value prop: At this point the developer has already done the hardest thing, which is manually making some changes to the toml file.  I would think that they are fairly commited at this point. Even so a soft sell might be helpful.  Any ideas?  I think the biggest reason to migrate is support for api versioning.  Thoughts @lemonmade ?

Agreed that we should do a softer sell in the confirmation message. To Richard's point, the developer will have already had to follow a migration guide in order to update their dependency and config file. I can't think of a reason a developer would cancel out of the migration here, as it will be the last step of the migration guide.

Agreed that we should do a softer sell in the confirmation message. To Richard's point, the developer will have already had to follow a migration guide in order to update their dependency and config file. I can't think of a reason a developer would cancel out of the migration here, as it will be the last step of the migration guide.

Richard and I paired yesterday.
I understand now that this will be triggered after the user had already modified their extension's config file. So I do have a value-prop in there, but it's not the main point. Richard and I talked about combining the two prompts, but he had concerns about how that would work with error states. With two prompts, it's clearer that the problem is either a migration error or a deploy error. We can perhaps revisit this, but for now, we'll go with 2 prompts.

Let me know if anything feels off here! Thanks, all.

Yeah, it could be possible that my original was not valid, and this is an unrelated issue.  I'm not too familiar with this space so I would like some-one else to double check.

@byrichardpowell in your example updated TOML you were missing the api_version so it's returning a validation error. Try adding api_version=2022-10 and deploy again to see if that fixes the problem

@byrichardpowell in your example updated TOML you were missing the api_version so it's returning a validation error. Try adding api_version="2022-10" and deploy again to see if that fixes the problem

This was it, thank you @vividviolet


add iffy form validation state

we have an is-valid and is-invalid validation state, but it would be nice to have something in the middle.

These two states are based on :valid and :invalid pseudo-classes; there's no :iffy :).
See https://developer.mozilla.org/en-US/docs/Learn/HTML/Forms/Form_validation for more background on HTML5 form validation.

that's fine and all that only valid and invalid exist in the HTML spec, but in the real world we have need for other validation states.  maybe the naming was off, but I think this should be reconsidered.
as precedent, in v3 we had 3 states:  has-success, has-warning, and has-error.


[NetworkManager] Bump up azure-mgmt-network SDK to 2022_01_01

This checklist is used to make sure that common guidelines for a pull request are followed.

For new extensions:

[ ] My extension description/summary conforms to the Extension Summary Guidelines.

About Extension Publish
There is a pipeline to automatically build, upload and publish extension wheels.
Once your pull request is merged into main branch, a new pull request will be created to update src/index.json automatically.
The precondition is to put your code inside this repository and upgrade the version in the pull request but do not modify src/index.json.

NetworkManager


Halstead metrics

This goes a little bit into the direction of #418
Wikipedia describes it as a software metric.
https://en.m.wikipedia.org/wiki/Halstead_complexity_measures
Should detekt also include this? What do you think?

Metrics are something I have in mind after 1.0.
I would love to have a detekt-metrics module later on :)

Merging this with #418


ntr. nucleolar ring

def
Ring-like structures located at the nucleolar periphery where several nuclear factors are reversibly aggregated and sequestered during acute heat stress.
Synonym: NuRs
reference PMID: 33176152
Acute Heat Stress Leads to Reversible Aggregation of Nuclear Proteins into Nucleolar Rings in Fission Yeast.
is_a parent
GO:0042405 nuclear  inclusion body

hi, can this one be added? (was a community request for https://www.pombase.org/reference/PMID:33176152)

+[Term]
+id: GO:0140602
+name: nucleolar ring
+namespace: cellular_component
+def: "Ring-like structures located at the nucleolar periphery where several nuclear factors are reversibly aggregated and sequestered during acute heat stress." [PMID:33176152]
+synonym: "NuRs" RELATED []
+is_a: GO:0042405 ! nuclear inclusion body
+property_value: term_tracker_item https://github.com/geneontology/go-ontology/issues/20579 xsd:anyURI
+created_by: pg
+creation_date: 2021-02-12T15:38:17Z


Update response-interceptor.md

Description

Update Text replacement example for Response Interceptor

Motivation and Context

In the Replace text and change http status code example, changing Hello to Teapot won't show anything since there is no Hello string in http://www.example.com
Suggest to update string Example, also should use replaceAll since the Example is in the document title as well, so it maybe hard to notice the change

How has this been tested?

Run an express app with target http://www.example.com
Make sure the word Example is changed Hello

Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[x] New feature (non-breaking change which adds functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

Checklist:

[x] My change requires a change to the documentation.
[x] I have updated the documentation accordingly.

Coverage: 97.872%. Remained the same when pulling 767917b7fa2ea31efe24dc5f5b5c808ee79edda6 on bangank36:patch-1 into 47b7e018f614bcdc06f72c4fdbac3a91ba3b5bb7 on chimurai:master.

Thanks!


(PUP-3978) Pass block using Ruby semantics, not as normal parameter

Passing a block as a normal parameter messed up the notion of
optional parameters since the last parameter could be a required
block. It also made the calling convention somewhat unorthodox
from a ruby developers point of view.
This commit introduces a new class 'PuppetProc' derived from the Ruby
'Proc'. It wrapps the normal closure that would otherwise be passed in
a parameter and enables it to instead be passed as a block, thus
making it possible to use standard calls like 'block_given?' and
'yield' to execute a Puppet lambda from Ruby.
The 'TypeCalculator' will infer a 'PuppetProc' to the type of its
closure. It is also capable of inferring a normal ruby 'Proc' using the
information returned by its 'parameters' method so that all parameters
are of type 'Any' and the min/max is controlled by the :req, :opt, and
:rest indicators of the parameter info arrays.

CLA signed by all contributors.

Please write the first line of the commit messages in imperative form "Add the...", "Change..." etc. That is to complete the sentence "This commit will..." (not blocking merge because of this, but if there are other changes, that should be done as well).

Rest looks fine, merging.


Test image size problem

I would like to ask the  author, if the size of the image used for network training is 960x540, then when I want to use this network test, the resolution of the photos taken by my camera is very large, such as 4608x3456. When I take this picture to test, the parallax map effect is very bad. When I reduce the original image to 960x540, the parallax map effect is very good OK, but I don't know how to restore the parallax value of the original image. Or how to use your network to test higher resolution images without enough similar data sets to train? Hope that the author can guide, thank you very much!

You can compute the disparity map using 960x540. Once you got the output disparity map, resize it back to 4608x3456. Then multiply a scale factor 4.8 (4608 / 960)


Revert "Updating section for git-based chart repositories"

Reverts rancher/docs#3892 per this PR

@PennyScissors : Reverted the documentation change per request on this issue

Addressed the review by @jtravee + taking the approval from @PennyScissors, closing this PR.


fix(gui): added loader to credit history panel

@eKatchko
A load-indicator is added to project overview at credit history panel. "creditHistoryLoaded" in overview.component.ts controls when the loader should be shown, it is set to true after the first time credit history is fetched.
Try to fulfill the following points before the Pull Request is merged:

[ ] Give a meaningfull description for the PR
[ ] The PR is reviewed by one of the team members.
[ ] It must be checked if anything in the Readme must be adjusted (development-, production-, setup).
[ ] It must be checked if any section in the wiki (https://cloud.denbi.de/wiki/) should be adjusted.
[ ] If the PR is merged in the master then a release should be be made.
[ ] The PR is responsive on smaller screens.
[ ] If the requirements.txt have changed, check if the patches still work
[ ] If the new code is readable, if not it should be well commented
[ ] In case the code is not well commented: An respectice commenting issue with tag "important" is opened.
[ ] If a squash of commits is required, it has been performed or will be performed at final merge
[ ] Finally a second team member checks if all requirements met

For releases only:

[ ] If the review of this PR is approved and the PR is followed by a release then the .env file
in the cloud-portal repo should also be updated.

Works - the only problem at the moment is when you load a project overview and after loading the credits - creditHistoryLoaded is set to true and you go directly to the overview of another project the value is still set to true.
This is because the page is not recreated but only ngOninit is loaded again - for this creditsHistoryLoaded would have to be set - either in the ngOninit  or simply at the beginning of the fetchCreditHistoryOfProject method (which I would prefer) - to false.

Looks great, just one addition: could you move 'this.creditHistoryLoaded = false;' from the 'fetchCreditHistoryOfProject' function to the 'ngOnInit' function right after 'clearInterval(this.updateCreditsHistoryIntervals);'?
When it is set to false inside the 'fetchCreditHistoryOfProject' function, everytime new history data is requested from the api the loading indicator is shown and one can not read the history data for this period of time.


fix: module auto registration breaking module types

🔗 Linked issue

#24439

❓ Type of change

[ ] 📖 Documentation (updates to the documentation, readme or JSdoc annotations)
[x] 🐞 Bug fix (a non-breaking change that fixes an issue)
[ ] 👌 Enhancement (improving an existing functionality like performance)
[ ] ✨ New feature (a non-breaking change that adds functionality)
[ ] 🧹 Chore (updates to the build process or auxiliary tools and libraries)
[ ] ⚠ Breaking change (fix or feature that would cause existing functionality to change)

📚 Description
Resolves #24439
This PR prevents layer modules dirs from being added to modulesDir which seems to only contain root directories of installed modules, contrary to its name I don't think it should include the modules dir itself!

📝 Checklist

[x] I have linked an issue or discussion.
[ ] I have updated the documentation accordingly.

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

:exclamation: No coverage uploaded for pull request base (main@e3f349f). Click here to learn what that means.

Additional details and impacted files
@@           Coverage Diff           @@
##             main   #24457   +/-   ##
=======================================
  Coverage        ?   58.65%
=======================================
  Files           ?        5
  Lines           ?      861
  Branches        ?       46
=======================================
  Hits            ?      505
  Misses          ?      356
  Partials        ?        0

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

nuxt.options.modulesDir is a list of folders to resolve node_modules from. You're quite right that we shouldn't include local ~/modules directories there. But I think in the case of a layer that itself is in node_modules, we probably should include it or we might run into issues without shamefully-hoist enabled.


mem, tests: SimObject tester for replacement policies

This PR adds a SimObject that tests the FIFO replacement policy. It initializes several entries, evicts an entry, and checks that the evicted entry was the first to be created, indicating that the replacement policy behaves correctly.
I am still working on getting this change to work with several replacement policies.

I am definitely in favor of unit tests for RPs, but I don´t think this PR is going the right direction.
Here the proposal is to add unit tests, but for that I would expect a lot of small tests using the same testing framework we use elsewhere: gtest. We already have tests that verify that the replacement policies behave as expected (I don´t recall where they are, but I recall reviewing the tests, and that they are not in C++), so I don´t think we desperately need to add unit tests to RPs - i.e., we have the time to do it the gtest-way.
When we were using gerrit I managed to make SimObjects unit-testable (https://gem5-review.googlesource.com/c/public/gem5/+/44111/13), but things got stuck in review limbo and I stopped pushing for it. I think that if we are to unit-test the RP, then we should revive those changes to use gtest instead.

The issue here is it's very hard to decouple SimObjects from the rest of gem5 in a way in which you can verify their behavior in a gem5 simulation. If there's anyone who's found a way to do this it'd be a great contribution but I've found the SimObjects are just too embedded in the logic of the gem5 simulator for real unit-tests at this level.

@odanrc :  the tests are all here: https://github.com/gem5/gem5/tree/stable/tests/gem5/replacement_policies
I thought those tests were alrady functioning as unit tests, but maybe I'm not quite understanding @BobbyRBruce 's reply about the difference ...

I am definitely in favor of unit tests for RPs, but I don´t think this PR is going the right direction.
Here the proposal is to add unit tests, but for that I would expect a lot of small tests using the same testing framework we use elsewhere: gtest. We already have tests that verify that the replacement policies behave as expected (I don´t recall where they are, but I recall reviewing the tests, and that they are not in C++), so I don´t think we desperately need to add unit tests to RPs - i.e., we have the time to do it the gtest-way.
When we were using gerrit I managed to make SimObjects unit-testable (https://gem5-review.googlesource.com/c/public/gem5/+/44111/13), but things got stuck in review limbo and I stopped pushing for it. I think that if we are to unit-test the RP, then we should revive those changes to use gtest instead.

The issue here is it's very hard to decouple SimObjects from the rest of gem5 in a way in which you can verify their behavior in a gem5 simulation. If there's anyone who's found a way to do this it'd be a great contribution but I've found the SimObjects are just too embedded in the logic of the gem5 simulator for real unit-tests at this level.

@odanrc : the tests are all here: https://github.com/gem5/gem5/tree/stable/tests/gem5/replacement_policies
I thought those tests were alrady functioning as unit tests, but maybe I'm not quite understanding @BobbyRBruce 's reply about the difference ...

My argument was more as to why we're not using gtest or something more like what you'd expect from unit tests. It's because the simobjects can't be compiled and run independently of the simulator.
What Erin is doing here, which differs from that in "tests/gem5/replacement_policies", is that with it you can specify a simulation with just  the replacement policy's tester and nothing else. No memory, processor, ISA, anything. Just replacement policy tester. Then you run it to test the replacement policy in  and of itself, independent of anything else in the project. Not only is this a lot less overhead (not requiring simulation of the rest of the system, the booting of the OS or even an input binary to work), it means that the tests are only testing that one SimObject. If the test fails, then it's undoubtedly a failure with the SimObject. We don't need to spend any time determining that.
One of the big problems with most of our tests is that they require complex interactions between other parts of gem5 to work. Not only is this costly, it also makes the cause of failures harder to find. Right now, the GPU tests can fail when there's an issue with X86, or the cache hierarchy they use, or one of the many SimObjects required to stitch together a system capable of executing something. When failures like this happen, it becomes a pain to track down the cause. With this approach, if the FIFO replacement policy test fails, it's because of an issue with the FIFO replacement policy.
Your tests are great, but I'd argue instead of being unit tests, they are integration tests. They test the behavior of the replacement policy when integrated into a larger system. It's a coarser level of granularity. It's definitely needed, but both approaches are.

I am definitely in favor of unit tests for RPs, but I don´t think this PR is going the right direction.
Here the proposal is to add unit tests, but for that I would expect a lot of small tests using the same testing framework we use elsewhere: gtest. We already have tests that verify that the replacement policies behave as expected (I don´t recall where they are, but I recall reviewing the tests, and that they are not in C++), so I don´t think we desperately need to add unit tests to RPs - i.e., we have the time to do it the gtest-way.
When we were using gerrit I managed to make SimObjects unit-testable (https://gem5-review.googlesource.com/c/public/gem5/+/44111/13), but things got stuck in review limbo and I stopped pushing for it. I think that if we are to unit-test the RP, then we should revive those changes to use gtest instead.

The issue here is it's very hard to decouple SimObjects from the rest of gem5 in a way in which you can verify their behavior in a gem5 simulation. If there's anyone who's found a way to do this it'd be a great contribution but I've found the SimObjects are just too embedded in the logic of the gem5 simulator for real unit-tests at this level.

@odanrc : the tests are all here: https://github.com/gem5/gem5/tree/stable/tests/gem5/replacement_policies
I thought those tests were alrady functioning as unit tests, but maybe I'm not quite understanding @BobbyRBruce 's reply about the difference ...

My argument was more as to why we're not using gtest or something more like what you'd expect from unit tests. It's because the simobjects can't be compiled and run independently of the simulator.
What Erin is doing here, which differs from that in "tests/gem5/replacement_policies", is that with it you can specify a simulation with just the replacement policy's tester and nothing else. No memory, processor, ISA, anything. Just replacement policy tester. Then you run it to test the replacement policy in and of itself, independent of anything else in the project. Not only is this a lot less overhead (not requiring simulation of the rest of the system, the booting of the OS or even an input binary to work), it means that the tests are only testing that one SimObject. If the test fails, then it's undoubtedly a failure with the SimObject. We don't need to spend any time determining that.
One of the big problems with most of our tests is that they require complex interactions between other parts of gem5 to work. Not only is this costly, it also makes the cause of failures harder to find. Right now, the GPU tests can fail when there's an issue with X86, or the cache hierarchy they use, or one of the many SimObjects required to stitch together a system capable of executing something. When failures like this happen, it becomes a pain to track down the cause. With this approach, if the FIFO replacement policy test fails, it's because of an issue with the FIFO replacement policy.
Your tests are great, but I'd argue instead of being unit tests, they are integration tests. They test the behavior of the replacement policy when integrated into a larger system. It's a coarser level of granularity. It's definitely needed, but both approaches are.

I wasn't really trying to start an argument, sorry.  Sure unit vs. integration makes more sense now.  In terms of those replacement policy tests I think they just connect the traffic generator to the caches so it eliminates much of the "other" potential sources of error you were listing.  But I can see how something even simpler is useful.  Hopefully @erin-le can use what is there to avoid duplicating too much work though.

I am going to double down here: the POC for unit testing of SimObjects with gtest was already written in the past. I had even written a couple of unit tests for existing components as examples:
https://gem5-review.googlesource.com/c/public/gem5/+/44111/13
https://gem5-review.googlesource.com/c/public/gem5/+/44113/13
https://gem5-review.googlesource.com/c/public/gem5/+/44114/13
They all behave as unit tests: if they fail, and the dependencies' tests do not, then it is clear that the respective Bloom filter broke.
The unit-testable-SimObject change got stuck only 10 commits away from being merged into upstream. Now that we have more review power I think we can and should push for it again. I will try to bring a couple of those commits to GitHub this week.
I understand that there is the decoupling concern, but I don´t think the current solution will solve this concern given that the UnitTester class is itself a SimObject.

I am going to double down here: the POC for unit testing of SimObjects with gtest was already written in the past. I had even written a couple of unit tests for existing components as examples:
https://gem5-review.googlesource.com/c/public/gem5/+/44111/13 https://gem5-review.googlesource.com/c/public/gem5/+/44113/13 https://gem5-review.googlesource.com/c/public/gem5/+/44114/13
They all behave as unit tests: if they fail, and the dependencies' tests do not, then it is clear that the respective Bloom filter broke.
The unit-testable-SimObject change got stuck only 10 commits away from being merged into upstream. Now that we have more review power I think we can and should push for it again. I will try to bring a couple of those commits to GitHub this week.
I understand that there is the decoupling concern, but I don´t think the current solution will solve this concern given that the UnitTester class is itself a SimObject.

By all means, please get this change in. It's not that I don't want unit testable SImObjects it's that, right now, we can't do it easily. If you can get that change in I'd more than happily reject tests like this in favor of the GTest approach.

I've moved this Gerrit relation-chain here: #1726. I'm happy to help get this in.
@erin-le You're free to check this out and play with it to see if it works for you.

Closing since https://github.com/gem5/gem5/pull/1786 was opened.


Enhancing style of scrollBar

While the site boasts an interactive and captivating interface, I believe introducing a more refined navbar would elevate its elegance further. I am eager to enhance this aspect and contribute to a seamless and visually appealing user experience.

@Akshanshkaushal  I want to contribute to this project, could please assign this to me?

Can I take this issue? Please assign it to me under SWOC'24

Hello ⭐
Thank you all for expressing your interest in enhancing the scrollbar style! It's great to see such enthusiasm to contribute.
@Akshanshkaushal This issue is now assigned to you since you opened it. Please feel free to start working on enhancing the navbar style. If you encounter any challenges or have questions, don't hesitate to ask for assistance.
@Dhananjayshukla1 & @younikarn, While Akshanshkaushal takes the lead on this issue, I encourage collaboration. If Akshanshkaushal is open to it, feel free to coordinate and work together to enhance the scrollbar style seamlessly. (You can create your own issues. right!!)
@Akshanshkaushal If, for any reason, you are unable to work on this or need more time, please let us know. @Dhananjayshukla1 and @younikarn have also expressed interest, and we can reassign the issue accordingly.
Happy Contribution!✌

@PranabKumarSahoo Thanks for assigning ,I'm working on the issue . If @younikarn and @Dhananjayshukla1 you want to collaborate can connect on discord. If you are interested in working together or have any suggestions for improvements, please feel free to connect with me on Discord.

Join Discord Channel for discussion/doubts/questions. ✌


Protocol Fees

add hardcoded protocol fees
all new groups are subject to protocol fees
allow for future support in disabling them

Replaced #244


fix(handlers/guilds): add missing imports & GUILD_UPDATE new guild not being cached

Add all of the missing imports in one single PR


Broker crashed because of insufficient memory for the Java Runtime Environment to continue

Please describe the issue you observed:

What did you do (The steps to reproduce)?
I do some pressure test for rocketmq.
start 20 jvm and every jvm has 100 thread, both send mesasge to broker, message size 1k.
1 day later, disk data coming to 1.2T(every jvm 0.6T maybe)

What did you expect to see?
Hoping rocketmq still work well.

What did you see instead?
two rocketmq broker master crashed both,
and generate a jvm error file, hs_err_{pid}.log, the main reason as below:

There is insufficient memory for the Java Runtime Environment to continue.
Native memory allocation (mmap) failed to map 262144 bytes for committing reserved memory.
Possible reasons:
The system is out of physical RAM or swap space
In 32 bit mode, the process size limit was hit
Possible solutions:
Reduce memory load on the system
Increase physical memory or swap space
Check if swap backing store is full
Use 64 bit Java on a 64 bit OS
Decrease Java heap size (-Xmx/-Xms)
Decrease number of Java threads
Decrease Java thread stack sizes (-Xss)
Set larger code cache with -XX:ReservedCodeCacheSize=
This output file may be truncated or incomplete.
Out of Memory Error (os_linux.cpp:2640), pid=9622, tid=0x00007f2432bfa700
JRE version: Java(TM) SE Runtime Environment (8.0_144-b01) (build 1.8.0_144-b01)
Java VM: Java HotSpot(TM) 64-Bit Server VM (25.144-b01 mixed mode linux-amd64 compressed oops)
Failed to write core dump. Core dumps have been disabled. To enable core dumping, try "ulimit -c unlimited" befo
re starting Java again

Please tell us about your environment:

two broker group(2 master 2 slave), m-s cross deployment in two  bare-machine
bare-machine config: 32 core, 128g memory, 4.4T SAS
broker config: -server -Xms8g -Xmx8g -Xmn4g -XX:+UseG1GC -XX:G1HeapRegionSize=16m -XX:G1ReservePercent=25 -XX:InitiatingHeapOccupancyPercent=30 -XX:SoftRefLRUPolicyMSPerMB=0 -XX:SurvivorRatio=8
rocketmq version: 4.0.1-incubating, jdk 8
centos 7.6

Other information (e.g. detailed explanation, logs, related issues, suggestions how to fix, etc):
because of pressure test, commit log grows quickly, almost 1~2G write per minute.
-rw-r--r-- 1 root root 1.0G Mar 20 16:00<PHONE_NUMBER>1838526464
-rw-r--r-- 1 root root 1.0G Mar 20 16:01<PHONE_NUMBER>2912268288
-rw-r--r-- 1 root root 1.0G Mar 20 16:02<PHONE_NUMBER>3986010112
-rw-r--r-- 1 root root 1.0G Mar 20 16:03<PHONE_NUMBER>5059751936
-rw-r--r-- 1 root root 1.0G Mar 20 16:03<PHONE_NUMBER>6133493760
-rw-r--r-- 1 root root 1.0G Mar 20 16:04<PHONE_NUMBER>7207235584
-rw-r--r-- 1 root root 1.0G Mar 20 16:05<PHONE_NUMBER>8280977408
-rw-r--r-- 1 root root 1.0G Mar 20 16:06<PHONE_NUMBER>9354719232
-rw-r--r-- 1 root root 1.0G Mar 20 16:07<PHONE_NUMBER>0428461056
-rw-r--r-- 1 root root 1.0G Mar 20 16:08<PHONE_NUMBER>1502202880
-rw-r--r-- 1 root root 1.0G Mar 20 16:09<PHONE_NUMBER>2575944704
-rw-r--r-- 1 root root 1.0G Mar 20 16:10<PHONE_NUMBER>3649686528
-rw-r--r-- 1 root root 1.0G Mar 20 16:11<PHONE_NUMBER>4723428352
-rw-r--r-- 1 root root 1.0G Mar 20 16:11<PHONE_NUMBER>5797170176
-rw-r--r-- 1 root root 1.0G Mar 20 16:12<PHONE_NUMBER>6870912000
-rw-r--r-- 1 root root 1.0G Mar 20 16:13<PHONE_NUMBER>7944653824
-rw-r--r-- 1 root root 1.0G Mar 20 16:14<PHONE_NUMBER>9018395648
-rw-r--r-- 1 root root 1.0G Mar 20 16:15<PHONE_NUMBER>0092137472
-rw-r--r-- 1 root root 1.0G Mar 20 16:53<PHONE_NUMBER>1165879296
-rw-r--r-- 1 root root 1.0G Mar 20 16:54<PHONE_NUMBER>2239621120
-rw-r--r-- 1 root root 1.0G Mar 20 16:54<PHONE_NUMBER>3313362944
-rw-r--r-- 1 root root 1.0G Mar 20 16:54<PHONE_NUMBER>4387104768

after master crash happened, broker master can not work robustly.
restart broker, start pressure test, master crash quickly with some error.
bare-machine memory snapshot:
total        used        free      shared  buff/cache   available
Mem:         128661       20082         438          60      108141      107734
Swap:             0           0           0
slave broker res memory grows greater than 60G.
I have to delete lots of commit log, and start broker, so that work.
So my question is what reason may cause such a problem?

Finally, I resolve this problem.
Every time load test will repeat this scenario. but this time, the error throws #IOException: Map failed#, and the logs shows broker mapped lots of file, I guess there is some relationship.
After tuning linux param: sysctl -w vm.max_map_count=655360, the problem solved.
Actually, this crash caused by ourself, because rocketmq has a tuning bash, we forget running.
https://github.com/apache/rocketmq/blob/master/distribution/bin/os.sh


Move the projects to a github org?

I love the theme and would love to see a bundles page with all the possible implementations for different programs like it's done with catppuccin. I noticed a GitHub org at https://github.com/tokyo-night, but there are only templates and wallpapers, but no themes. Maybe one could move the projects there so people get a better overview :)

Done!


Orderbook - order of asks could be switched

In order to have a better experience, the orderbook for the ask prices could be switched in the following order:
smallest ask -> highest ask
highest bid -> smallest bid
The first element of each array then could be the current next price for the next trade. This would better the user experience a lot.

In order to have a better experience, the orderbook for the ask prices could be switched in the following order: smallest ask -> highest ask highest bid -> smallest bid
The first element of each array then could be the current next price for the next trade. This would better the user experience a lot.

@virus-zip A similar sorting implementation is coming soon


Marker with custom image don't show callout on press

When I set a custom image to a marker then the callout won't be presented on press. Although if I use the default markers then it shows the callout on press. I've checked what happens on Xcode and I've found that:

when I set a custom image to the Marker then AIRMapMarkerManager's _handleTap method gets invoked.
when I use the built in Markers then AIRMapManager's didSelectAnnotationView method gets invoked.

Here is the code I'm using:
https://gist.github.com/adamivancza/3a074003496420fa1be2922cfc1df443

It looks like the touchable zone fit to the native component for the callout, but not the zone of the custom marker :/
A temporary fix for me was to add a ref to the MapView.Marker and in the onPress function of the marker I call the showCallout function

@magrinj have the same issue, but when using onPress on the Marker, the app no longer receives input (i.e. can't click on Navbar items, etc...), although the map remains responsive.

@simonstewart Your bug is really strange, what is your version of RN and RN-maps ?

@magrinj
"react-native": "~0.37.0",
"react-native-maps": "^0.11.0"

@simonstewart Hmmm, if you remove the onPress on the marker everything is working again ?

@magrinj have no idea what was happening, but seems fine now :-|

#1845 should solve this problem. Please comment if you tested and if there are any bugs detected, as collaborators ask me to have positive replies on my pull request to merge it to master.

That's fixed in the latest version

I want to show Custom Callout on marker press. Anyone have example of it ?

Hi, any update on this ?


Added sample playbooks and docs for zhmc collection

See commit message for details.

@asifmahmud Hi Asif. Which README file are you referring to?

In the main README of the repo, I don't know where to add a link. It describes a certain structure that the zhmc subtree does not confirm to.
The zhmc subtree does not contain a README file at this point. Are you asking to create one?

@andy-maier I was referring to the main README of the repo. I know it doesn't conform to the structure specified in the readme and it wouldn't be a good idea to link every single playbook there since there is a lot, but one option would be to link the playbooks directory under topics section (which has been recently renamed from index).

Since zHMC doc is pointing to these playbooks, they may want to test their doc, I think its a fair ask to merge the PR and not link anything from the project README till they release to Galaxy. At that time we can revisit adding a top level topic point to zHMC playbooks. I had briefed you on this @asifmahmud earlier today so I will go ahead and merge.

I am overriding the change requested @asifmahmud for now, we can work with them in the coming weeks to get the playbooks tied into the main readme, we can initiate that change and look for @andy-maier feedback.


Improvements and rename path-fspec -> dir-fspec.

This is fine for now, but I think we'll eventually want to write this in C. Unfortunately, stat(1) varies wildly between implementations, so it is quite difficult to get at the mode bits in a portable way.
Regarding naming, I was thinking that it's nice to have a common prefix for the tools. Maybe we could use "from" to distinguish those that construct an image from those that produce an fspec? So we leave the current fspec-tar and fspec-cpio, but change this to fspec-fromdir. What do you think?

I agree.


Site broken on IE11

The site is currently broken on IE 11.

HTML1300: Navigation occurred.
ldjam.com
[constructor]
[fetchData]
[fetchUser]
[fetchRoot]
[fetchFeatured]
[fetchUser] caller_id: 0
[fetchUser] Done: 0
[fetchNode]
[fetchFeatured] + 139254
Potentially unhandled rejection [1] TypeError: Unable to get property 'type' of undefined or null reference
   at e.prototype.matchRoute (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:106158)
   at prototype.getCurrentRoute (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:105485)
   at e.prototype.componentWillReceiveProps (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:106922)
   at setComponentProps (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:96894)
   at buildComponentFromVNode (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:98919)
   at idiff (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:94192)
   at innerDiffNode (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:95429)
   at idiff (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:94609)
   at diff (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:93692)
   at renderComponent (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:98169)
[fetchFeatured] My Game(s):
   "[fetchFeatured] My Game(s):"
   [
      length: 0
   ]

[fetchFeatured] - 139254
Potentially unhandled rejection [2] TypeError: Unable to get property 'type' of undefined or null reference
   at e.prototype.matchRoute (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:106158)
   at prototype.getCurrentRoute (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:105485)
   at e (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:105249)
   at createComponent (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:96396)
   at buildComponentFromVNode (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:98919)
   at idiff (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:94192)
   at innerDiffNode (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:95429)
   at idiff (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:94609)
   at diff (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:93692)
   at renderComponent (http://ldjam.com/-/all.min.js?v=4497-6a7d992:1:98169)

Think I've found the issue. IE doesn't support .includes on arrays

Can I Use
MDN

We is use it here https://github.com/ludumdare/ludumdare/blob/master/src/com/router/router.js#L108
There is a poly fill for it in the compat folder (https://github.com/ludumdare/ludumdare/blob/master/src/compat/ie11/Array/Array_includes.js) but i guess it's not being used for some reason?

It seems like this is caused by my routing code. I'll take a look when I get a chance.

Weirdly this is also broken for Google's crawler https://search.google.com/test/mobile-friendly?view=fetch-info&id=8UPIkxhtVyuP0uS18BplOA

I was going to add a note to this thread "lets let IE11 die"... but according to Wikipedia Microsoft still updates it.
https://en.wikipedia.org/wiki/Internet_Explorer_11
Windows 11.0.185 (April 14, 2020; 15 days ago[2]) [±]
:man_facepalming:

https://blogs.windows.com/windowsexperience/2021/05/19/the-future-of-internet-explorer-on-windows-10-is-in-microsoft-edge/

Yep! I'm looking forward to gutting some of the code we keep around just for IE.


Support running the User Report Tool on a Domino server

Hi.
We have tried and it seems that the User Report Tool (64bit) runs just as well (if not better) on a Domino server than it does on a Notes client.
Please can this be added as a supported option and the documentation updated.
Thanks.

Intentionally we designed the standalone User Report Tool to run from a workstation because often customers do not accept making changes to the server or installing extra tools on the server.


Look at Colorado's validation python script

Acceptance Criteria

Document the validation rules that exist in the script
Share findings with the team

Going back to the slack post after CO call, I think that Rick Hawes might have looked at it too perhaps whoever does this can circle back to the slack and synch up with whoever looked at it.

Closing by committee. WA is already onboarded, and this research will come up in the future.
@drew-usds @lizzieamanning


Listing database is slow

Listing databases is really slow.  When a lot of database on server, it ends with "Error : Object Explorer task didn't complete within 45 seconds).

duplicate of #12


Would you check the minmea_scan() with 'VTG' sentence?

Hello Kosma,
Thanks for your open source.
I tested your code with NMEA0183 sentence in various condition.
What causes the following resule?
Example 1)
$GPVTG,293.7,T,294.4,M,0001.4,N,00002.6,K,A*16
$xxVTG: true track degrees = 293.700012
magnetic track degrees = 294.399994
speed knots = 1.400000
speed kph = 2.600000
Example 2)
$GPVTG,273.1,T,,,16.2,N,30.0,K,A*41
$xxVTG sentence is not parsed
How can I improve your source code?
Best regards,
Jongok.

Hi @jobaek. Appreciate your comments. It may be that VTG isnt' supported? Closing this due to inactivity but if you've got a PR or other comments please re-open.


RetryError

Description
tenacity.RetryError: RetryError[<Future at 0x7facc8713520 state=finished raised APIStatusError>]
Reproduction steps
1. Go to '...'
2. Click on '....'
3. Scroll down to '....'
4. See error

Screenshots
![DESCRIPTION](LINK.png)

Logs
No response
Browsers
No response
OS
No response
Additional information
No response

Please add more info to support diagnose your issue.
If you are using ollama, check:
https://github.com/Cinnamon/kotaemon/issues/143#issuecomment-2316974363
If you are using OpenAI API, make sure that OPENAI_API_KEY env variable are set in .env file correctly.


Debian Based Dockerfile and Log Files Changed for Alpine Dockerfile

Overall this looks pretty good, nice work.  It seems they are close to building and running properly, but have a few issues I left comments about.  Try to build and run them locally as you iterate

Overall this looks pretty good, nice work. It seems they are close to building and running properly, but have a few issues I left comments about. Try to build and run them locally as you iterate

@jasonWoodman I can not see your feedback, can you re-post it or tell me where have you posted it?

Sorry about that, I forgot to submit the review, you should see my comments now.


KV index is smaller than snapshot index

I got one case that ETCD couldn't start up caused by error etcdmain: database file (/var/etcd/data/member/snap/db index 11895551) does not match with snapshot (index 13328084).
How did this happen that the KV's index is smaller than the snapshot one?
The full restart logs :
2017-06-14 14:28:53.732637 W | pkg/flags: unrecognized environment variable ETCD_TEST_PORT_2380_TCP_ADDR=<IP_ADDRESS>
2017-06-14 14:28:53.732643 W | pkg/flags: unrecognized environment variable ETCD_TEST_PORT_2380_TCP_PORT=2380
2017-06-14 14:28:53.732648 W | pkg/flags: unrecognized environment variable ETCD_TEST_SERVICE_HOST=<IP_ADDRESS>
2017-06-14 14:28:53.732653 W | pkg/flags: unrecognized environment variable ETCD_TEST_PORT_4001_TCP=tcp://<IP_ADDRESS>:4001
2017-06-14 14:28:53.732658 W | pkg/flags: unrecognized environment variable ETCD_TEST_PORT_2380_TCP_PROTO=tcp
2017-06-14 14:28:53.732663 W | pkg/flags: unrecognized environment variable ETCD_TEST_SERVICE_PORT_SERVERPORT=2380
2017-06-14 14:28:53.732685 I | etcdmain: etcd Version: 3.1.8
2017-06-14 14:28:53.732691 I | etcdmain: Git SHA: d267ca9
2017-06-14 14:28:53.732696 I | etcdmain: Go Version: go1.7.5
2017-06-14 14:28:53.732701 I | etcdmain: Go OS/Arch: linux/amd64
2017-06-14 14:28:53.732707 I | etcdmain: setting maximum number of CPUs to 4, total number of available CPUs is 4
2017-06-14 14:28:53.732753 N | etcdmain: the server is already initialized as member before, starting as etcd member...
2017-06-14 14:28:53.732825 I | embed: listening for peers on http://<IP_ADDRESS>:2380
2017-06-14 14:28:53.732863 I | embed: listening for client requests on <IP_ADDRESS>:4001
2017-06-14 14:28:54.733294 W | etcdserver: another etcd process is running with the same data dir and holding the file lock.
2017-06-14 14:28:54.733355 W | etcdserver: waiting for it to exit before starting...
2017-06-14 14:29:10.241685 W | snap: skipped unexpected non snapshot file<PHONE_NUMBER>baea71.snap.db
2017-06-14 14:29:10.241723 W | snap: skipped unexpected non snapshot file<PHONE_NUMBER>bbd27c.snap.db
2017-06-14 14:29:10.241736 W | snap: skipped unexpected non snapshot file db.tmp
2017-06-14 14:29:10.241746 W | snap: skipped unexpected non snapshot file<PHONE_NUMBER>cb5ed4.snap.db
2017-06-14 14:29:10.241751 W | snap: skipped unexpected non snapshot file<PHONE_NUMBER>acbe10.snap.db
2017-06-14 14:29:10.258091 I | etcdserver: recovered store from snapshot at index 13328084
2017-06-14 14:29:10.258112 I | etcdserver: name = tess-node-873t0-8911
2017-06-14 14:29:10.258118 I | etcdserver: data dir = /var/etcd/data
2017-06-14 14:29:10.258125 I | etcdserver: member dir = /var/etcd/data/member
2017-06-14 14:29:10.258130 I | etcdserver: heartbeat = 100ms
2017-06-14 14:29:10.258135 I | etcdserver: election = 1000ms
2017-06-14 14:29:10.258140 I | etcdserver: snapshot count = 10000
2017-06-14 14:29:10.258156 I | etcdserver: advertise client URLs = https://tess-node-873t0-8911.51.tess.io:4001
2017-06-14 14:29:16.538855 I | etcdserver: restarting member c2cb0e006c421dd3 in cluster 479149e25b784b97 at commit index 14118834
2017-06-14 14:29:16.590690 I | raft: c2cb0e006c421dd3 became follower at term 1218
2017-06-14 14:29:16.590773 I | raft: newRaft c2cb0e006c421dd3 [peers: [5902a07919e43cdf,b620b4c395187fad,c2cb0e006c421dd3,d49c2ef31cf07365,df3a73af6b1c2179], term: 1218, commit: 14118834, applied: 13328084, lastindex: 14118834, lastterm: 1215]
2017-06-14 14:29:16.591047 I | etcdserver/api: enabled capabilities for version 3.0
2017-06-14 14:29:16.591073 I | etcdserver/membership: added member 5902a07919e43cdf [http://<IP_ADDRESS>:2380] to cluster 479149e25b784b97 from store
2017-06-14 14:29:16.591081 I | etcdserver/membership: added member b620b4c395187fad [http://<IP_ADDRESS>:2380] to cluster 479149e25b784b97 from store
2017-06-14 14:29:16.591089 I | etcdserver/membership: added member c2cb0e006c421dd3 [http://<IP_ADDRESS>:2380] to cluster 479149e25b784b97 from store
2017-06-14 14:29:16.591116 I | etcdserver/membership: added member d49c2ef31cf07365 [http://<IP_ADDRESS>:2380] to cluster 479149e25b784b97 from store
2017-06-14 14:29:16.591126 I | etcdserver/membership: added member df3a73af6b1c2179 [http://<IP_ADDRESS>:2380] to cluster 479149e25b784b97 from store
2017-06-14 14:29:16.591134 I | etcdserver/membership: set the cluster version to 3.0 from store
2017-06-14 14:29:33.499719 C | etcdmain: database file (/var/etcd/data/member/snap/db index 11895551) does not match with snapshot (index 13328084).

this should already be fixed by https://github.com/coreos/etcd/issues/7834.
searching the previous issue before creating a new one will save you time.


how to replace  opencv image prosess function cv::multiply()?

Thanks very much for this wonderful works. I found the opencv funcion cv::multiply() is too slow to use in my work, but I can not find the substitute in this project.

cv::multiply performs per-element scaled product of two arrays. This operation is restricted memory bandwidth (algorithm performs only two multiplication for every element). So its performance achieves only several percents of maximum. And it practically does not depend of algorithm implementation.
If you want to achiev good performance you have to use general matrix multiplication instead of per-element matrix multiplication.

thanks for your reply.


Please add "hasAllNullFieldsOrProperties" and "hasAllNullFieldsOrPropertiesExcept"

Summary
Please add hasAllNullFieldsOrProperties as opposite to hasNoNullFieldsOrProperties
and hasAllNullFieldsOrPropertiesExcept as opposite to hasNoNullFieldsOrPropertiesExcept

Thank you!


Add AWS Elemental MediaTailor support

Add AWS Elemental MediaTailor support https://aws.amazon.com/mediatailor/

This is much needed feature for our on going project. Please help to approve this.


Uncaught TypeError: Cannot read property 'pageX' of undefined

I have been using react-calendar-timeline for awhile now with no problems. It has been set as a devDependency like so:

"devDependencies": {
     ...
    "react-calendar-timeline": "git+https://github.com/namespace-ee/react-calendar-timeline.git"
}

Recently I opened up a console on a page that was using it an noticed an error:
Uncaught TypeError: Cannot read property 'pageX' of undefined
After further investigation, I noticed it was coming from this function in react-calendar-timeline:
// Get specified X/Y coords for mouse or event.touches[0]
function getXY (type, pointer, xy) {
     xy = xy || {};
     type = type || 'page';

     xy.x = pointer[type + 'X'];       // <---- error on  this line
     xy.y = pointer[type + 'Y'];

    return xy;
}

Why is this happening now? Is there anything that I can do do make it go away?

You probably need to upgrade your installed version of interact.js
https://github.com/taye/interact.js/issues/251

Thanks @mariusandra ! That was it.

I have been using react-calendar-timeline for my react webstite
I have installed the necessary libraries
npm install --save react-calendar-timeline
npm install --save react react-dom
npm install --save moment interact.js
Then import to website
import Timeline from 'react-calendar-timeline';
I compile the code with gulp but there was an error on this line
events.js:160
throw er; // Unhandled 'error' event
^
SyntaxError: Unexpected token
Why is this happening now? How to fix? Hope to get help from you.


[FEATURE REQUEST] Floating input labels

Description
We are migrating from react-native-paper/mui to gluestack and our PM requires us to have the floating label feature of the inputs how it is the case in RNP's or muis input field.
Basically when theres a label present in the input component and it gets focussed the label will be animated to the top to make place for the typed text. The advantage is that the label can be seen at all times.
Problem Statement
User's can not see in what input they are which can be solved by making the label always visible.
Proposed Solution or API
Either always have this feature active as long as a label is given. Or make this controllable via a prop e.g. floatingLabel: boolean
Alternatives
I believe its not possible to manage this behaviour from the outside 🤔
Additional Information
No response

@sem4phor Here is example of similar implementation using gluestack from older codebase of mine. Can't remember how well it worked but something to start with.
FloatingLabelInput.ts
import React, { useEffect, useState } from 'react';
import { type NativeSyntheticEvent, type TextInputFocusEventData, type TextInputProps } from 'react-native';

import { Box, Input, InputField } from '@gluestack-ui/themed';

import useAnimatedLabel from './useAnimatedLabel';

type FloatingLabelInputProps = {
  label?: string;
  labelBGColor?: string;
  labelColor?: string;
  containerWidth?: string;
  isDisabled?: boolean;
  inputRightIcon: React.ReactNode;
  isRequired?: boolean;
} & TextInputProps;

const FloatingLabelInput = ({
  label,
  labelBGColor,
  containerWidth,
  labelColor,
  isDisabled,
  inputRightIcon,
  isRequired,
  ...rest
}: FloatingLabelInputProps) => {
  const [isFocused, setIsFocused] = useState(false);

  const { animatedLabel, setToValue } = useAnimatedLabel({
    label,
    labelBGColor,
    labelColor,
    initialValue: !(rest?.value === '' || rest?.value === undefined) || rest?.placeholder ? 1 : 0,
  });

  useEffect(() => {
    setToValue(!(rest?.value === '' || rest?.value === undefined) || isFocused || rest?.placeholder ? 1 : 0);
  }, [rest?.value, isFocused, rest?.placeholder]);

  function handleFocus(e: NativeSyntheticEvent<TextInputFocusEventData>) {
    if (rest?.onFocus) {
      rest.onFocus(e);
    }

    setIsFocused(true);
  }

  function handleBlur(e: NativeSyntheticEvent<TextInputFocusEventData>) {
    if (rest?.onBlur) {
      rest.onBlur(e);
    }

    setIsFocused(false);
  }

  return (
    <Box>
      {!!label && animatedLabel}
      <Input variant="outline" size="md" isDisabled={isDisabled} isRequired={isRequired}>
        <InputField {...rest} onFocus={handleFocus} onBlur={handleBlur} />
      </Input>
    </Box>
  );
};

export default FloatingLabelInput;

useAnimatedLabel.ts
import React, { useEffect, useRef, useState } from 'react';
import { Animated, Platform } from 'react-native';

type Props = {
  label?: string;
  labelBGColor?: string;
  labelColor?: string;
  initialValue: number;
};

const useAnimatedLabel = ({ label, labelBGColor, labelColor, initialValue }: Props) => {
  const animatedValue = useRef(new Animated.Value(initialValue)).current;
  const [toValue, setToValue] = useState(initialValue);

  const bgColor = labelBGColor ?? 'white';

  useEffect(() => {
    Animated.timing(animatedValue, {
      duration: 200,
      useNativeDriver: false,
      toValue,
    }).start();
    // eslint-disable-next-line react-hooks/exhaustive-deps
  }, [toValue]);

  const labelContainerStyles: Animated.Animated = {
    position: 'absolute',
    left: 9,
    top: animatedValue.interpolate({
      inputRange: [0, 1],
      outputRange: ['50%', '0%'],
    }),
    zIndex: 5,
    paddingLeft: 3,
    paddingRight: 3,
    marginTop: -8,
    height: 16,
    backgroundColor: bgColor,
    justifyContent: 'center',
  };

  const labelStyle: Animated.Animated = {
    fontWeight: '500',
    fontSize: animatedValue.interpolate({
      inputRange: [0, 1],
      outputRange: Platform.OS === 'android' ? [13, 12] : [13, 10],
    }),

    marginTop: animatedValue.interpolate({
      inputRange: [0, 1],
      outputRange: [-3, 0],
    }),
    color: labelColor,
  };

  const animatedLabel = (
    <Animated.View style={labelContainerStyles}>
      <Animated.Text style={labelStyle}>{label}</Animated.Text>
    </Animated.View>
  );

  return { animatedLabel, setToValue };
};

export default useAnimatedLabel;

Hey @sem4phor, Currently we don't have this in our roadmap and this will come as recipe not as a component for now.
here is working floating input example https://snack.expo.dev/@viraj_10/floating-input-recipe.

Note:- This is not yet perfect please copy paste this code into your repo and do the necessary changes.

Moving this issue to Feature Request Discussion.


feat(app): Add support for multi cred

Codecov Report
Patch and project coverage have no change.

Comparison is base (48f73ae) 90.11% compared to head (89b909b) 90.11%.

Additional details and impacted files
@@           Coverage Diff           @@
##             main     #404   +/-   ##
=======================================
  Coverage   90.11%   90.11%
=======================================
  Files          75       75
  Lines        2701     2701
=======================================
  Hits         2434     2434
  Misses        186      186
  Partials       81       81

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

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


Test list v1

Codecov Report

Merging #110 (37b5d83) into main (f0d5451) will increase coverage by 5.80%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##             main     #110      +/-   ##
==========================================
+ Coverage   77.94%   83.75%   +5.80%
==========================================
  Files         239      239
  Lines        5945     5945
==========================================
+ Hits         4634     4979     +345
+ Misses       1311      966     -345

Impacted Files
Coverage Δ

...APIv1/List/Requests/GetListsMembersRequestV1.swift
100.00% <100.00%> (+100.00%)
:arrow_up:

...ources/TwitterAPIKit/APIv1/TwitterListModeV1.swift
100.00% <0.00%> (+100.00%)
:arrow_up:

.../TwitterAPIKit/APIv1/TwitterListIdentifierV1.swift
100.00% <0.00%> (+100.00%)
:arrow_up:

...it/APIv1/List/Requests/GetListsShowRequestV1.swift
100.00% <0.00%> (+100.00%)
:arrow_up:

...APIv1/List/Requests/PostListsCreateRequestV1.swift
100.00% <0.00%> (+100.00%)
:arrow_up:

...APIv1/List/Requests/PostListsUpdateRequestV1.swift
100.00% <0.00%> (+100.00%)
:arrow_up:

...PIv1/List/Requests/GetListsStatusesRequestV1.swift
100.00% <0.00%> (+100.00%)
:arrow_up:

...PIv1/List/Requests/PostListsDestroyRequestV1.swift
100.00% <0.00%> (+100.00%)
:arrow_up:

...v1/List/Requests/GetListsOwnershipsRequestV1.swift
100.00% <0.00%> (+100.00%)
:arrow_up:

... and 11 more

Continue to review full report at Codecov.

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


No peers found, but data exists

My mariadb cluster exceeded the max connections and crashed. I did delete the pods to make them recreated but they couldn't start. Checking the init container init-config I found those lines:
$ kubectl -n mysql logs -f mariadb-0 -c init-config
This is pod 0 (mariadb-0.mariadb.mysql.svc.cluster.local ) for statefulset mariadb.mysql.svc.cluster.local
This is the 1st statefulset pod. Checking if the statefulset is down ...
+ HOST_ID=0
++ dnsdomainname -d
+ STATEFULSET_SERVICE=mariadb.mysql.svc.cluster.local
++ dnsdomainname -A
+ POD_FQDN='mariadb-0.mariadb.mysql.svc.cluster.local '
+ echo 'This is pod 0 (mariadb-0.mariadb.mysql.svc.cluster.local ) for statefulset mariadb.mysql.svc.cluster.local'
+ '[' -z /data/db ']'
+ SUGGEST_EXEC_COMMAND='kubectl --namespace=mysql exec -c init-config mariadb-0 --'
+ [[ mariadb.mysql.svc.cluster.local = mariadb.* ]]
+ '[' 0 -eq 0 ']'
+ echo 'This is the 1st statefulset pod. Checking if the statefulset is down ...'
+ getent hosts mariadb
+ '[' 2 -eq 2 ']'
+ '[' '!' -d /data/db/mysql ']'
+ set +x
----- ACTION REQUIRED -----
No peers found, but data exists. To start in wsrep_new_cluster mode, run:
  kubectl --namespace=mysql exec -c init-config mariadb-0 -- touch /tmp/confirm-new-cluster
Or to start in recovery mode, to see replication state, run:
  kubectl --namespace=mysql exec -c init-config mariadb-0 -- touch /tmp/confirm-recover
Or to try a regular start (for example after recovery + manual intervention), run:
  kubectl --namespace=mysql exec -c init-config mariadb-0 -- touch /tmp/confirm-resume
Waiting for response ...

So, I tried three of above options but no luck. The new pods are always CrashLoopBackOff
Any suggestion would be very appreciated.

Ok one more step:
I tried a regular start with
kubectl --namespace=mysql exec -c init-config mariadb-0 -- touch /tmp/confirm-resume

And I got those lines of log from mariadb pod:
018-02-09 14:43:29<PHONE_NUMBER>92032 [Warning] WSREP: access file(/data/db//gvwstate.dat) failed(No such file or directory)
2018-02-09 14:43:29<PHONE_NUMBER>92032 [Note] WSREP: restore pc from disk failed
2018-02-09 14:43:29<PHONE_NUMBER>92032 [Note] WSREP: GMCast version 0
2018-02-09 14:43:29<PHONE_NUMBER>92032 [Warning] WSREP: Failed to resolve tcp://mariadb-0.mariadb:4567
2018-02-09 14:43:29<PHONE_NUMBER>92032 [Warning] WSREP: Failed to resolve tcp://mariadb-1.mariadb:4567
2018-02-09 14:43:29<PHONE_NUMBER>92032 [Warning] WSREP: Failed to resolve tcp://mariadb-2.mariadb:4567
2018-02-09 14:43:29<PHONE_NUMBER>92032 [Note] WSREP: (97c96556, 'tcp://<IP_ADDRESS>:4567') listening at tcp://<IP_ADDRESS>:4567
2018-02-09 14:43:29<PHONE_NUMBER>92032 [Note] WSREP: (97c96556, 'tcp://<IP_ADDRESS>:4567') multicast: , ttl: 1
2018-02-09 14:43:29<PHONE_NUMBER>92032 [Note] WSREP: EVS version 0
2018-02-09 14:43:29<PHONE_NUMBER>92032 [Note] WSREP: gcomm: connecting to group 'my_wsrep_cluster', peer 'mariadb-0.mariadb:,mariadb-1.mariadb:,mariadb-2.mariadb:'
2018-02-09 14:43:29<PHONE_NUMBER>92032 [ERROR] WSREP: failed to open gcomm backend connection: 131: No address to connect (FATAL)
	 at gcomm/src/gmcast.cpp:connect_precheck():282
2018-02-09 14:43:29<PHONE_NUMBER>92032 [ERROR] WSREP: gcs/src/gcs_core.cpp:gcs_core_open():208: Failed to open backend connection: -131 (State not recoverable)
2018-02-09 14:43:29<PHONE_NUMBER>92032 [ERROR] WSREP: gcs/src/gcs.cpp:gcs_open():1458: Failed to open channel 'my_wsrep_cluster' at 'gcomm://mariadb-0.mariadb,mariadb-1.mariadb,mariadb-2.mariadb': -131 (State not recoverable)
2018-02-09 14:43:29<PHONE_NUMBER>92032 [ERROR] WSREP: gcs connect failed: State not recoverable
2018-02-09 14:43:29<PHONE_NUMBER>92032 [ERROR] WSREP: wsrep::connect(gcomm://mariadb-0.mariadb,mariadb-1.mariadb,mariadb-2.mariadb) failed: 7
2018-02-09 14:43:29<PHONE_NUMBER>92032 [ERROR] Aborting

It's quite possible that you need to do manual recovery. Now that some time has passed since I wrote https://github.com/Yolean/kubernetes-mysql-cluster#cluster-un-health it looks like it could need some more links.
I haven't experienced a crash due to exceeding max connections. Sounds like a failure mode we can trigger in a test environment, but I guess there's no time for that now.

You're not getting the crash loop in recovery mode, are you? If so it's a bad init script bug.
Maybe, in recovery mode, you need to select the right node?

@solsson Thanks. I got the right node to be start first. However, the crashloop still happen in recovery mode.

fyi,
$ kubectl -n mysql get po
NAME            READY     STATUS             RESTARTS   AGE
mariadb-0       1/2       CrashLoopBackOff   1          3m
mariadb-1       1/2       CrashLoopBackOff   4          3m
mariadb-2       1/2       CrashLoopBackOff   4          3m

The right node is mariadb-2 which contains Safe-to-Bootstrap=1. What should I do ?

Sorry for late replies. I'm on vacation. Actually I don't know what to do. Is the error still the same as https://github.com/Yolean/kubernetes-mysql-cluster/issues/15#issuecomment-364456619? It's quite likely that there are issues with init.sh, in which case you need to try to patch your way around this (edit + re-apply 10conf-d.yml and delete the mariadb-2 pod that you want started first). It's also possible that you've run into some failure mode that requires help from the MariaDB comminuty.
If you want to try to start mariadb without editing the init script you can change the entrypoint of the mariadb container to something like tail -f /dev/null, then exec into the container and try to start using flags.

Let's say I run a k8s statefulset and it works. However, if the pods are restarted (example case - k8s nodes are restarted), then CrashLoopBackOff always happen. It's not self-healing :-(

@ngtuna The ambition is that as long as any of the pods is up and running the MariaDB cluster will recover - but I guess self-healing is a strong word there because that assumes that nothing is broken in any pod's volume.
If all pods have been down concurrently, my interpretation of MariaDB/Galera docs is that they expect manual intervention.
Can you recap the situation. Is the problem now that with Safe-to-Bootstrap=1 you still can not get the cluster to start?
I'd also be very interested in a repro case from a new scale=3 cluster.

@solsson Yes I agree. And sorry for the strong word self-healing. In case all pods are shutdown-ed then we have to do manual recover 👍
I confirm that from the Safe-to-Bootstrap=1 pod, I can run the first choice successfully (all pods are back to running)
No peers found, but data exists. To start in wsrep_new_cluster mode, run:
  kubectl --namespace=mysql exec -c init-config mariadb-0 -- touch /tmp/confirm-new-cluster

Hi there,
I have been experiencing the same issue with our implementation.
I've some very simple questions.
When there is only the mariadb-0 pod left ( I have added some antiaffinity rules to stop the pods appearing on the same nodes) how do you edit the grastate.dat file manually and set safe_to_bootstrap to 1?
Tom


FT: Implement CORS headers in API responses

Part of S3 CORS implementation.
If Origin header designates request as a CORS request and bucket has CORS configuration, should respond with access-control-allow-origin, access-control-allow-methods, access-control-allow-credentials and vary headers if the request matches a CORS rule.
Because the cors headers require checking the cors configuration of the bucket, this involved refactoring the api methods to return an extra parameter corsHeaders to be added to the response meta headers, even in case of errors.
As noted, we opted to avoid making extra calls to the metadata backend (departure from AWS compatibility) and instead gather the headers once existing metadata calls to retrieve bucketInfo are completed, generally for bucket authorization.

@ironman-machine

Hello @electrachong
Starting end to end procedure using the following payload:
{"REPO_NAME": "S3", "SCALITY_S3_BRANCH": "ft/corsHeaders", "DEFAULT_BRANCH": "rel/6.4"}
Please follow http://ci.ironmann.io/gh/scality/Integration/8869 for CI status.

end to end passed here: http://ci.ironmann.io/gh/scality/Integration/8874

@LaurenSpiegel - the 2 ceph cors tests that were failing pass now against this branch.
Good job @electrachong !

@ironman-machine please

Hello @electrachong
Starting end to end procedure using the following payload:
{"REPO_NAME": "S3", "SCALITY_S3_BRANCH": "ft/corsHeaders", "DEFAULT_BRANCH": "rel/6.4"}
Please follow http://ci.ironmann.io/gh/scality/Integration/8906 for CI status.

end-to-end passed

@ironman-machine

Hello @electrachong
Starting end to end procedure using the following payload:
{"REPO_NAME": "S3", "SCALITY_S3_BRANCH": "ft/corsHeaders", "DEFAULT_BRANCH": "rel/6.4"}
Please follow http://ci.ironmann.io/gh/scality/Integration/8944 for CI status.

@ironman-machine

Hello @electrachong
Starting end to end procedure using the following payload:
{"REPO_NAME": "S3", "SCALITY_S3_BRANCH": "ft/corsHeaders", "DEFAULT_BRANCH": "rel/6.4"}
Please follow http://ci.ironmann.io/gh/scality/Integration/8963 for CI status.

end-to-end passing again

@ironman-machine

end-to-end is running here: http://ci.ironmann.io/gh/scality/Integration/9041

@rahulreddy if you approve of the changes as is, let me know so I can squash my changes & let the ci run :)

@ironman-machine do you spontaneously work yet?

end to end running here: http://ci.ironmann.io/gh/scality/Integration/9087

another end-to-end: http://ci.ironmann.io/gh/scality/Integration/9154

another end-to-end: http://ci.ironmann.io/gh/scality/Integration/9156

end-to-end passed


Time - Lola

React Tic Tac Toe
Congratulations!  Please reflect on the assignment with these questions.
Reflection

Prompt
Response

How are events / event handlers and useState connected?
useState and event handlers are connected through a callback functions.

What are two ways to do "dynamic styling" with React? When should they be used?
Through React you can use inline styling using the built in style attribute. Or you can use a linked style sheet using classNames.

Much like Rails works with the HTTP request->response cycle, React works with the browser's input->output cycle. Describe React's cycle from receiving user input to outputting different page content.
The program is updated when an event occurs, a callback function is triggered. When a state is changed, React runs a code and renders the components.

CS Fundamentals Questions

Question
Answer

What do you think is the BigO complexity of the method you use to compute a winner?
0n and 0(1)

Consider what happens when React processes a state change from setState -- it must re-render all of the components that now have different content because of that change.What kind of data structure are the components in, and what sort of algorithms would be appropriate for React's code to "traverse" those components?Speculate wildly about what the Big-O time complexity of that code might be.
The components adopt a tree structure. My guess is since the data remains the same, O(1). ???But if the state is different than before, the tree will change and the time complexity would as well???

Uses existing stylesheets to render components
✔

Functional Requirements

Functional Requirement
yes/no

The Square component renders properly and executes the callback on a click event.
✔

The Board component renders a collection of squares
✔

The App component renders a board and uses state to maintain the status of the game.
✔

Utilizes callbacks to UI events to update state
✔

Overall Feedback

Overall Feedback
Criteria
yes/no

Green (Meets/Exceeds Standards)
5+ in Code Review && 3+ in Functional Requirements

Code Style Bonus Awards

Was the code particularly impressive in code style for any of these reasons (or more...?)

Quality
Yes?

Perfect Indentation
✅

Elegant/Clever
✅

Descriptive/Readable
✅

Concise
✅

Logical/Organized
✅

Summary
Well done, you hit the learning goals here.  This is is a very solid submission here.  Excellent work!


Add a test to check if a pixel isn't already colorized

Is it possible to add a test to check if a new colorized pixel isn't already colorized by someone else ?

That's what we are discussing in #206 already :) Now that the pixels file is sorted this should be easier to spot and a unit test is being added by @ConorGrocock already


ASP.NET Core Blazor component virtualization with CSS Grid layout

Hi.
Adding the empty divs at the beginning and end to handle the virtualization throws off the layout if using a CSS Grid since it adds another div in the collection.
Any ideas how to get around this. Setting the display to none or hidden appears to break the Virtualization functionality.
Thanx.

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

ID: 0f4ab8b4-4d2e-9e1b-793e-dbb17f6d694d
Version Independent ID: 26ed2425-63ec-e206-edcb-e51f17edb844
Content: ASP.NET Core Blazor component virtualization
Content Source: aspnetcore/blazor/components/virtualization.md
Product: aspnet-core
Technology: aspnetcore-blazor
GitHub Login: @guardrex
Microsoft Alias: riande

Hello @SLFD-William ...

empty divs at the beginning and end

Can you confirm if you're referring to the same rendered markup as ...
https://github.com/dotnet/aspnetcore/issues/25982
... paste the rendered HTML into a comment here.

IMO, the issue that I opened indicates a violation of the HTML spec, which is different than what you're pointing out. I'd just like to understand if you're referring to the same thing before I advise further.

Sugar

<button class="safe" type="button" title="Tag"></button>

<button class="safe" type="button" title="Edit"></button><button class="danger" type="button" title="Delete"></button>

Rainbow

<button class="safe" type="button" title="Tag"></button>

<button class="safe" type="button" title="Edit"></button><button class="danger" type="button" title="Delete"></button>

thanx for the cleanup on the preceeding post and prompt response guardrex

Yeah ... so the
 is INSIDE the
 ... a clear HTML spec violation, too.
@SLFD-William ... Open your concern for the product unit at ...
https://github.com/dotnet/aspnetcore/issues
... and I recommend cross-linking my closed issue and mentioning that these are HTML spec violations (*if you agree with me on that, too). My closed issue is at ...
https://github.com/dotnet/aspnetcore/issues/25982
Please add a cc: @guardrex to your opening issue comment over there so that I can follow along.

I don't know if it's an HTML violation or not, too deep in the weeds for me. But yeah, I'll cross reference your issue..
Thanx.

In that case, don't cross-link my issue. Only ask them about your scenario.

However, please do put a cc: @guardrex at the bottom of your opening comment. I'd still like to see what they say. Thanks.

I'll see if I can edit it and remove the cross link. But you're CC'd

Yes ... you should be able to edit and remove the cross-link.

mention of your issue removed.

Thanks.

https://github.com/dotnet/aspnetcore/issues/28056


to_active_record_hash doesn't work with activerecord and mysql2

ActiveRecord::Base.establish_connection DatabaseUrl.to_active_record_hash(ENV['DATABASE_URL']) doesn't work with mysql2. I got the following error:
============= WARNING FROM mysql2 =============
The options :user, :pass, :hostname, :dbname, :db, and :sock will be deprecated at some point in the future.
Instead, please use :username, :password, :host, :port, :database, :socket, :flags for the options.
============= END WARNING FROM mysql2 =========
Mysql2::Error - Access denied for user<EMAIL_ADDRESS>(using password: YES):

to_active_record_hash returns a hash including :user, but activerecord (at least 4.2.0) expects :username, not :user. If :username is not passed, activerecord's mysql2_adapter uses 'root' as default user name.
https://github.com/rails/rails/blob/master/activerecord/lib/active_record/connection_adapters/mysql2_adapter.rb#L12
      config[:username] = 'root' if config[:username].nil?

https://github.com/brianmario/mysql2/blob/master/lib/mysql2/client.rb#L47-L54
      if [:user,:pass,:hostname,:dbname,:db,:sock].any?{|k| @query_options.has_key?(k) }
        warn "============= WARNING FROM mysql2 ============="
        warn "The options :user, :pass, :hostname, :dbname, :db, and :sock will be deprecated at some point in the future."
        warn "Instead, please use :username, :password, :host, :port, :database, :socket, :flags for the options."
        warn "============= END WARNING FROM mysql2 ========="
      end

      user     = opts[:username] || opts[:user]

activerecord's postgresql_adapter does a tricky mapping as below:
https://github.com/rails/rails/blob/master/activerecord/lib/active_record/connection_adapters/postgresql_adapter.rb#L35-L37
      # Map ActiveRecords param names to PGs.
      conn_params[:user] = conn_params.delete(:username) if conn_params[:username]
      conn_params[:dbname] = conn_params.delete(:database) if conn_params[:database]

Using :username instead of :user at https://github.com/seamusabshere/database_url/blob/master/lib/database_url.rb#L40 works for me, but it doesn't work with pg, and breaks backward compatibility.

Fixed by #3

@seamusabshere this can now be closed!  Thanks for merging the fix!


Corrected missing hyphen in PowerShell commands

Added a missing hyphen in the PowerShell commands on readme for browsing to the website and Prometheus containers.

Good find, thanks @gumaflux!

:thumbsup:


Add 'client' global target

Right now the only global target defined by the cmake is the editor.
Adding a new global target will not be problematic, but the number of variables that are set globally makes it hard to properly configure such a target.
Small TODO:

Replace all global add_definition etc. calls in CMake with proper target_compile_definitions etc in set_common_target_properties.
make set_common_target_properties understand the global target context it's called in, and make it retrieve proper target defines and set them on the sub-target.

I've done some work on separating things a bit into editor, server, client builds, still not happy with the way they are entangled.


Replace pip-tools with Monotrail or Similar

The use of pip-tools in rye is because this is what we use at @getsentry. It's however by no means perfect, among other things it does not have proper locking support and the resolver is very hacky. I would like to investigate alternatives. Options that might exist:

Use/reuse pdm or it's internals
monotrail-resolve: can resolve, does not lock.

Related issues that this would close:

#82
https://github.com/mitsuhiko/rye/issues/200

Hi 👋
Maybe you find this Makefile useful :) it uses pipgrip to to create (and later commit) a lockfile, and then uses that lockfile with pip's -c/--constraint flag in make install and in our Dockerfile. So the python package just has open version ranges, and the corresponding lockfile lives next to it.
.PHONY: lint
## Run linting
lint:
	pre-commit run --all-files

.PHONY: test
## Run tests
test:
	python -m pytest

.PHONY: install
## Install this repo, plus dev requirements, in editable mode
install:
	test -e requirements/pipgrip.lock || make lockfile
	pip install -r requirements/ci.txt -e . --constraint=requirements/pipgrip.lock
	pre-commit install

.PHONY: lockfile
## Create a lockfile for all python requirements.
lockfile:
	pip install -U pipgrip
	pipgrip -vv --sort --lock --tree .
	mv pipgrip.lock requirements/pipgrip.lock

.PHONY: help
## Print Makefile documentation
help:
	@perl -0 -nle 'printf("%-25s - %s\n", "$$2", "$$1") while m/^##\s*([^\r\n]+)\n^([\w-]+):[^=]/gm' $(MAKEFILE_LIST) | sort
.DEFAULT_GOAL := help

in Github Actions, we block PRs if they updated prod.txt (which is read into the package's install_requires), but they forgot to run make lockfile:
    - name: Check whether requirements/prod.txt changed
      id: requirements-changed
      uses: tj-actions/changed-files@v34
      with:
        files: |
          requirements/prod.txt

    - name: Check whether make lockfile was forgotten
      if: steps.requirements-changed.outputs.any_changed == 'true'
      env:
        PIP_INDEX_URL: ${{ secrets.PIP_INDEX_URL }}
      run: |
        make lockfile
        test ! "$(git diff)" && echo "no changes" || ( git diff && exit 1 )

That might be an interesting alternative to try.

Hi,
You also might look at rustine and pubgrub-pyo3 but this is a rather quick hack, nothing prodution ready :-)
Regards,
Charbel

See also the prefix.dev resolver r

See also the prefix.dev resolver

There's also a noteworthy blog post from the developers of Rattler Resolver which is a port of libsolv to Rust. They started with conda package support and they have set their eyes on PyPI packages support next.

There's also a noteworthy blog post from the developers of Rattler Resolver which is a port of libsolv to Rust. They started with conda package support and they have set their eyes on PyPI packages support next.

Seems like they already delivered: RIP (pip in Rust) 🦀

I think this can be closed now

xref https://github.com/astral-sh/rye/issues/1185

Yes sorry -- we now use uv here.


Blog Post: Private Networks

This is one of the Top Topics that Need Better Documentation
Private Networks -- limiting which nodes/peers you will even talk to. This limits which peers can see what you've added to your IPFS node and limits which nodes you will provide blocks to
Currently this feature is implemented in a simple way but needs explanation of what it does & doesn’t do, why it works that way, and a declaration of "future work” that must happen for people to really use the feature

Main resources https://github.com/libp2p/specs/pull/10 and https://github.com/ipfs/go-ipfs/issues/3397#issuecomment-284341649 and also me.

Does https://github.com/ipfs/go-ipfs/issues/4110 have anything to do with this or will it when it happens?

No. This issue is just about our "private networks" features where uses with a shared key can create a completely separate, encrypted ipfs cluster that never joins the main network.


find the smart meter and channel a GAS meter is connected to

As a grid operator
I want OSGP to be able to find the E-meter a G-meter is connected to and the M-Bus channel it uses.
So that OSGP adequately can address the G-meter data
This issue is a minimal start of a GAS meter administration. It is necessary for the implementation of GAS meter functions such as #225, #227 and #228. It only covers introduction of an entity that holds GAS meter information and a relation to a E-meter. Filling the table with data should be done manually for now. The installation process for GAS meters should lead to entries in this table.
Tasks:

[x] Create a GasMeterDevice entity with 4 non null columns:
deviceIdentification (String 40, id), smartMeter (deviceId smartmeter String 40), channel (1, 2, 3 or 4) and wired (boolean)
[x] Create a flyway script that creates the table for GasMeterDevice
[x] Create a function that finds a GasMeterDevice by id (deviceIdentification)
[ ] Create a webservice operation to find gas meters

@elhachhouchi @phoutman @bvdzwet
some options for finding gas meters:

introduce GetGasDevicesRequest that only returns gas meters in GetDevicesResponse
(mis)use DeviceType in GetDevicesResponse to indicate Gas meter, reuse GetDevicesRequest
redesign GetDevicesRequest and GetDevicesResponse to be generic for whatever device is found

Personally I vote for the third, we can also reconsider the paging mechanism then (offset/max instead of total pages to return)


Release keyvault microsoft.key vault 7.6 preview.2 & Key attestation feature

Choose a PR Template
Switch to "Preview" on this description then select one of the choices below.
Click here to open a PR for a Data Plane API.
Click here to open a PR for a Control Plane (ARM) API.

Please follow the instructions in the PR template. You'll need to click the appropriate link and edit the PR description now.

And with the number of files changed and merge conflicts, seems you didn't start from the right HEAD. You actually need to create a new feature branch because there will be more work coming in. Please see https://eng.ms/docs/products/azure-developer-experience/design/api-specs-pr/api-tutorial/api-tutorial. Your PR would then target that branch.
If you need help creating it, please ping me offline. But it should be as simple as creating one with the name you did, but pushed to upstream. That should be created from the latest upstream main.
Then you branch from that, change the API version, commit (so we can ignore that diff which will have all-new files), make your changes, commit that, then push to your fork (use a different branch name so you can track the upstream changes) and open a PR.


Always in fullscreen mode (open link)

First thank you for the great extension you provided, I really love it. Is it possible to always stay in fullscreen mode? Currently open link will exit fullscreen mode.

Thank you first.
After some investigation, my answer is it's hard.
I would like refer to the answer from stack overflow Javascript request fullscreen is unreliable

requestFullscreen() can not be called automatically is because of security reasons (at least in Chrome). Therefore it can only be called by a user action such as:
...

I'm not very JS savvy but would a user-generated event include something like mouseover? Something where any movement, scrolling, etc. would suffix to trigger fullscreen?


conflicting SPI host issue fix

conflicting SPI host
M5Cardputer demo app is not working due to   SD card and LCD on the sharing SPI bus .
what SDSPI_HOST_DEFAULT()   returning as slot is not equal to  SPI3_HOST value .

@Forairaaaaa check this when you have time


HTML

HTML
User Story
As a bootcamp student
I want the prework notes to be structured on webpage so that I can easily find and read information.
Acceptance Criteria
GIVEN a Prework Study Guide website.
WHEN I visit the website in my browser
THEN I see four boxes that are titles HTML, CSS, Git, and JavaScript with associated notes listed.

This issue has been resolved and completed


Random cat image generator

Describe the bug
i will add a random cat pic generating page with help of thecatapi

Similar project already exist


Rune.de

A utility to simplify destructuring runes from runes.
const abc = Rune.tuple([a, b, c])
const [a, b, c] = Rune.de(abc)

const xyz = Rune.rec({ a, b, c })
const { x, y, z } = Rune.de(xyz)

It should probably be called something else (perhaps Rune.destructure or Rune.access, but this does seem like a nice utility.


Add Butane test and Ignition logs

This pull request includes:

[ ] adequate testing for the new functionality or fixed issue
[ ] adequate documentation informing people about the change

@mcattamoredhat you need to add the PR to the original repo, not to the fork