ARROW-17814: [C++] Remove make_unique reimplementation

Use std::make_unique instead.

Thanks! Is it also possible to remove occurrences of using std::make_unique and instead write std::make_unique in full?

Thanks for the review! Please check it again. @pitrou

I'll just wait for CI now.

I rebased and fixed conflicts.

I rebased and fixed conflicts.

I have done the same thing. Sorry for missing your commit. @pitrou

@wgtmac This breaks our lint: https://github.com/apache/arrow/actions/runs/3105831802/jobs/5031935208#step:5:866
--- /arrow/cpp/src/arrow/type.cc
+++ /arrow/cpp/src/arrow/type.cc (after clang format)
@@ -1723,8 +1723,7 @@
 SchemaBuilder::SchemaBuilder(std::vector<std::shared_ptr<Field>> fields,
                              ConflictPolicy policy,
                              Field::MergeOptions field_merge_options) {
-  impl_ = std::make_unique<Impl>(std::move(fields), nullptr, policy,
-                                      field_merge_options);
+  impl_ = std::make_unique<Impl>(std::move(fields), nullptr, policy, field_merge_options);
 }

 SchemaBuilder::SchemaBuilder(const std::shared_ptr<Schema>& schema, ConflictPolicy policy,
...

Could you fix this as a follow-up pull request? Or do you want me to fix this?

See also: https://arrow.apache.org/docs/developers/cpp/development.html#code-style-linting-and-ci

Oops, I don't know how I missed that. @kou I'd be glad if you could do it :-)

OK. I'll do it.

#14218


Custom/Request Keys

Any way to modify this to be able to include tagged log entries? I'd like to be able to have output like:
{"msg":"foo","request_id":"<some-uuid>"}

along with some other custom things.
I'm not too familiar with rails internals to be able to do this myself, but if someone could give me a direction I could give it a shot. I like the simplicity of this gem compared to some other rails json loggers I've been trying out.

If you provide the tag in your log, it is outputted.
For example:
logger.info({
  msg: "foo",
  request_id: "<some-uuid>"
})
#=> {"level": "info", "timestamp": "2018-12-26T00:26:18", "environment": "development", "msg": "foo", "request_id": "<some-uuid>"}

On one hand, if you want to setup custom tag in log format, it is difficult. Because now user can not customize the log format. It is defined here: https://github.com/h3poteto/logist/blob/v0.1.0/lib/logist/formatter/json.rb

Yep, I understand I can pass a hash to the log method, but I meant having things automatically included per request-scope like the built-in rails tagging feature. Wrapping the logist instance in a TaggedLogger doesn't work how I want since the tags come built into the msg in brackets. Other loggers have this feature, but they are all too big and unwieldy for me.

@zombor I wanted to do something similar to yours, didn't find a very clean solution for it but this worked

class JsonFormatter < ActiveSupport::Logger::SimpleFormatter
  def call(severity, timestamp, _progname, message)
    {
      type: severity,
      time: timestamp,
      message: message,
      request_id: begin current_tags[0] rescue "undefined" end
    }.to_json + "\n"
  end
end

In config/environments/.rb
config.log_formatter = JsonFormatter.new
config.log_tags = [:request_id]

Again this covers the global tag but gives trouble when you are using custom tags :(

It seems like it would be good to allow the existing lograge.custom_options functionality to be configured, in addition to what happens in Logist::Railtie. That would allow for global configuration of additional options as @zombor requested

After thinking some more about this, I realized that lograge.custom_options is not enough, since not all log messages going through logist are originating from lograge. I think something more like a config.logist.custom_options that replaces the current manipulation of lograge.custom_options would be more appropriate.


Fix remainder method and create skeleton for firstUniqueChar method

[X] The test of the method you have fixed is passing
[X] You have written a new skeleton method for someone else to work on!

Thanks for the contribution @maribelduran !


Provide insights into tour engagement

More context here

Closing this for now since we haven't heard any further interest. We can always re-open it when we learn more about the use of such an experience 👍


[nzbget] Migrate to media-common

Contributes to #37
Special notes for your reviewer:
n/a
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[x] Chart Version bumped
[x] Variables are documented in the README.md
[x] Title of the PR starts with chart name (e.g. [radarr])

Please just squash & merge the additional commits 😛


Unable to query entities with empty PartitionKey field for emulator tables when running Azurite 3.25.0

Storage Explorer Version: 1.31.0-dev
Build Number: 20230801.4
Branch: main
Platform/OS: Windows 10
Architecture: x64
Azurite Version 3.25.0
How Found: From running test cases
Regression From: Not a regression
Steps to Reproduce

Launch storage explorer -> Install and start Azurite 3.25.0.
Expand 'Emulator & Attached' -> 'Storage Accounts' -> (Emulator -Default Ports) (Key) -> Tables.
Create a table -> Add one entity (keep the Partitionkey field blank).
Click 'Query' -> Run query with the query clause PartitionKey eq ''.
Check whether it is able to query the entity.

Expected Experience
It is able to query the entity.

Actual Experience
Unable to query the entity.

Additional Context
This issue doesn't reproduce when using Azurite 3.24.0.

@v-xianya Azurite has a 3.25.1 hotfix version out now. This should solve the issue above. Please let me know if that is not the case.

Hi @garrettbaski This issue has been resolved after upgrading Azurite version to 3.25.1. So, we are going to close it.


optimize: perfect MySQL create index  grammar

Signed-off-by: Charlie17Li<EMAIL_ADDRESS>
What this PR does:
optimize: perfect MySQL create index grammar
Which issue(s) this PR fixes:

Fixes #578
Special notes for your reviewer:
Does this PR introduce a user-facing change?:

Codecov Report
Base: 35.72% // Head: 36.74% // Increases project coverage by +1.02% :tada:

Coverage data is based on head (5f0ad0e) compared to base (d47a067).
Patch coverage: 21.52% of modified lines in pull request are covered.

Additional details and impacted files
@@            Coverage Diff             @@
##           master     #584      +/-   ##
==========================================
+ Coverage   35.72%   36.74%   +1.02%
==========================================
  Files         185      185
  Lines       21199    21538     +339
==========================================
+ Hits         7573     7915     +342
- Misses      12753    12756       +3
+ Partials      873      867       -6

Impacted Files
Coverage Δ

pkg/runtime/ast/create_index.go
0.00% <0.00%> (ø)

pkg/runtime/ast/model.go
36.01% <22.22%> (-2.65%)
:arrow_down:

pkg/runtime/ast/ast.go
84.32% <63.33%> (+10.55%)
:arrow_up:

pkg/dataset/priority_queue.go
77.61% <0.00%> (+1.49%)
:arrow_up:

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 at Codecov.
:loudspeaker: Do you have feedback about the report comment? Let us know in this issue.


Add read-string

Concrete and symbolic implementation for new function read-string.
We already had read-integer, read-decimal, but no read-string. Technically read-msg can deserialize strings already, but it can return any type which is not the best for typechecking and analysis, and folks who see read-integer and read-decimal would probably be surprised that no -string counterpart exists.

Do we want read-list and read-object too?

This looks perfect. One thing to note is that we have a lot of duplication for all the read- functions. If we add more (list / object like Stu mentioned), we should try to reduce the duplication.

Not sure what's wrong with CI: "No command 'stack' found"

CI should work after a rebase: https://github.com/kadena-io/pact/commit/997175cf98702c362938338e0507e1bc191dd7ba

Probably a good idea to add read-list and read-object too?


Sudo password required

sudo sh -e ~/Downloads/crouton -t xfce

Please describe your issue:
so, i am doing everything right but it asks for a password. I have setup the password but it tells me that it is incorrect. so i tried entering the default root password and it did not work. can anyone help me with this problem?
If known, describe the steps to reproduce the issue:

found how to fix


feature request: double headers

Strange request: is there a way to have two or more lines considered as a header
| header 1 | < |
| subhead 1 | subhead 1 |
| --- | --- |
| r1 c1 | r1 c2 |

| header 1 | < |

subhead 1
subhead 1

r1 c1
r1 c2

This is useful for headings that have subheadings

This is doable with the code block notation:
```sheet
| header 1 | < |
| subhead 1 | subhead 1 |
| --- | --- |
| r1 c1 | r1 c2 |
```

but Obsidian's native markdown rendering does not permit the notation with native tables.

I didn't know that! Thanks very much for the kind reply!
On Sat, Dec 16, 2023, 13:23 NicoNekoru @.***> wrote:

This is doable with the code block notation:
| header 1 | < |
| subhead 1 | subhead 1 |
| --- | --- |
| r1 c1 | r1 c2 |

but Obsidian's native markdown rendering does not permit the notation with
native tables.
—
Reply to this email directly, view it on GitHub
https://github.com/NicoNekoru/obsidan-advanced-table-xt/issues/42#issuecomment-1858713820,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AO2Y35FN7I4ERRZTZGG2ROTYJUO3BAVCNFSM6AAAAABAXJWIESVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMYTQNJYG4YTGOBSGA
.
You are receiving this because you authored the thread.Message ID:
@.***>


Is adaptive retry meant to catch 429 Too Many Requests errors?

Describe the bug
We have a client configured with retries={"mode": "adaptive", "max_attempts": 10}
In some situations we are seeing the following response:
DEBUG  botocore.retries.standard (standard.py:90) - Not retrying request.
<stack trace>
botocore.exceptions.ClientError: An error occurred (429) when calling the GetObject operation: Too Many Requests

The implication is that for standard retries http error 429 (Too Many Requests) is not handled. Am I reading things correctly? Am I meant to do backoff retry myself?
botocore/data/_retry.json does list 429:
    "too_many_requests": {
      "applies_when": {
        "response": {
          "http_status_code": 429
        }
      }
    },

but does that not apply to adaptive retries?
Sorry if I've missed some documentation.
Expected behavior
Sorry if I've missed some documentation. Is there some configuration I'm meant to set to enable retries? 429 Too Many Requests seems like it's something that should be handled automatically by the retry infrastructure.
Debug logs
I enabled debug logging and it reports "Not retrying request".

Hi @timj thanks for reaching out. Here is the boto3 documentation on retries: https://boto3.amazonaws.com/v1/documentation/api/latest/guide/retries.html
It notes that the Adaptive mode includes all the features of Standard mode. And for Standard mode it does retry attempts on HTTP status codes: 500, 502, 503, 504. But the default Legacy makes retry attempts on 429 as well as those other status codes.

Okay. Thanks. So if I want 429 I have to use Legacy. Legacy seemed like something I should never use in new systems. It seems like "standard" does not have a configuration option to use 429 so my choices are to use legacy or write my own retry backoff layer.

Hi @timj it looks like the TooManyRequestsException is actually listed in the Standard retry mode documentation (and therefore should apply to the Adaptive mode as well), it just doesn’t list the status code there. Sorry about that! Which service are you using? If you can provide the full stack trace that could help us better understand what’s going on here.

This is with Google cloud storage.
Here's the trace:
  File "/opt/lsst/software/stack/stack/miniconda3-py38_4.9.2-0.8.0/Linux64/daf_butler/g6b22db343a+d18c45d440/python/lsst/daf/butler/core/_butlerUri/s3.py", line 193, in _as_local
    self.client.download_fileobj(self.netloc, self.relativeToPathRoot, tmpFile)
  File "/opt/lsst/software/stack/conda/miniconda3-py38_4.9.2/envs/lsst-scipipe-0.8.0/lib/python3.8/site-packages/boto3/s3/inject.py", line 679, in download_fileobj
    return future.result()
  File "/opt/lsst/software/stack/conda/miniconda3-py38_4.9.2/envs/lsst-scipipe-0.8.0/lib/python3.8/site-packages/s3transfer/futures.py", line 106, in result
    return self._coordinator.result()
  File "/opt/lsst/software/stack/conda/miniconda3-py38_4.9.2/envs/lsst-scipipe-0.8.0/lib/python3.8/site-packages/s3transfer/futures.py", line 265, in result
    raise self._exception
  File "/opt/lsst/software/stack/conda/miniconda3-py38_4.9.2/envs/lsst-scipipe-0.8.0/lib/python3.8/site-packages/s3transfer/tasks.py", line 126, in __call__
    return self._execute_main(kwargs)
  File "/opt/lsst/software/stack/conda/miniconda3-py38_4.9.2/envs/lsst-scipipe-0.8.0/lib/python3.8/site-packages/s3transfer/tasks.py", line 150, in _execute_main
    return_value = self._main(**kwargs)
  File "/opt/lsst/software/stack/conda/miniconda3-py38_4.9.2/envs/lsst-scipipe-0.8.0/lib/python3.8/site-packages/s3transfer/download.py", line 511, in _main
    response = client.get_object(
  File "/opt/lsst/software/stack/conda/miniconda3-py38_4.9.2/envs/lsst-scipipe-0.8.0/lib/python3.8/site-packages/botocore/client.py", line 391, in _api_call
    return self._make_api_call(operation_name, kwargs)
  File "/opt/lsst/software/stack/conda/miniconda3-py38_4.9.2/envs/lsst-scipipe-0.8.0/lib/python3.8/site-packages/botocore/client.py", line 719, in _make_api_call
    raise error_class(parsed_response, operation_name)
botocore.exceptions.ClientError: An error occurred (429) when calling the GetObject operation: Too Many Requests```

Does it matter that this is reported as a ClientError and not a TooManyRequestsException?

Thanks @timj for following up. In the boto3 documentation on error handling it says:

AWS service exceptions are caught with the underlying botocore exception, ClientError. After you catch this exception, you can parse through the response for specifics around that error, including the service-specific exception.

So ClientError is just a general exception when an error response is provided by an AWS service to your boto3 client’s request. I assumed you are using the GetObject API of the S3 service but I didn’t see TooManyRequests in these S3 error docs: https://docs.aws.amazon.com/AmazonS3/latest/API/ErrorResponses.html#ErrorCodeList. It seems like the 503 Slow Down error should occur instead in that scenario. Can you provide a code snippet or give us more context on what your code does?

The code uses download_fileobj: https://github.com/lsst/resources/blob/main/python/lsst/resources/s3.py#L213-L215
I think you are saying that a general http error code of 429 is not handled by the new retry code because 429 is not listed by the AWS error codes. Maybe the Google implementation of AWS is not fully compliant with the Amazon one? Would it be possible to add 429 to the list of standard retry codes? 429 clearly implies a retry is desirable (I do not know if a retry-after header is included in the response from Google).

The TooManyRequestsException is retried in Standard mode. But in this case it is a ClientError because the TooManyRequests occurs upstream in the service. There are articles for triaging this error in Lambda and AWS Batch but again it’s not an error we would expect to see with S3. I don’t know the specifics of how this is integrated with Google Cloud but it is definitely possible that there are incompatibilities.

One final note motivated by the bot.
429 seems like the right error code to use because that's the code that indicates that you specifically have to slow down. It's why the code was created (my understanding is that it's from 2012). 503 means that the server is having problems and please try again. It sounds like AWS had always used 503 so decided to keep 503 because using 429 might break people's services. Google decided to do the correct thing with their services and use 429 but of course they always have the option of telling you to switch to native GCS if the S3 client library can't handle 429. It doesn't seem like it would be wrong for botocore to add 429 to the retry list in standard mode -- it won't break AWS users but would allow people to use botocore on Google.

I think my initial confusion threw off this discussion. The 429 TooManyRequestsException is documented in the retry modes for Legacy, Standard, and by extension Adaptive. It is defined here in botocore.
Since 429 isn’t a documented S3 error code, my guess is that something in your integration relies on another service like Lambda. I thought you might be exceeding API rate limits but from this article it looks like that would result in a ThrottlingException or RequestLimitExceeded error instead. It could depend on the service. I’m going to close this issue but feel free to respond or create a new issue and we can continue to discuss.

I am using botocore in some code that connects directly to the bucket. Lambda is not involved.
I do not understand why you can't add 429 to the retry list explicitly. It won't harm anyone and will help Google users. Given the conversation on this ticket I have to abandon using botocore on Google and am rewriting my client to use google-cloud-storage APIs directly.

I fully agree with @timj and this should have been an easy fix. Sad for interop and software quality that it wasn't.

@tim-finnigan, would y'all be open to a pull request adding 429 to the list of retryable codes?

Reading this thread it is unclear to me whether 429 is retried or not.
@tim-finnigan wrote:

The 429 TooManyRequestsException is documented in the retry modes for Legacy, Standard, and by extension Adaptive. It is defined here in botocore.

In the linked documentation, it does include TooManyRequestsException in the list under "Standard mode’s functionality includes". But it does not specify error code 429, explicitly writing "Retry attempts on nondescriptive, transient error codes. Specifically, these HTTP status codes: 500, 502, 503, 504."
BUT in the linked _retry.json file, it has
    "too_many_requests": {
      "applies_when": {
        "response": {
          "http_status_code": 429
        }
      }
    },

Which suggests that it will be handled, where the OP indicates it is not.


Register 0.0.2

@JuliaRegistrator register
Second pre-release registration

Registration pull request created: JuliaRegistries/General/116147
Tip: Release Notes
Did you know you can add release notes too? Just add markdown formatted text underneath the comment after the text
"Release notes:" and it will be added to the registry PR, and if TagBot is installed it will also be added to the
release that TagBot creates. i.e.
@JuliaRegistrator register

Release notes:

## Breaking changes

- blah

To add them here just re-invoke and the PR will be updated.
Tagging
After the above pull request is merged, it is recommended that a tag is created on this repository for the registered package version.
This will be done automatically if the Julia TagBot GitHub Action is installed, or can be done manually through the github interface, or via:
git tag -a v0.0.2 -m "<description of version>" a6c487176198d3b1f3332cbc9977391e936a0f2e
git push origin v0.0.2


[ENH] evaluate_clusterers_by_problem alpha parameter for tests

Describe the feature or idea you want to propose
evaluate_clusterers_by_problem currently hard codes all tests of difference to a significance level of alpha = 0.05
Describe your proposed solution
it would be good to offer other options, such as 0.01 and 0.1
Describe alternatives you've considered, if relevant
No response
Additional context
No response

oops, wrong toolkit, its in tsml-eval!


Fixed opposite_coherence function

Previous versions were not able to implement opposite_coherence parameter because some code was missing. The missing code has been added to the RDK.js file.

I just realized that the RDK plugin is the only one with capital letters in the plugin file. Would you mind renaming, and fixing all the dependency issues that will create?

Sorry for the late response!
I've changed the names to all lowercase and fixed the dependency issues. Let me know if you need me to do anything else!

Awesome. Thanks!


remove notes file from render output.

resolve: https://github.com/istio/istio/issues/17039

LGTM, but for the future could you please follow the git commit message style? i.e. Capitalize first letter, no period at the end.

/cherrypick release-1.3

@ostromart: new pull request created: #287

In response to this:

/cherrypick release-1.3

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


Sample implementation?

I'm working with a Meteor app that handles cordova bits a bit differently. Do you have a standard cordova example app with this working that could be added to the repo?
It'd be handy to see an example

meteor add<EMAIL_ADDRESS>

Download google-services.json and GoogleService-Info.plist from Google Firebase Console, and place them following the directory below:

cordova-build-override
├── GoogleService-Info.plist
└── google-services.json

Confirm it's logging in Xcode by following this https://firebase.google.com/docs/analytics/ios/events#view_events_in_the_xcode_debug_console

Tested using Meteor 1.5.1


chore(storybook): upgrade storybook

Upgrade storybook! PTAL thank you 😄 🙏

late comment on this, but do we want to consider pinning the version to a specific version and not allow patch version updates with ^?  My reasoning on this is that this will insure consistency in whatever environment someone is installing the repo, and forces us to be more intentional about updating our package versions.

Hey @jfoo1984 ! Ooh that's a good question 💡 Patch versions don't have breaking changes, so it feels like it's pretty low risk to have slightly different patch versions across individuals' local environments? Or are there other things we should consider? Thank you!

That's a good point!  The main considerations I'd have here are absolute consistency across environments, and potential thrash of the package-lock.json (I'm not sure if that file is updated when higher patch versions are allowed).


Databases option for schema init

Option to allow for extracting specific schema from database instance, rather than all schemas

aah I see,can use --ignore-schema option

If you just want a single schema, use the --schema option. This is mentioned in the --help text for skeema init.

@evanelias thanks!


Roll engine 4106d847b098..bd988f6cc3d0 (4 commits)

git@github.com:flutter/engine.git/compare/4106d847b098...bd988f6cc3d0
git log 4106d847b098..bd988f6cc3d0 --no-merges --oneline
2019-08-02<EMAIL_ADDRESS>Roll src/third_party/dart 622ec5099f...9bb446aae1 (14 commits) (flutter/engine#10475)
2019-08-02<EMAIL_ADDRESS>Roll src/third_party/skia 149f3f197897..a800ec96f724 (15 commits) (flutter/engine#10474)
2019-08-02<EMAIL_ADDRESS>Roll fuchsia/sdk/core/linux-amd64 from 7LN8t... to oMu_X... (flutter/engine#10472)
2019-08-02<EMAIL_ADDRESS>Track detailed LibTxt metrics with LineMetrics(#10127)
The AutoRoll server is located here: https://autoroll.skia.org/r/flutter-engine-flutter-autoroll
Documentation for the AutoRoller is here:
https://skia.googlesource.com/buildbot/+/master/autoroll/README.md
If the roll is causing failures, please contact the current sheriff (franciscojma@google.com), and stop
the roller if necessary.

Auto-roller completed checks. About to merge.


Use proven and provided encryption algorithm

USEF is using NaCl to digitally sign the message data. Mind you, I'm not pretending this is an unsafe algorithm ! But rather that it's not proven to be safe. While there are loads of proven strong algorithms available out of the box, shipped with Java's JDK.
I presume NaCl has been chosen because it's fast compared to other algorithms. If this the reason, then its usage is unjustified. For Usef we're talking about low-volume traffic with lots of allowed latency.
Next to that USEF should use Java's SPI to use the encryption code, as it is meant to be. It allows fast switching between algorithms by not hard coding the encryption library api into the application's code.

NaCl/libsodium is prescribed by the USEF design. We will pass the suggestion to the design team.


Missing translations

Hi,
is it possible to find missing translations for models?

Hello,
There's no built in mechanism to do that. I'm afraid, you'll have to write some custom code to detect missing translations.

I've found https://github.com/glebm/i18n-tasks :) I think it maybe useful, but need some time to create custom adapter for hstore :)


Unable to build the package

Hi
I can't build as I can't found the package as the spark-1.5.2-mmx when I try to use the existing artifact 1.5.2 the compilation failed.
1/ Where the source or how can I build this artifact ?
2/ If I use this artifact is it working with a standard spark cluster that doesn't includes this
Thanks

Good question: https://github.com/metamx/spark/tree/v1.5.2-mmx
You should be able to replace the version in build.sbt with vanilla 1.6.1

See https://github.com/metamx/druid-spark-batch/issues/71for related


Refactor Source building

In #1058, we did one step from (dynamic factory + json) to a static enum world in order to have source type specific source params validation.
We are now half-way between two worlds.
Solution 1
Just go full enum.
The factory is a function of the enum.
Pros: Very simple
Cons: Does not separate the concern super well.
Note: If we go for that route, source_type() should return an enum too.
Solution 2
Use a SourceParams trait that can build a Source type (does the job of the factory) and do dark magic, like what @fmassot did for the IndexConfig deserialization.

@fmassot @guilload what do you think?

yes totally! I must say that @guilload stopped himself in the middle of the river to have something ready for 0.2 :)

Solution 1 or solution 2?

I was working around that code yesterday, and I'm leaning towards solution 1. source_type() does now return an enum. We can dispatch directly and statically in load_source. We can optionally keep the SourceFactory trait around to preserve the decoupling.


SyntaxError in /

Error in ClashLeaders
SyntaxError in /
The string did not match the expected pattern.
View on Bugsnag
Stacktrace
[native code]:0 - json

View full stacktrace
Created automatically via Bugsnag

An error linked to this issue has been marked as fixed in Bugsnag
SyntaxError in /


Set up monorepo package and put in prettier config

Create a leather-wallet prettier-config within the new monorepo, as a MVP package to test out the new monorepo.

Now that we have decided on a stack to use, the first step is to create a basic monorepo that we can use to share out prettier config.
The steps involved here are:

create  / clean up the demo monorepo and create a new pnpm workspaces monorepo
extract the .prettier config from the extenstion and host it as a package here
publish the package
consume the package in the extension and remove exisiting setup there


Bug fix: Add missing table config fetch for /tableConfigs list all

The original implementation incorrectly returned a list of table names.
Validated that API behaves as expected locally

Codecov Report

Merging #9603 (23827f5) into master (4caab2b) will decrease coverage by 44.08%.
The diff coverage is 0.00%.

@@              Coverage Diff              @@
##             master    #9603       +/-   ##
=============================================
- Coverage     70.03%   25.95%   -44.09%
+ Complexity     4947       44     -4903
=============================================
  Files          1936     1924       -12
  Lines        103475   103122      -353
  Branches      15714    15676       -38
=============================================
- Hits          72466    26762    -45704
- Misses        25904    73666    +47762
+ Partials       5105     2694     -2411

Flag
Coverage Δ

integration1
25.95% <0.00%> (+0.03%)
:arrow_up:

integration2
?

unittests1
?

unittests2
?

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...ler/api/resources/TableConfigsRestletResource.java
0.00% <0.00%> (-77.42%)
:arrow_down:

...in/java/org/apache/pinot/spi/utils/BytesUtils.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/spi/trace/BaseRecording.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/spi/trace/NoOpRecording.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/config/table/FSTType.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/config/user/RoleType.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/data/MetricFieldSpec.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...ava/org/apache/pinot/spi/stream/StreamMessage.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...java/org/apache/pinot/common/tier/TierFactory.java
0.00% <0.00%> (-100.00%)
:arrow_down:

...a/org/apache/pinot/spi/config/table/TableType.java
0.00% <0.00%> (-100.00%)
:arrow_down:

... and 1403 more

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

Seems we have tests on this wrong behavior.. Can you please take a look?


Move testable flag from OIS to triggers

https://api3dao.atlassian.net/browse/AN-332

Validator 0.4.0 template were already added in this commit on master, perhaps you can merge it first?


[RHPAM-3640] Configure Kafka JBPM Emitter from Operator -7.11.x

See:https://issues.redhat.com/browse/RHPAM-3640
7.11.x
Signed-off-by: desmax74<EMAIL_ADDRESS>Thanks for submitting your Pull Request!
Please make sure your PR meets the following requirements:

[x] Pull Request title is properly formatted: [RHPAM-XYZ] Subject
[x] Pull Request contains link to the JIRA issue
[x] Pull Request contains description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket
[x] Attached commits represent units of work and are properly formatted
[x] You have read and agreed to the Developer Certificate of Origin (DCO) (see CONTRIBUTING.md)
[x] Every commit contains Signed-off-by: Your Name<EMAIL_ADDRESS>- use git commit -s

let's hold for now, will merge everything together.


How to turn on manipulate scroll lock LED on PC Keyboard?

I have a TKL PC keyboard that have 2 manipulate LED, caps and scroll lock.
I wondering when I trigger a key to do a keystoke, the LED turn on so I can know its working?
I have looking manual or searching on this, all I found is something call "set_caps_lock_LED_state", I have try put value like 1, 0 or true, false but its not working even in "Add Rules" window have shown the rule I modified mean the code is working.
Hope I have some answer about this. Thanks.

I think current only Caps Lock LED manipulation has been implemented, neither num lock and scroll lock LED manipulation have been implemented yet.

It is a important issue though. If I can do something like toggle Macros with a scroll lock and show the status of it use that led, that would be nice.


Topic /lidar3d/points not publishing

Good afternoon @miguelriemoliveira.
Analtino and I were trying to run a calibration on our own. For that we were recording a bag file with simplebot, when we encountered a problem. The /lidar3d/points were no publishing, despite this lidar being called on the urdf and shown in the simulation. Instead, we had 2D lidar sensors publishing, as you can see on the picture.

The xaruco also does not appear on gazebo.
Do you have any idea on why this is?
Thank you for you attention

Hi @manuelgitgomes ,
I assume that this is with gazebo running
roslaunch simplebot_gazebo simplebot.launch
and
roslaunch simplebot_bringup bringup.launch
right?
can you run a
rostopic echo
to see if the lidar3d points have been advertised?
and then run a
rostopic hz
to see the frequency at which they are being published?

The xaruco also does not appear on gazebo.

I do not understand what you mean ...

right?

Exactly, those were the commands used.

to see if the lidar3d points have been advertised?

The topic is not publishing any message, both rostopic echo and rostopic hz warn me of that.

I do not understand what you mean ...

While the xaruco appears on RVIZ, it does not appear on gazebo. So it's not shown by the camera images and the 2D lidar points. That's seen in the image.

Hello! I have no acess to this repo! Can you invite me?

Hi @manuelgitgomes ,
I invited you and Analtino.

Thank you!

The issue is solved with the commit 16de3010a43101dbcb0d02ccd2ca9c62012f4c7c. It was also needed to install the velodyne-gazebo-plugins package with sudo apt-get install ros-noetic-velodyne-gazebo-plugins


Add Contributors Section in README

Contributors section give a kind of achievement feeling to the contributors when they see their profile in it. And we want every contributor to feel that moment.
Add contributors section at the end of the README

You can assign this to me.

Ok  @JanviRaina . Generate a PR for this issue within 2 days. If you face any issue, you can ask me .
Happy coding 😄


fix(legend): inherit legend rich text color from legend's options

Brief Information
This pull request is in the type of:

[x] bug fixing
[ ] new feature
[ ] others

What does this PR do?
Inherit the legend's rich text color from the legend's options.
Fixed issues

#18196

Details
Before: What was the problem?
Rich text within the legend was inheriting color from the theme instead of the colors configured in the legend.
After: How does it behave after the fixing?
The rich text within a legend is inheriting now the colors from the legend's configuration (legend.textStyle.color when the legend item is active and legend.inactiveColor when inactive). However, user is still able to set color in rich options which will override legend.textStyle.color.
The problem was fixed by specifying inheritColor option in createTextStyle function.
Document Info
One of the following should be checked.

[x] This PR doesn't relate to document changes
[ ] The document should be updated later
[ ] The document changes have been made in apache/echarts-doc#xxx

Misc
ZRender Changes

[ ] This PR depends on ZRender changes (ecomfe/zrender#xxx).

Related test cases or examples to use the new APIs
N.A.
Others
Merging options

[x] Please squash the commits into a single one when merging.

Other information

@Ovilia I've added a test case. Can you please review it?

@pissang Please help review this PR. I'm not quite sure.


500er Servererror

Hi i have downloaded the dhl php sdk,
i set all Data in the test.php but it cames a 500er servererror.
Anyone have ideas?
http://burnout-trade.de/burnout_dhl/test.php

Could be anything. Even a typo.
Check your error logs or prepend
ini_set('display_errors', 1);
ini_set('display_startup_errors', 1);
error_reporting(E_ALL);

to the script to find out.

Hey, you need to provide us more details, like the Messages from the Error logs (see @Mwni's Comment)
Else it could be anything... I close this right now, feel free to open a new issue with more details, anytime =)
Btw: Make sure you have the PHP-SOAP-Extension enabled and installed.


pointer widget fails to render properly

This is actual a free board isssue - issue 111.
https://github.com/Freeboard/freeboard/issues/111#issuecomment-109854385
A fix has been comitted to freeboard. Could I suggest an update to node-red-contrib-freeboard

I now use the latest version of freeboard, can you please check if this problem still persists with the newest version 0.0.6?

Problem still persists

Yes. I got same result.
Note:
express deprecated req.param(name, default): Use req.params, req.body, or req.query instead ../usr/local/lib/node_modules/node-red-contrib-freeboard/freeboard.js:101:11

I had a look at the proposed fix on freeboard issue 111 and like some of the other commenters, the files it references are beyond my technical capability to find :( Where do I need to look?


Added E-CPR

Created an E-CPR identifier, added a slice to MedComCorePatient.identifier:ecpr and added descriptive text.
#10

Hi Thea
Wish for a couple of very small changes:

change filename from MedComCoreE-CprIdentifier.fsh to MedComCore-eCprIdentifier.fsh
change Id: medcom-core-e-cpr-identifier to Id: medcom-core-ecpr-identifier
Thanks

E-CPR identifier created and a slice is added to MedComCorePatient.


Unable to change hero image

So sorry to bother you. Without any success I have been trying to trouble shoot why I am unable to change the hero image on my deployment.
My repo with ananke
At most I get a dark grey background instead of the hero image with the gargoyle. I have made changes to config.toml and featured image for content/_index.md without any luck.
Thank you very much for your help.

Hey, @Allen616 It looks like they image you put in your front matter is:
hero-light-festival.jpg' and the image you put in your images directory is: hero-light-festival.jpeg`
Note the difference in extension.
Cheers!

Many thanks. Apologies for the simple error.


Incorrect maximum number of GitHub repositories to connect (250 vs 50)

The page states:

You can connect up to 250 GitHub repositories to an Azure Boards project.

However, we've recently started receiving following error when trying to connect additional repositories:
You have exceeded the maximum number of repositories for creating a connection.
Please try selecting '50' repositories or less.

Did something change recently or the number was incorrect for a while?

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

ID: 04afcda8-8a01-6fda-8387-778feaba9fea
Version Independent ID: a0c518ee-dc43-42a6-07d9-150dfa8724c3
Content: Connect an Azure Boards or Azure DevOps project to a GitHub repository - Azure Boards
Content Source: docs/boards/github/connect-to-github.md
Product: devops
Technology: devops-agile
GitHub Login: @KathrynEE
Microsoft Alias: kaelli

@KathrynEE -- Kathryn, please review this change in private PR 4592.

@WilliamAntonRohm - I've sent an email to the PM to determine what the correct limit is. Please hold off until I get confirmation.
Thanks, Kathryn.

The limit should be 250. Is it possible you are selected more than 250 but the error message has a bug in it? Or are you selecting 51 and getting the error?

No we didn't select more than 250 - we don't have that many in our organisation (116).

@HappyRashair can you post some screen shots? We are not receiving any other reports of this issue. You can also email me directly if that helps<EMAIL_ADDRESS>

Sorry, but I'll have to close it for now - lots of our GH connections were actually redundant - for now we really need around 20.
I am unable to investigate it properly given the time and resources I have and, atm., it works without problems.
I will certainly get back with more info if the issue manifests itself again.
Sorry for wasting your time.

@HappyRashair -- Przemek, thank you for your follow-up, and no problem!


feat: follow a space

For Snapshot spaces only, we should replace favorite icon on space overview with a button "Follow" like this:

When followed, the label should be "Following" like this:

On mouse over if already followed, it should show "Unfollow" in red like this:

Instead of adding the space in the localStorage like favorite, it should send an action to Snapshot sequencer to do a follow. This require session key, or "alias". This is something we do on Snapshot, when someone try to follow a space for the first time, we generate an Ethereum private key and store it in local storage with a corresponding logged user address, then we sign a message from the logged wallet to give authority to the session key to be used to do action like follow. Then we can do a follow action with the session key (signing in the browser without going through the wallet). The session key should only be created when needed (on first follow), we don't want to have signing wall on user arrival.
We should also display the followed spaces on the very left sidebar, (along with favorites)

This can be done in a separated PR.

Should we extract the session key in another PR, or keep in this one ?
And do starknet address can also follow snapshot space, or do we restrict it to only EVM address ?

The more we separate the better is it IMO. And we should not support SX spaces or Starknet wallet.

So we should disable following for users logged in with starknet wallet ? Just disable or fallback to favorite like now ?

We can remove the button for Starknet user on Snapshot space

Do we also add followed spaces in the sidebar ?

Yes


Created a simple NodeJS Application

Created a simple NodeJS application to search and display movie info using a simple API call

Hi @Chayan-19,
Thanks for contributing to this repo.
Have a great Hacktoberfest!


Merge develop

Summary:

[x] Update (fix) the MUSICA tutorial URL [^b]
[x] CI updates (use provision-with-micromamba to make it faster [^a])

[^b]: changed sometime between #86's last commit and the merging of #86 (note link check failure for 10aca92)
[^a]: the docs build check was taking as long as 7 minutes before, now as short as 30 seconds... 🥳

Hi @jianheRCM, do you have time to review these updates today for this pull request? There are only two very small changes. And once this moves to main, we can move your regulatory options to develop. Thanks!

@zmoon I found one more problem that I think we need to fix, but wanted to make sure you agree. In this jupyter notebook I think we need to point to the melodies_monet.util folder
https://github.com/NOAA-CSL/MELODIES-MONET/blob/main/examples/process_obs/reformat_airnow.ipynb
So change
from util import write_util
to
from melodies_monet.util import write_util
I think all of these obs examples would need to be updated. Do you agree? I cannot remember now why we had changed this, but it may be just an artifact of all the reshuffling we have done recently and it used to work when these files were in a different location.
The last line of all these files also needs to be removed, since we are no longer putting these files in a data folder.
ls -lh data/*
I'll submit a pull request to develop and mark you as reviewer by Monday morning, but then let's get this into the main branch in this pull request too. Then we can push all of this to main before the meeting.

Hi @rschwant yes the imports should be updated. Those notebooks weren't updated when MM was made a Python package.
Your plan sounds good. We could also after that think about including them in the docs if you think that would be valuable. And/or in CI checks.


Python header generator now generates strings with escape characters.

This fixes some compile errors when trying to use Visual Studio as the lexer. Even for setups where this does compile, it also seems to correct some rendering issues with people's names with unicode characters such as @zaps166's name.

Actually, hold off on this commit for a moment. This hasn't yet been tested on Python 3.

Actually, just after I committed this, another commit 158c3fbf3cf0116cdf5d7b74237db6c56db24e4f introduced changes which also broke the MSVC compile path. It's marked as such for lacking an MSVC implementation in the preprocessor #ifdef, but it is separate issue.

Um...actually, does anyone know how to force SCons to use Python 3? I already know it works in Python 2.

What OS/distro are you on?

I've tested it, and there seems to be no problem....


[Tenergy] ProfileRegistrationException: Too Many Profiles

Tenergy crashes when the probe is enabled 3 times.

Generates this runtime error
Error: Unhandled Exception
Exception: ProfileRegistrationException: Too Many Profiles
Stack:

initialize() at /Users/canedo/eclipse-workspace/barbecue_app/ext/tenergy/lib/ciq-tenergy-solis-barrel/core/BluetoothDelegate.mc:87 0x10004114
initialize() at /Users/canedo/eclipse-workspace/barbecue_app/source/Controllers/BluetoothController.mc:17 0x100038a7
setMeatProbeEnabled() at /Users/canedo/eclipse-workspace/barbecue_app/source/Controller.mc:149 0x10005e20
onMeatProbeToggled() at /Users/canedo/eclipse-workspace/barbecue_app/source/Views/Smoke/SmokeSettingsInputDelegate.mc:76 0x10002034

I found this note in the BLE documentation related to registerProfile

Registration can fail if too many profiles are registered, the current limit is 3.

That explains why on the third enable we get the error above. This seems to be a limitation in the BLE implementation of connectIQ. If that session registers 3 times it crashes.
I wrapped the registerProfile call in a try-catch. However, this may introduce weird behaviors as the BLE is interpreting as 3 profiles registered for that session.

I'm going to move the registration out the constructor for the bluetooth delegate and into a method in the TenergySolis module. It only needs to be done once when the app starts regardless of how many times you connect/disconnect from the device. So really, it should only be call one time ever during the runtime of the app instance.

move the profile registration into an initialize() method in the TenergySolaris module. Now, when the controller initializes bluetooth it also calls this method (first) to make sure the profile is registered. This bluetooth setup (creating the controller) only happens once on app start so we shouldn't have any more trouble with this.

I see the initialize() call from Controller.mc:123 but it does not find it. It looks like the update to the repo does not automatically update the modules. Can you please push the changes also to the ext/tenergy module?

Working now. Thanks!
Closing.


Comment on CSS file

Issue Type: Bug
Select some part of code in .css file and press CTRL+/
It will comment
Select randomly (without particular line starting and ending)
And press
It will comment out the whole line including other lines you select, but we particularly want to comment out a specific part in a line. But we are not able to do that if we select that particular part
VS Code version: Code 1.50.1 (d2e414d9e4239a252d1ab117bd7067f125afd80a, 2020-10-13T15:06:15.712Z)
OS version: Windows_NT x64 10.0.19041

System Info

Item
Value

CPUs
Intel(R) Core(TM) i5-2400S CPU @ 2.50GHz (4 x 2494)

GPU Status
2d_canvas: enabledflash_3d: enabledflash_stage3d: enabledflash_stage3d_baseline: enabledgpu_compositing: enabledmultiple_raster_threads: enabled_onoop_rasterization: unavailable_offopengl: enabled_onprotected_video_decode: unavailable_offrasterization: unavailable_offskia_renderer: disabled_off_okvideo_decode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabled

Load (avg)
undefined

Memory (System)
7.83GB (3.75GB free)

Process Argv
--crash-reporter-id a07bb4c3-1052-4dc1-aa04-793782e9dca3

Screen Reader
no

VM
0%

Extensions (8)

Extension
Author (truncated)
Version

vscode-eslint
dba
2.1.13

prettier-vscode
esb
5.7.1

beautify
Hoo
1.5.0

vscode-docker
ms-
1.7.0

python
ms-
2020.9.114305

vsliveshare
ms-
1.0.3046

debugger-for-chrome
msj
4.12.11

LiveServer
rit
5.6.1

Ctrl +/ is called Toggle Line Comment
Try Toggle Block Comment to comment a range only.


What happens when they get to the end of the tutorial?

On the last slide, how do i get the "Complete" button to appear? There appears to be no way to close the tutorial other than pressing Skip, which is un-intuitive to the user

You can put Complete button anywhere you want: into layout of one (or all) pages, into custom layout of tutorial fragment, into your activity's layout. To hide a tutorial you need to remove a fragment using FragmentManager.

I don't understand? It would need to be inserted into the actual navigation panel at the bottom, where is the default functionality? It's as though someone forgot to add the ability to actually CLOSE the tutorial? I can of course add this myself but trying to see how we can finish the library so people can actually use it out of the box :)

Why don't you just change the text of the button at the last slide on your own? You can set a listener and check if user navigated to the last slide and then change the Skip text to Complete.

I did consider that too, however it'd be located on the left hand side, interfering with the established mental model that the left option is "back" as in typical on-boarding screens!

This minor changes you can add into your app on your own in 5 minutes. This library supports custom layouts so you can customize it in the way you want and place Skip or Complete button anywhere.

where is the default functionality?

There was no such functionality from the beginning.

It's as though someone forgot to add the ability to actually CLOSE the tutorial?

No one forgot anything. Tutorial fragment can be automatically removed after scrolling to the last, empty page. You can check this behavior by building one of the first commits and running on your device. Such functionality still present in latest build, but you need to enable it by doing this and disabling infinite scroll. This was the default behavior from the beginning. And it's very obvious that if you want to close tutorial you need just to remove the fragment.
In my opinion when you use some libraries in your app and you need to implement something that library not supports, you can first check if it's possible to do that without modification of sources. Our sample with custom layout [#1, #2] shows you that you can specify any layout you want, the only requirement is that ViewPager, PagerIndicator and skip button must be present in layout.
If you have your vision of how Tutorial should work, what other controls should be displayed and at what point of time, please share it with us. Maybe you have some good ideas that we can implement in this library.
Thanks for discussion.


[KYUUBI #1646] support flink get tables

Why are the changes needed?

How was this patch tested?

[ ] Add some test cases that check the changes thoroughly including negative and positive cases if possible

[ ] Add screenshots for manual tests if appropriate

[ ] Run test locally before make a pull request

Please run dev/reformat before commit

Codecov Report

Merging #1713 (0152243) into master (e2fb7d6) will decrease coverage by 0.19%.
The diff coverage is 76.36%.

@@             Coverage Diff              @@
##             master    #1713      +/-   ##
============================================
- Coverage     59.71%   59.52%   -0.20%
- Complexity      219      232      +13
============================================
  Files           267      268       +1
  Lines         13236    13304      +68
  Branches       1681     1688       +7
============================================
+ Hits           7904     7919      +15
- Misses         4653     4708      +55
+ Partials        679      677       -2

Impacted Files
Coverage Δ

...kyuubi/engine/spark/operation/SparkOperation.scala
82.89% <ø> (-0.24%)
:arrow_down:

...rg/apache/kyuubi/operation/AbstractOperation.scala
62.68% <0.00%> (-7.32%)
:arrow_down:

...ache/kyuubi/engine/flink/operation/GetTables.scala
86.48% <86.48%> (ø)

...ine/flink/operation/FlinkSQLOperationManager.scala
76.19% <90.00%> (+17.85%)
:arrow_up:

...g/apache/kyuubi/engine/flink/result/Constants.java
50.00% <100.00%> (ø)

...ache/kyuubi/engine/flink/FlinkProcessBuilder.scala
39.75% <0.00%> (-36.15%)
:arrow_down:

...cala/org/apache/kyuubi/metrics/MetricsSystem.scala
64.86% <0.00%> (-10.14%)
:arrow_down:

...ain/scala/org/apache/kyuubi/engine/EngineRef.scala
79.00% <0.00%> (-7.00%)
:arrow_down:

.../org/apache/kyuubi/jdbc/hive/KyuubiConnection.java
4.28% <0.00%> (-0.02%)
:arrow_down:

...la/org/apache/kyuubi/session/AbstractSession.scala
94.38% <0.00%> (ø)

... and 13 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 e2fb7d6...0152243. Read the comment docs.

thanks, merged to master


Info text not visible on Safari: also not visible in the DOM

Bug description
Whenever clicking the "info" icon on safari, the content is not visible.
The pop-over is not visible in the DOM either. Cannot be fixed with css.
🔔 Used to be blocked by https://github.com/ugent-library/biblio-backoffice/issues/1174, but this is fixed now.
On Safari:

No DOM update below script tag:

On Chrome and Firefox

DOM update: popover element appears below script tag:

Steps to reproduce

Go to backoffice
Click on a publication
Scroll down to the "Web of Science type" field in the "Description" tab under "Publication details"
Click on "info" button

Expected behaviour
Pop-over

System info

OS: MacOS Monterey 12.5.1
Browser:

Safari version 15.6.1 (176<IP_ADDRESS>.16)

Review which help text should stay and what should go

@mietcls it is present in the DOM, but not in the DOM of requested page,
which does not include the body that is present in the description section.
That page is requested separately via HTMX. Look for the same request
with suffix /description in the network log:

flash messages are for flash messages. Tooltips do not require the round trip to fetch the messages as they are static

@mietcls It does however "work" with data-bs-trigger="click", but then it won't go away anymore

Can I reopen this?
On backoffice.bibliodev.ugent.be I now see that the popover works, but when you want to navigate to a part of the text (e.g. to select a link in that box) the box closes again. I remember that we used popover in the past and then switched to on-click-behaviour exactly for problem

Not needed for this one, there are no links to be clicked or important text to be copied. For the ones that do need that, we do not have a popover.


Fix direct download certificate check initial delay

Description
This PR adjusts the DirectDownload certificate check initial delay. Since the time unit is in hours, I think it was a mistake to schedule the initial check to be in 60 hours after management servers start - the intention was likely 60 seconds.  We had turned this feature on to run hourly, not realizing we would have to wait 2.5 days to see it first run!
Types of changes

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

Feature/Enhancement Scale or Bug Severity
Feature/Enhancement Scale

[ ] Major
[x] Minor

Bug Severity

[ ] BLOCKER
[ ] Critical
[ ] Major
[ ] Minor
[x] Trivial

@blueorangutan package

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

@blueorangutan test

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

Actually for the line changes, packaging tests and the github actions based smoke/component tests are enough. Thanks @mlsorensen for the fix.

Trillian test result (tid-6508)
Environment: kvm-centos7 (x2), Advanced Networking with Mgmt server 7
Total time taken: 41508 seconds
Marvin logs: https://github.com/blueorangutan/acs-prs/releases/download/trillian/pr7494-t6508-kvm-centos7.zip
Smoke tests completed. 108 look OK, 0 have errors, 0 did not run
Only failed and skipped tests results shown below:

Test
Result
Time (s)
Test File


Question about part length

Hi,
Thanks a lot for the example, this solved me a big issue.
I just have a question regarding the calculation of the part length in StartNewPart method:
 _metadata.PartLength = Math.Min(MAX_PART_LENGTH, Math.Max(_metadata.PartLength, (_metadata.PartCount / 2 + 1) * MIN_PART_LENGTH));
https://github.com/mlhpdx/s3-upload-stream/blob/c3f274f71ff1406e25ac875cbab1fbc3adde20d7/S3UploadStream/S3UploadStream.cs#L100
What is the logic behind _metadata.PartCount / 2 + 1?

Good question.  Effectively this make the part size grow as more parts are added. To make the code flexible, the initial part size is small, which works for small to medium size files.  This code increases the part size so that upload of larger files also works well (there is a hard limit of 10,000 parts in S3 so the part size needs to be large to upload very large files).
It's a bit of a weak approach, but simple and I didn't want to distract from the main point of the library here by adding a "strategy pattern" to control it, which would be the best answer.
Make sense?

Thank you so much for the quick answer.


libtpu.so 1.5.0 or tpu-vm-tf-2.11.0-pod runtime bug

Click to expand!
Issue Type
Bug
Have you reproduced the bug with TF nightly?
No
Source
source
Tensorflow Version
2.11
Custom Code
Yes
OS Platform and Distribution
tpu-vm-tf-2.11.0-pod
Mobile device
No response
Python version
3.10
Bazel version
No response
GCC/Compiler version
No response
CUDA/cuDNN version
No response
GPU model and memory
No response
Current Behaviour?
It appears that when using `tf.data.Dataset` with `libtpu.so 1.5.0` and `tpu-vm-tf-2.11.0-pod` runtime, only half the system resources are being able to get utilized. For a `tpu-v4` if a dataset uses more than 200gb system ram, it will get killed (with just a missing context id provided, no detailed error even gets generated). This problem does not occur using `tpu-vm-tf-2.10.1-pod`. I am sorry I am unable to provide a standalone example but please review build flags / runtime image for `tpu-vm-tf-2.11.0-pod`.

Standalone code to reproduce the issue
Difficult to provide at this point

Relevant log output
No response

Could you please try to provide more debug details on this issue, it would help us to investigate further on this issue. Thanks!

This issue has been marked as stale because it has no recent activity. It will be closed if no further activity occurs. Thank you.

Closing due to lack of recent activity. Please update the issue when new information becomes available, and we will reopen the issue. Thanks!


Sending cookies with FetchTransport

I have a cookie set in the browser that I want be sent to the backend server. However the FetchClient does not support any customization. I want to add credentials: 'include' in the constructor of the fetch request that is being sent by the browser. How can I do this?

Probably something to be done here: https://github.com/oscartbeaumont/rspc/blob/36f60677d69ee4e7f382295a07a6a1de57c7ab8d/packages/client/src/legacyLinks/internals/httpUtils.ts#L132-L141

Workaround: Add credentials: “include” in node_modules/@rspc/client/dist/index.mjs:32

For now, that patch is probably the best workaround.
I am currently in the process of rewriting @rspc/client and once that is done there will be a super easy way to toggle this. In the meantime the options are to:

patch rspc source as you have shown (you can use patch-package if your working with a team).
upgrade to a beta npm release which are undocumented, have a very different API and have an API that is going to change majorly within the next week or so.
create a custom rspc transport by copying the fetch transport from the rspc source code and adding the fetch arg you need then pass it in when you initialise the client. The latest npm release is very different to the code that is in the main branch so you will need to copy the fetch transport from node_modules into your own project.

Sorry for the inconvenience here but I am hoping this new client will be a huge step forward for rspc and wanna get it right before I release it. I will leave this issue open until I have a release candidate of it out.

Cool. Glad to know this problem has already been accounted for. Will keep using the workaround for now.


Auto generate alert rules for any metric absence

Enhancement Proposal
Given a collection of alert rules, we may want to know that the metrics used for calculating the alerts are in fact still served.
Iiuc, if any metric of an expr is missing, the alert wouldn't fire.
This may happen when the workload is updated with a breaking change which removes/renames metrics.
In such cases it could be handy to get an alert. cos-tool could be used to scan a prometheus_alert_rules folder and generate a .rules yaml based on the metrics mentioned in the alerts.

This is not knowable without actually querying Prometheus at runtime, like the old Grafana charm used to do.
Even if we wanted to do this, it's not knowable which of these would be present regardless. Picking one from Mimir somewhat arbitrarily, we have absolutely no assurances that this metric will ever exist. At all. We are not using the upstream operator to deploy, so this metric may not be created. Picking from Mimir again, the way Metrics are created in Golang (and other client libraries are similar) is via promauto, which maps back through to some promhttp.Handler() at a higher level which actually serves the metrics.
But because any given metric doesn't exist at all/is not registered, potentially, until that code path is exercised, means that "until a user/admin accesses some HTTP route, some endpoint, sets some config option, some timer runs" that metric is absent, and may be absent forever if the application is configured differently, this is not reliable.
Even if it were, cos-tool generating rules for absences would result in rules which are not reflected in the Juju model at all. An admin looking at juju show-application|unit would not be able to infer where the autogenerated rule came from. Additionally, because it would not be in relation data when alerts() is invoked it would not make it into the workload container anyway without an additional side channel.

This is not knowable without actually querying Prometheus at runtime

Depends what you mean by "knowable". I meant to use absent or absent_over_time.
expr: absent(name1) or absent(name2) or ...
for: 30m

We wouldn't need to query ourselves.

we have absolutely no assurances that this metric will ever exist

I'm not sure it's a valid use case with our built-in alerts: we don't just dump anything we find and hope something would be picked up.

metric doesn't exist at all/is not registered, potentially, until that code path is exercised

Good point.  Arguably, metrics like HTTP codes are labeled, so if we do absent without any labels we should be good to go. But this won't necessarily be always the case.
From an on-call point of view, would it be valuable to know about absences for the price of several low-priority absent alerts (that would be grouped by the metric name and perhps with an inhibit rule)?

Depends what you mean by "knowable". I meant to use absent or absent_over_time.
expr: absent(name1) or absent(name2) or ...
for: 30m

That metric may be in a permanent state of absence if the code path is not executed. This is not a good or reliable strategy.

We wouldn't need to query ourselves.

We do if we want to know "does this metric exist at all, or has it ever?" Without actually querying Prometheus, it's Schroedinger's metric.

we have absolutely no assurances that this metric will ever exist

I'm not sure it's a valid use case with our built-in alerts: we don't just dump anything we find and hope something would be picked up.

We also don't know what users will do. At all. And our build in alerts have exactly the same Mimir alert based on a metric which may never exist.
It is far better to be conservative then to optimistically generate potentially meaningless alert rules which teach ops/admins that it's ok to ignore the ones which do come in.

metric doesn't exist at all/is not registered, potentially, until that code path is exercised

Good point. Arguably, metrics like HTTP codes are labeled, so if we do absent without any labels we should be good to go. But this won't necessarily be always the case.

No, we are not good to go. Arguably, metrics like HTTP codes should be labeled, but they are not required to be, the label is relatively freetext, and we do not have anywhere near the level of insight or control into user stories to make any statements about what is or is not good, particularly with a readily-available example of a rule which is more or less guaranteed to send an alert in one of our own charms.

From an on-call point of view, would it be valuable to know about absences for the price of several low-priority absent alerts (that would be grouped by the metric name and perhps with an inhibit rule)?

No, it would not be. It would teach admins/operators that the alert system is overly aggressive, and that many/most of the alerts are completely meaningless and can/should be ignored. From an on-call/eval point of view, it would be a negative value proposition to "know about" absences, run a query to check on them, discover that they were always absent, that they were not provided by the charm and that the COS stack had created red herrings on its own, etc.
The idea of creating some kind of mechanism for doing this in a very, very targeted way for a whitelist of rules may be ok, if we can figure out a mechanism for keeping its "responsibility" in relation data in the right place.


fab goldstone_init wipes out addons

This fixes a bug Alex found in the "fab goldstone_init" command.
You want to re-init your environment, so you do a goldstone_init again, and.... blam.

No changes to pylint scores.

Success with-and-without django-opentrail installed.
:+1:

:+1:


Plugin update for grails version 6.1.1 and jdk 11

Tasks that were done

This pull request presents a comprehensive refactoring of our plugin's unit tests, with the aim of ensuring full compatibility with the latest version of Grails.

Plugin update for grails version 6.1.1 and jdk 11

Create command for create-job

update documentation

Steps that remain to be taken

Generate documentation
Configure application publication

@Richardson-e  Could you please review this pull-request?

I Ran into an issue with the 2.0.13 version of the Quartz plugin when upgrading from Grails 4.1.1 -> 6.1.1, so I tried building a local version from @fernando88to branch and that fixed my failing tests - so it looks very promising!
Only thing is that when doing a gradle publishToMavenLocal the jar file had '-plain' added to the filename:
quartz-2.0.14.BUILD-SNAPSHOT-plain.jar
Expecting:
quartz-2.0.14.BUILD-SNAPSHOT.jar

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

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

@matrei Can you please look into this?

@matrei Can you please look into this?

@puneetbehl There is some overlap with #125.
@fernando88to Good with a rewrite of the tests to spock 👍 .
Can you create a new PR based on 3.0.x with only those?

@matrei Can you please look into this?

@puneetbehl There is some overlap with #125. @fernando88to Good with a rewrite of the tests to spock 👍 . Can you create a new PR based on 3.0.x with only those?

I am going to do


Allow proper usage of ^D

Right now this traps the user with a TypeError.

Covered by 166fcbc0c3267c3b63c603feb6a9371b1f030263.


Turn on institutional affiliation by default for registrations [ENG-2714]

Purpose
Draft registrations should have the users institutional affiliation by default.
Changes
Adding functionality and tests
QA Notes
Please make verification statements inspired by your code and what your code touches.

Verify all institutional affiliation is turned on by default for registrations
Verify

What are the areas of risk? N/A
Any concerns/considerations/questions that development raised? N/A
Documentation
N/A
Side Effects
N/A
Ticket
https://openscience.atlassian.net/browse/ENG-2714

It was discussed that it would be better to perform the institution copying in the api serializer instead of the model. Also it might be better to have a flag to do this so it doesn't break the existing workflow.

@Johnetordoff linter error blocking this from being merged

Closed in favor of https://github.com/CenterForOpenScience/osf.io/pull/9732


fix bug when error message overlaps with help fields

The auth_views.LoginView.as_view method doesn't provide a way to pass help texts, so they have been added in the login template but their position doesn't take into account possible error messages.
A way to address this is to put these help texts inside the for loop on the form, so that they're always facing the input fields

move help texts inside the form fields loop to match them with field name
remove unneeded .six overwrite
add missing </p> tags

Thanks!
(FWIW, the spec allows </p> to be omitted in many circumstances.)


cmd/compile: independent variables should be initialized in declaration order

http://play.golang.org/p/icbjgkx71B

got:
gc produces the initialization order: c b a .

want:
The variables b and c are independent of each other, and b is declared before c, so the
order should be: b c a .

gccgo reports the order: b c a .

Based on spec clarification https://golang.org/cl/99020043 (issue #6703).

Thank you for the filing @griesemer and @rsc!
Just like duplicate bugs #7320, #22326, it was fixed for Go1.13 by @mdempsky's CL 170062.
I shall thus close it.


Cannot package Nexus 9000v 9.2(4) and 9.3(9) qcow2 files - "did not find bios file in dir '.'"

On an Ubuntu 20.04 virtual machine (running on VirtualBox), I am unable to use boxen package to package NX-OS 9.2(4) and 9.3(9) Nexus 9000v qcow2 files.
christopher@ubuntu-vm:~$ BOXEN_DEV_MODE=1 BOXEN_LOG_LEVEL=debug boxen package --disk nxosv.9.2.4.qcow2
      info<PHONE_NUMBER> package requested for disk 'nxosv.9.2.4.qcow2'
     debug<PHONE_NUMBER> temporary directory '/tmp/boxen283121203' created successfully
     debug<PHONE_NUMBER> disks allocated for packaging
     debug<PHONE_NUMBER> packaging instance created
  critical<PHONE_NUMBER> error bundling required packaging files: inspectionError: did not find bios file in dir '.'
        🆘 finished unsuccessfully in 1 seconds
inspectionError: did not find bios file in dir '.'

christopher@ubuntu-vm:~$ BOXEN_DEV_MODE=1 BOXEN_LOG_LEVEL=debug boxen package --disk nexus9300v.9.3.9.qcow2
      info<PHONE_NUMBER> package requested for disk 'nexus9300v.9.3.9.qcow2'
     debug<PHONE_NUMBER> temporary directory '/tmp/boxen327059690' created successfully
     debug<PHONE_NUMBER> disks allocated for packaging
     debug<PHONE_NUMBER> packaging instance created
  critical<PHONE_NUMBER> error bundling required packaging files: inspectionError: did not find bios file in dir '.'
        🆘 finished unsuccessfully in 2 seconds
inspectionError: did not find bios file in dir '.'

I have validated that the SHA512 checksum of these qcow2 files match what is available on Cisco's Software Download website.
christopher@ubuntu-vm:~$ sha512sum nxosv.9.2.4.qcow2
369dac985ebd6ca12ff574f99072024762de8bdbfc8a81944460575b512321c77ac7d42a4d157191969dd8cf1a624fade040c657fbe021d71a5010e18d57f95f  nxosv.9.2.4.qcow2
christopher@ubuntu-vm:~$ sha512sum nexus9300v.9.3.9.qcow2
c53fd6892d80ded389ec47ff474ec48ccabcf8bef6e9e013dcffbf534d12c20f62f6a1b07f6ed1cad953ab270ba183b396fa40d0d7e0300fb2110ea514d7cde2  nexus9300v.9.3.9.qcow2
christopher@ubuntu-vm:~$

You need to provide the bios file. You can probably just google for n9kv OVMF.fd and find one, but I don't know what the licensing deal is with it and/or if there are any caveats with them so users are on their own for that.

Understood! I can confirm that after downloading the file named OVMF-X64-r15214.zip from here and placing it in the same directory as the nxosv.9.2.4.qcow2 file, Boxen was able to package it as expected. This appears to work for nexus9300v.9.3.9.qcow2 as well.
Thank you!


Fixing small typo (should say BGPConfiguration)

Description
Small documentation fix for BGPConfiguration doc.
Todos

[ ] Tests
[x] Documentation
[ ] Release note

Release Note
None required

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

Deploy preview for calico ready!
Built with commit 4efd73cb054260b8d65f6486f9fdbe9c34d11cd3
https://deploy-preview-2469--calico.netlify.com

@stevegaossou this LGTM. A couple of things:

We should make this change to the equivalent file in the master/ directory so that it applies to future releases as well.
The CLA bot wants you to sign the CLA :)

We should make this change to the equivalent file in the master/ directory so that it applies to future releases as well.

Done.

The CLA bot wants you to sign the CLA :)

Aaand done.

@stevegaossou Actually, since this PR went up we've added a v3.6 directory as well... could you add this change there?
Thanks!

@stevegaossou Actually, since this PR went up we've added a v3.6 directory as well... could you add this change there?

Done.


Some build issues on clang/GCC.

There is no CMake file but the example consists of only a single source file, which can be compiled on any system (let me know if this is untrue).

Seems to be a few VCism lingering in the code, exposed by trying
$ CC -std=c++20 tiny_bvh_test.cpp -o tiny_bvh_test

Where CC is either clang++-18 or g++ (14.2)
What I tried for fixes was:
+#include <cmath>
+#include <cstdlib>             // for rand
+#include <cstdio>              // for printf
+
 #define TINYBVH_IMPLEMENTATION
 #include "tiny_bvh.h"
-#include "stdlib.h"            // for rand
-#include "stdio.h"             // for printf

Otherwise the math functions are simply not defined in std::, so this solved some of the errors. The correct fix is probably to change it in the header file, but that still brought on some errors, so... didn't really explore that further.
One instance of __forceinline that I redefined to just inline
Then there are issues around align(N), specifically places that didn't use the ALIGN(n) macro:
diff --git a/tiny_bvh.h b/tiny_bvh.h
index c265dae..5e8efcd 100644
--- a/tiny_bvh.h
+++ b/tiny_bvh.h
@@ -463,10 +463,10 @@ void BVH::BuildAVX( const bvhvec4* vertices, const unsigned int primCount )
 {
        if constexpr (BVHBINS != 8) assert( false ); // AVX builders require BVHBINS == 8.
        // aligned data
-       __declspec(align(64)) __m256 binbox[3 * BVHBINS];                               // 768 bytes
-       __declspec(align(64)) __m256 binboxOrig[3 * BVHBINS];                   // 768 bytes
-       __declspec(align(64)) unsigned int count[3][BVHBINS] = { 0 };   // 96 bytes
-       __declspec(align(64)) __m256 bestLBox, bestRBox;                                // 64 bytes
+       ALIGNED(64) __m256 binbox[3 * BVHBINS];                         // 768 bytes
+       ALIGNED(64) __m256 binboxOrig[3 * BVHBINS];                     // 768 bytes
+       ALIGNED(64) unsigned int count[3][BVHBINS] = { 0 };     // 96 bytes
+       ALIGNED(64) __m256 bestLBox, bestRBox;                          // 64 bytes
        // some constants
        static const __m128 min4 = _mm_set1_ps( 1e30f ), max4 = _mm_set1_ps( -1e30f ), half4 = _mm_set1_ps( 0.5f );
        static const __m128 two4 = _mm_set1_ps( 2.0f ), min1 = _mm_set1_ps( -1 );
@@ -507,7 +507,7 @@ void BVH::BuildAVX( const bvhvec4* vertices, const unsigned int primCount )
        rootMin = _mm_xor_ps( rootMin, signFlip4 );
        root.aabbMin = *(bvhvec3*)&rootMin, root.aabbMax = *(bvhvec3*)&rootMax;
        // subdivide recursively
-       __declspec(align(64)) unsigned int task[128], taskCount = 0, nodeIdx = 0;
+       ALIGNED(64) unsigned int task[128], taskCount = 0, nodeIdx = 0;
        const bvhvec3 minDim = (root.aabbMax - root.aabbMin) * 1e-10f;
        while (1)
        {

The cast should move to the RAND_MAX:
tiny_bvh_test.cpp:18:47: warning: implicit conversion from 'int' to 'float' changes value from<PHONE_NUMBER> to<PHONE_NUMBER> [-Wimplicit-const-int-float-conversion]
   18 | float uniform_rand() { return (float)rand() / RAND_MAX; }
      |                                             ~ ^~~~~~~~

Once those fixes/workarounds were in place I got stumped at this:
$ clang++-18 -std=c++20 tiny_bvh_test.cpp -o tiny_bvh_test
In file included from tiny_bvh_test.cpp:12:
./tiny_bvh.h:447:10: error: member reference base type 'const __m128' (vector of 4 'float' values) is not a structure or union
  447 |         return a.m128_f32[0] * a.m128_f32[1] + a.m128_f32[1] * a.m128_f32[2] + a.m128_f32[2] * a.m128_f32[3];
      |                ~^~~~~~~~~
./tiny_bvh.h:447:26: error: member reference base type 'const __m128' (vector of 4 'float' values) is not a structure or union
  447 |         return a.m128_f32[0] * a.m128_f32[1] + a.m128_f32[1] * a.m128_f32[2] + a.m128_f32[2] * a.m128_f32[3];
      |                                ~^~~~~~~~~

Thank you. I fixed the issues; the code should now compile with
g++ -std=c++20 -mavx tiny_bvh_test.cpp -o tiny_bvh_test
(note the avx flag)
Can you verify / confirm this? Then I will close this issue.

With the following change clang and gcc both generates a binary, but unfortunately it crashes 9/10 times.
$ git diff
diff --git a/tiny_bvh.h b/tiny_bvh.h
index bdf8bdf..452543f 100644
--- a/tiny_bvh.h
+++ b/tiny_bvh.h
@@ -81,8 +81,8 @@ THE SOFTWARE.
 #include <cstdlib>
 #include <cmath>
 #define ALIGNED( x ) __attribute__( ( aligned( x ) ) )
-#define ALIGNED_MALLOC( x ) ( ( x ) == 0 ? 0 : _aligned_malloc( ( x ), 64 ) )
-#define ALIGNED_FREE( x ) _aligned_free( x )
+#define ALIGNED_MALLOC( x ) ( ( x ) == 0 ? 0 : aligned_alloc( ( x ), 64 ) )
+#define ALIGNED_FREE( x ) free( x )
 // TODO: Intel, Posix; see:
 // https://stackoverflow.com/questions/32612881/why-use-mm-malloc-as-opposed-to-aligned-malloc-alligned-alloc-or-posix-mem
 #endif
@@ -721,4 +721,4 @@ float BVH::IntersectAABB( const Ray& ray, const bvhvec3& aabbMin, const bvhvec3&

 #endif

-// EOF
\ No newline at end of file
+// EOF
$ clang++-18 -O2 -ggdb -march=native -std=c++20 -mavx tiny_bvh_test.cpp -o tiny_bvh_test
tiny_bvh_test.cpp:18:47: warning: implicit conversion from 'int' to 'float' changes value from<PHONE_NUMBER> to<PHONE_NUMBER> [-Wimplicit-const-int-float-conversion]
   18 | float uniform_rand() { return (float)rand() / RAND_MAX; }
      |                                             ~ ^~~~~~~~
/usr/include/stdlib.h:87:18: note: expanded from macro 'RAND_MAX'
   87 | #define RAND_MAX<PHONE_NUMBER>
      |                         ^~~~~~~~~~
1 warning generated.

$ ./tiny_bvh_test
nearest intersection: 1.124253 (found in 37 traversal steps).
$ ./tiny_bvh_test
Segmentation fault (core dumped)

And since I'm already going, a potential memory issue reported by valgrind.
clang binary (-O2):
==23932== Memcheck, a memory error detector
==23932== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al.
==23932== Using Valgrind-3.23.0 and LibVEX; rerun with -h for copyright info
==23932== Command: ./tiny_bvh_test
==23932==
nearest intersection: 1.124253 (found in 37 traversal steps).
==23932== Mismatched free() / delete / delete []
==23932==    at 0x484B549: operator delete(void*) (vg_replace_malloc.c:1131)
==23932==    by 0x10D738: ~BVH (tiny_bvh.h:268)
==23932==    by 0x10D738: main (???:60)
==23932==  Address 0x4eb6140 is 0 bytes inside a block of size 32,768 alloc'd
==23932==    at 0x484965F: operator new[](unsigned long) (vg_replace_malloc.c:729)
==23932==    by 0x109261: tinybvh::BVH::Build(tinybvh::bvhvec4 const*, unsigned int) (tiny_bvh.h:340)
==23932==    by 0x10D6BB: main (tiny_bvh_test.cpp:49)
==23932==
==23932== Mismatched free() / delete / delete []
==23932==    at 0x484B549: operator delete(void*) (vg_replace_malloc.c:1131)
==23932==    by 0x10D747: ~BVH (tiny_bvh.h:269)
==23932==    by 0x10D747: main (???:60)
==23932==  Address 0x4ebe180 is 0 bytes inside a block of size 262,144 alloc'd
==23932==    at 0x484965F: operator new[](unsigned long) (vg_replace_malloc.c:729)
==23932==    by 0x109275: tinybvh::BVH::Build(tinybvh::bvhvec4 const*, unsigned int) (tiny_bvh.h:342)
==23932==    by 0x10D6BB: main (tiny_bvh_test.cpp:49)

.. and GCC 14.2 at -O0
==24366== Memcheck, a memory error detector
==24366== Copyright (C) 2002-2024, and GNU GPL'd, by Julian Seward et al.
==24366== Using Valgrind-3.23.0 and LibVEX; rerun with -h for copyright info
==24366== Command: ./tiny_bvh_test
==24366==
nearest intersection: 1.124253 (found in 37 traversal steps).
==24366== Mismatched new/delete size value: 4
==24366==    at 0x484B9CF: operator delete(void*, unsigned long) (vg_replace_malloc.c:1181)
==24366==    by 0x10F4DD: tinybvh::BVH::~BVH() (tiny_bvh.h:268)
==24366==    by 0x10EA07: main (tiny_bvh_test.cpp:60)
==24366==  Address 0x4eb6140 is 0 bytes inside a block of size 32,768 alloc'd
==24366==    at 0x484965F: operator new[](unsigned long) (vg_replace_malloc.c:729)
==24366==    by 0x109AF7: tinybvh::BVH::Build(tinybvh::bvhvec4 const*, unsigned int) (tiny_bvh.h:340)
==24366==    by 0x10E930: main (tiny_bvh_test.cpp:49)
==24366==
==24366== Mismatched free() / delete / delete []
==24366==    at 0x484BA37: operator delete(void*, unsigned long) (vg_replace_malloc.c:1181)
==24366==    by 0x10F4DD: tinybvh::BVH::~BVH() (tiny_bvh.h:268)
==24366==    by 0x10EA07: main (tiny_bvh_test.cpp:60)
==24366==  Address 0x4eb6140 is 0 bytes inside a block of size 32,768 alloc'd
==24366==    at 0x484965F: operator new[](unsigned long) (vg_replace_malloc.c:729)
==24366==    by 0x109AF7: tinybvh::BVH::Build(tinybvh::bvhvec4 const*, unsigned int) (tiny_bvh.h:340)
==24366==    by 0x10E930: main (tiny_bvh_test.cpp:49)
==24366==
==24366== Mismatched new/delete size value: 32
==24366==    at 0x484B9CF: operator delete(void*, unsigned long) (vg_replace_malloc.c:1181)
==24366==    by 0x10F4F7: tinybvh::BVH::~BVH() (tiny_bvh.h:269)
==24366==    by 0x10EA07: main (tiny_bvh_test.cpp:60)
==24366==  Address 0x4ebe180 is 0 bytes inside a block of size 262,144 alloc'd
==24366==    at 0x484965F: operator new[](unsigned long) (vg_replace_malloc.c:729)
==24366==    by 0x109B5B: tinybvh::BVH::Build(tinybvh::bvhvec4 const*, unsigned int) (tiny_bvh.h:342)
==24366==    by 0x10E930: main (tiny_bvh_test.cpp:49)
==24366==
==24366== Mismatched free() / delete / delete []
==24366==    at 0x484BA37: operator delete(void*, unsigned long) (vg_replace_malloc.c:1181)
==24366==    by 0x10F4F7: tinybvh::BVH::~BVH() (tiny_bvh.h:269)
==24366==    by 0x10EA07: main (tiny_bvh_test.cpp:60)
==24366==  Address 0x4ebe180 is 0 bytes inside a block of size 262,144 alloc'd
==24366==    at 0x484965F: operator new[](unsigned long) (vg_replace_malloc.c:729)
==24366==    by 0x109B5B: tinybvh::BVH::Build(tinybvh::bvhvec4 const*, unsigned int) (tiny_bvh.h:342)
==24366==    by 0x10E930: main (tiny_bvh_test.cpp:49)

Can verify that with the following patch, it works now on both compilers.
Initial diff was wrong due to me not swapping the arguments in aligned_alloc():
diff --git a/tiny_bvh.h b/tiny_bvh.h
index bdf8bdf..452543f 100644
--- a/tiny_bvh.h
+++ b/tiny_bvh.h
@@ -81,8 +81,8 @@ THE SOFTWARE.
 #include <cstdlib>
 #include <cmath>
 #define ALIGNED( x ) __attribute__( ( aligned( x ) ) )
-#define ALIGNED_MALLOC( x ) ( ( x ) == 0 ? 0 : _aligned_malloc( ( x ), 64 ) )
-#define ALIGNED_FREE( x ) _aligned_free( x )
+#define ALIGNED_MALLOC( x ) ( ( x ) == 0 ? 0 : aligned_alloc( 64, ( x ) ) )
+#define ALIGNED_FREE( x ) free( x )
 // TODO: Intel, Posix; see:
 // https://stackoverflow.com/questions/32612881/why-use-mm-malloc-as-opposed-to-aligned-malloc-alligned-alloc-or-posix-mem
 #endif

$ clang++-18 -O2 -ggdb -march=native -std=c++20 -mavx tiny_bvh_test.cpp -o tiny_bvh_test
tiny_bvh_test.cpp:18:47: warning: implicit conversion from 'int' to 'float' changes value from<PHONE_NUMBER> to<PHONE_NUMBER> [-Wimplicit-const-int-float-conversion]
   18 | float uniform_rand() { return (float)rand() / RAND_MAX; }
      |                                             ~ ^~~~~~~~
/usr/include/stdlib.h:87:18: note: expanded from macro 'RAND_MAX'
   87 | #define RAND_MAX<PHONE_NUMBER>
      |                         ^~~~~~~~~~
1 warning generated.

$ ./tiny_bvh_test
nearest intersection: 1.124253 (found in 37 traversal steps).

Ouch, Microsoft reversed the arguments of that function? That's nasty... Good find, thanks!

Alright, fixed all of that. The warning on ILANE seems a mistake: it's a four-component array, and it's accessed with constants 0, 1, 2. There is no out-of-bounds access there.

Can verify that with the following patch, it works now on both compilers.
-#define ALIGNED_MALLOC( x ) ( ( x ) == 0 ? 0 : _aligned_malloc( ( x ), 64 ) )
-#define ALIGNED_FREE( x ) _aligned_free( x )
+#define ALIGNED_MALLOC( x ) ( ( x ) == 0 ? 0 : aligned_alloc( 64, ( x ) ) )
+#define ALIGNED_FREE( x ) free( x )
Ouch, Microsoft reversed the arguments of that function? That's nasty... Good find, thanks!

Note though that it's a different function; I changed to aligned_alloc (from C11) from _aligned_malloc. I think you missed that in your commit.
Still it's a bit nasty.

Hm I get errors for aligned_alloc. I switched to _mm_alloc, which should work with gcc and clang. Parameters are switched again. :(

This works, but on linux I need xmmintrin.h for _mm_free to be visible:
diff --git a/tiny_bvh.h b/tiny_bvh.h
index 8ad79b4..538ad82 100644
--- a/tiny_bvh.h
+++ b/tiny_bvh.h
@@ -80,6 +80,7 @@ THE SOFTWARE.
 // gcc
 #include <cstdlib>
 #include <cmath>
+#include <xmmintrin.h>

With that in place I think we're good to go:
$ clang++-18 -O2 -ggdb -march=native -std=c++20 -mavx tiny_bvh_test.cpp -o tiny_bvh_test && ./tiny_bvh_test
nearest intersection: 1.124253 (found in 37 traversal steps).

$ g++ -O2 -ggdb -march=native -std=c++20 -mavx tiny_bvh_test.cpp -o tiny_bvh_test && ./tiny_bvh_test
nearest intersection: 1.124253 (found in 37 traversal steps).

Awesome. Thanks for your help, great to have this compatible with g++ and clang.


More examples

We need more examples of various Robo usage. If you use Robo and you have nice build script in your Robofile, please paste it here, and I will add it to site.
Thanks

@jverdeyen sorry for a really long time for this response.
Actually there is a built in feature like
$this->stopOnFail() to do this

The example I really like: starting WebDriver in Docker container, starting PHP server, running acceptance tests
<?php
    public function testWebdriver($args = '', $opt = ['test|t' => null])
    {
        $test = $opt['test'] ? ':'.$opt['test'] : '';
        $container = $this->taskDockerRun('davert/selenium-env')
            ->detached()
            ->publish(4444,4444)
            ->env('APP_PORT', 8000)
            ->run();

        $this->taskServer(8000)
            ->dir('tests/data/app')
            ->background()
            ->host('<IP_ADDRESS>')
            ->run();

        sleep(3); // wait for selenium to launch

        $this->taskCodecept('./codecept')
            ->test('tests/unit/Codeception/Module/WebDriverTest.php'.$test)
            ->args($args)
            ->run();

        $this->taskDockerStop($container)->run();
    }
}
?>

:+1:

Nice!
I had a grin on my face:
$this->taskDockerStop($container)->run();

I created a doctrine console wrapper:
https://github.com/indigophp/robo-doctrine
Currently only some ORM commands are available, DBAL commands are coming.

I was wondering, if I can "fail" a task. For example, I only want to allow the 'package' task to be run when the user has checked out the master branch in git.
use Robo\Result;

class RoboFile extends \Robo\Tasks
{
    public function package()
    {
        $result = $this->_exec('git rev-parse --abbrev-ref HEAD');
        if ('master' !== trim($result->getMessage())) {
            $this->say('You can only package master branch!');
        }
        $this->say("This message shouldn't be printed");
    }
}

It stops the execution of robo, but not the ay I expected it to end. I tried exit(1) and return 1 but that doesn't seem to be the resulting exit code which I would have expected with robo package && echo $?. I'm not sure if that is the intention but I'd expect the exit to be 1 (or whatever I'd exit with).

@danielnitz feels like this is the wrong medium to be asking this question, but I believe you can use the static method Robo\Result::error, for example:
return Robo\Result::error($this, 'Oh no!');

and conversely, you can return a successful message:
return Robo\Result::success($this, 'It was a success!');

Note: I believe your RoboFile class must implement the  \Robo\Contract\TaskInterface class, which then also means you have to implement a run method

Closing due to lack of activity. Re-open as needed, or cross-reference from a new issue.


sign gui keeps blinking

hi, I installed SignGUI and integrated into my custom plugin.
but SignGUI doesn't show any lines and it keeps blinking.
And my mouse cursor is fixed to the center of the sign and I can't type anything.
versions:
sign-gui: v1.9.1
test server: paper 1.19.3 (no other plugins)
code:
`
@EventHandler
public void onPlayerJoin(PlayerJoinEvent event) {
    Player player = event.getPlayer();
    SignGUI s = new SignGUI()
        .lines("t", "e", "s", "t")
        .onFinish((p, lines) -> {
            return lines;
        }).open(player);
}

`
thanks in advance.

Thanks for reporting!
I will look at it later today.

That's intentional. If you return new lines in the function parameter of onFinish, the api will open these lines on a sign. If you want to close the sign, you have to return null.
That is also the behaviour described in the Javadoc of that function.

That's intentional. If you return new lines in the function parameter of onFinish, the api will open these lines on a sign. If you want to close the sign, you have to return null. That is also the behaviour described in the Javadoc of that function.

Hi, thanks for reply.
When I tried with the sample code in Readme.md, the sign still keep blinking.
new SignGUI()     .lines("§6Line 1", null, "§6Line 3")     .line(3, "Line 4")     .type(Material.DARK_OAK_SIGN)     .color(DyeColor.YELLOW)     .stripColor()     .onFinish((p, lines) -> {         if (!lines[1].isEmpty() && !lines[3].isEmpty()) {             player.sendMessage("Line 2: " + lines[1] + "\nLine 4:" + lines[3]);             return null;         } else             // Due to stripColor the sign won't display line 1 and 3 in orange after it has been closed once.             return lines;     }).open(player);
if I change my code to return null', no sign gui appears.  public void onPlayerJoin(PlayerJoinEvent event) {
Player player = event.getPlayer();
SignGUI s = new SignGUI()
.lines("t", "e", "s", "t")
.onFinish((p, lines) -> {
return null;
}).open(player);
}`
Sorry to bother you. I am quite new to minecraft development. Is it okay to use with PlayerJoinEvent?
FYI, what I try to build is 1) if a user connects to my server, a sign gui pops up 2) the user types some text 3) save the text to my server. (I made a custom log-saving plugin and I'm trying to integrate the sign-gui ) Thanks in advance.

The sample code should do the following: the sign keeps popping up until you wrote something in line 2 and 4.
As for your other code, maybe try this:
public void onPlayerJoin(PlayerJoinEvent event) {
    Bukkit.getScheduler().runTask(() -> {
        Player player = event.getPlayer();
        SignGUI s = new SignGUI()
            .lines("t", "e", "s", "t")
            .onFinish((p, lines) -> {
                return null;
            }).open(player);
    });
}

Thanks a lot! I tried your code but first it failed for me. But interestingly, it worked after I changed 1 tick into 20 tick. Thanks a million!


[META] docs design improvements

@amgando  I really want to take this and help with this.

Cleaning up issues in this repo and not sure what this ticket is specifically for. Closing :)


creating messages with two quotes doesn't work (JS errors out)

I don't think this is an issue as users shouldn't be able to make messages with two quotes in the first place.

I'm changing the quoting process to delete any quotes already in the message, so that the user can't accidentally have two quotes in one message.
(If I click quote on Message A and then click quote on Message B, then the quote for Message A will get deleted and the message will only have the quote for Message B)


dyld: Library not loaded

Instructions: Replace the template text and remove irrelevant text (including this line)
Describe the bug
dyld: Library not loaded: /System/Library/Perl/5.28/darwin-thread-multi-2level/CORE/libperl.dylib
Referenced from: /usr/local/Cellar/macvim/8.2-171/MacVim.app/Contents/MacOS/Vim
Reason: image not found
To Reproduce
Detailed steps to reproduce the behavior:

Run mvim -v

Environment (please complete the following information):

Vim version: 8.2-171
OS: macOS Big Sur 11.4 (20F71)
Terminal: iTerm2

Additional context
brew install macvim

I see here few issues.
First, macOS updated Perl while homebrew hasn't recompiled a binary. I'd blame to them. And you need to install from sources (brew install -s)
Second, binary from GitHub isn't really prepared for version of Perl as it used on a wide range of systems.

brew uninstall macvim && brew install -s macvim did the trick. Thanks @eirnym


The latest binaries are quite old. Need to build and post new binaries.

Hate to bother anyone, but I also believe that a new binary release would help a lot of people. Otherwise people have to install a VS demo (on windows).

While I'm no longer maintaining this project myself, I am still taking PRs, and so I should actually at least be compiling new binaries once in a while. Thanks for the reminder, I'll try and upload a new release in the next week or so.

I hate to bug you, but here's a friendly reminder to compile a new release. Thank You! XD


Refs #33690 -- Added missing data-theme selector to example in theming support docs.

From 4.2 on, the Admin Theming example at line 2806 was missing the html[data-theme="light"] part of the html[data-theme="light"], :root CSS selector in the provided example code.

@wshayes Thanks :+1: Welcome aboard :boat:


⚠ Anthelion has degraded performance

In b25c5e6, Anthelion ($ATH) experienced degraded performance:

HTTP code: 200
Response time: 5485 ms

Resolved: Anthelion performance has improved in 5dbf742 after 412 days, 21 hours, 32 minutes.


Cannot install gem from repository

sudo gem install huginn_mattermost_urls_to_files -s https://github.com/paul-sx/huginn_mattermost_urls_to_files
yields...
Unable to download data from https://github.com/paul-sx/huginn_mattermost_urls_to_files/ - bad response Not Found 404 (https://github.com/paul-sx/huginn_mattermost_urls_to_files/specs.4.8.gz)

I'm not sure how to set up the repo to work with that command, but here's other options to get it working.
Try a Gemfile
source 'https://rubygems.org'
gem 'huginn_mattermost_urls_to_files', git: 'https://github.com/paul-sx/mattermost_urls_to_files'

Then do bundle install
Build and install the gem file
git clone https://github.com/paul-sx/huginn_mattermost_urls_to_files.git
cd huginn_mattermost_to_files
gem build huginn_mattermost_to_files.gemspec
gem install huginn_mattermost_to_files-0.1.gem

Let Huginn do it when it comes up (.env file with docker compose)
ADDITIONAL_GEMS=huginn_mattermost_urls_to_files(git:https://github.com/paul-sx/huginn_mattermost_urls_to_files.git)

Thanks! Worked.


CPU Implementation for Somigliana

Implemented a CPU Version for Somigliana Coordinates:
⇾ Restructuring of the Somigliana Package to accommodate both CPU and GPU version.
⇾ Automatically choose the GPU version if Cuda is available, and the CPU version if there is no Cuda support.
⇾ Renamed cuda_impl.h into green_core.h (.cc .cu .inl).
⇾ Removed unused code that added the Fortran Dependency from Somigliana.
⇾ Added the additional dependencies to VCPKG (No manual installation of CGAL, LAPACK and BLAS necessary)
⇾ Updated the README in regard to the no longer needed installation of CGAL, LAPACK, BLAS and Fortran.

Thanks a lot for enabling Somigliana Coordinates for Windows users :)
The only issue is that some of your changes seem to trigger unicode compilation for MSVC. So, you should enforce utf-8 compilation for MSVC using something like:
# Force MSVC to use utf-8
add_compile_options("$<$<C_COMPILER_ID:MSVC>:/utf-8>")
add_compile_options("$<$<CXX_COMPILER_ID:MSVC>:/utf-8>")

in the root CMakeLists.txt, where the compilation using MSVC is controlled.
Best regards,
Daniel