[CARBONDATA-2033]Support user specified segments in compation

Be sure to do all of the following checklist to help us incorporate
your contribution quickly and easily:

[ ] Any interfaces changed?
no

[ ] Any backward compatibility impacted?
no

[x] Document update required?
Yes, data-management-on-carbondata.md has been updated.

[x] Testing done
Please provide details on
- Whether new unit test cases have been added or why no new tests are required?
yes
- How it is tested? Please attach test report.
test on cluster with 7 nodes
- Is it a performance related change? Please attach the performance test report.
no
- Any additional information to help reviewers in testing this change.

[ ] For large changes, please consider breaking it into sub-tasks under an umbrella JIRA.

@chenliang613
For question 1:  I thought minor compaction are mainly used in auto-merging scenario. But after reconsidering this feature, maybe it's better to support both major and minor compaction. I will add support of minor compaction soon.
For question 2: I will follow your advice and modify the syntax to keep consistent syntax as "query with specified segments".

@ravipesala  Compacting adjacent segments is certainly the best practice in most cases. But is it not flexible enough to take it as  a mandatory rule?

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4022/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2778/

retest this please

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4026/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2781/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4030/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2786/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/2840/

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4085/

@Xaprice  Currently Minor and Major compaction has fixed meaning, minor is based on frequency of segments and Major is based on size. So better to not to change the current meaning.
Also CARBON_INPUT_SEGMENTS will impact only read query but will not impact any other DDL/DML.
So you can add a new compaction type CUSTOM and pass the required segments in the same command, so that it will not create any confusion.
so command can be
ALTER TABLE tablename compact 'CUSTOM' '1, 2, 3, 4'
It is also required to mention in documentation that it will not respect other features like preserve_segments, size etc. Also invalid segments in list are ignored. Also CUSTOM compacted segments will not participate in minor compaction triggered later.

@Xaprice @chenliang613 @ravipesala @gvramana
I think the syntax of segment compaction should be similar with that of other management on segment.
Currently in carbondata, we delete segment using syntax:
DELETE FROM TABLE CarbonDatabase.CarbonTable WHERE SEGMENT.ID IN (0,5,8)

And
DELETE FROM TABLE CarbonDatabase.CarbonTable WHERE SEGMENT.STARTTIME BEFORE '2017-06-01 12:05:06'

So, we can imitate the above syntax and get the followings:
ALTER TABLE [db_name.]table_name COMPACT 'MINOR/MAJOR' WHERE SEGMENT.ID IN (0,5,8)

And
ALTER TABLE [db_name.]table_name COMPACT 'MINOR/MAJOR' WHERE SEGMENT.STARTTIME BEFORE '2017-06-01 12:05:06' AND SEGMENT.STARTTIME AFTER '2017-05-01 12:05:06'

We can support compact segment by specifying IDs and dates.

@gvramana
I think ‘major’ and ‘minor’ is enough to describe compaction, there is no need to add another on. And 'custom' is somewhat ambiguous.
As it is described in readme,
In Major compaction, multiple segments can be merged into one large segment. User will specify the compaction size until which segments can be merged.

The previous (default without condition) major compaction is size based, carbondata choose the segments by size. And for the newly major compaction (with condition), we specify the segments and let carbondata merge them into one large segment. They are no different. So we don't need an another compaction type.

I agree with @gvramana

We should not use Major/Minor compaction type as they have a specific meaning and both are controlled by the system for taking decisions whether segment is valid to be compacted or not.
We should not use carbon.input.segments.default.seg_compact to set the segments to be compacted.
We should introduce a new compaction type in the DDL 'CUSTOM' as suggested above because it is something like force compaction for the given segments as it will not check for size and frequency of segments. We can work on using the below syntax for custom compaction.

ALTER TABLE [db_name.]table_name COMPACT 'CUSTOM' WHERE SEGMENT.ID IN (0,5,8)
Once a table is compacted using Custom compaction, then minor compaction does not hold good for the custom compacted segment. Custom compacted segment should only participate during major compaction if it satisfies the major compaction size property.

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3049/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/4293/

I agree with @gvramana

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/5182/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/3972/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/4185/

retest this please

SDV Build Fail , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4500/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/4188/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/5362/

Build Failed with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/4220/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/5387/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/4222/

Build Failed  with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/5389/

@manishgupta88, I've submitted some changes, have a look please.

LGTM...can be merged once build is passed
Please raise a sub-jira task under the same jira to track the Custom compaction implementation for child tables/datamaps and add the jira link link here as we need to implement custom compaction for child tables/datamaps also.

Build Success with Spark 2.1.0, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder1/5460/

Build Success with Spark 2.2.1, Please check CI http://<IP_ADDRESS>:8080/job/ApacheCarbonPRBuilder/4296/

I've raised a sub-task for custom compaction for child tables/datamaps:
https://issues.apache.org/jira/browse/CARBONDATA-2412

retest sdv please

SDV Build Success , Please check CI http://<IP_ADDRESS>:8080/job/ApacheSDVTests/4626/

LGTM


istioctl analyze shows EnvoyFilter errors

~/istio-1.4.3 🏎  $ istioctl x analyze --use-kube
Error [IST0106] (EnvoyFilter tcp-stats-filter-1.5.default) Schema validation error: Envoy filter: unknown message type "udpa.type.v1.TypedStruct"
Error [IST0106] (EnvoyFilter tcp-stats-filter-1.5.default) Schema validation error: Envoy filter: unknown message type "udpa.type.v1.TypedStruct"
Error [IST0106] (EnvoyFilter tcp-stats-filter-1.5.default) Schema validation error: Envoy filter: unknown message type "udpa.type.v1.TypedStruct"
Warn [IST0102] (Namespace default) The namespace is not enabled for Istio injection. Run 'kubectl label namespace default istio-injection=enabled' to enable it, or 'kubectl label namespace default istio-injection=disabled' to explicitly mark it as not needing injection
Error: Analyzer found issues.

Bug description
[ ] Configuration Infrastructure
[ ] Docs
[ ] Installation
[ ] Networking
[ ] Performance and Scalability
[ ] Policies and Telemetry
[ ] Security
[ ] Test and Release
[ X ] User Experience
[ ] Developer Infrastructure
Expected behavior
I do not expect to see any errors
Steps to reproduce the bug
Run istioctl x analyze --use-kube with 1.4.3 Istio
Version (include the output of istioctl version --remote and kubectl version and helm version if you used Helm)
client version: 1.4.3
control plane version: 1.4.3
data plane version: 1.4.3 (5 proxies)
How was Istio installed?
Managed Istio on IKS
Environment where bug was observed (cloud vendor, OS, etc)
IKS

How did you get a 1.5 envoy filters in 1.4 cluster?

user error - contamination from an old install. Thanks


fatal error: 'Flutter/Flutter.h' file not found

Before the Upgrade to the newest Flutter version this project was working fine with flutter run
Steps to Reproduce

Upgrade to Flutter Beta version 0.11.9
Flutter run

Logs
Error output from Xcode build:
↳
    ** BUILD FAILED **

Xcode's output:
↳
    In file included from /Users/christian/Documents/coding/fluttertest2/testing2/ios/Runner/GeneratedPluginRegistrant.m:5:
    /Users/christian/Documents/coding/fluttertest2/testing2/ios/Runner/GeneratedPluginRegistrant.h:8:9: fatal error: 'Flutter/Flutter.h' file not
    found
    #import <Flutter/Flutter.h>
            ^~~~~~~~~~~~~~~~~~~
    1 error generated.

flutter doctor

[✓] Flutter (Channel beta, v0.11.9, on Mac OS X 10.14.1 18B75, locale en-TH)
    • Flutter version 0.11.9 at /Users/christian/documents/coding/flutter
    • Framework revision d48e6e433c (2 days ago), 2018-11-20 22:05:23 -0500
    • Engine revision 5c8147450d
    • Dart version 2.1.0 (build 2.1.0-dev.9.4 f9ebf21297)

[✓] Android toolchain - develop for Android devices (Android SDK 28.0.1)
    • Android SDK at /Users/christian/Library/Android/sdk
    • Android NDK location not configured (optional; useful for native profiling support)
    • Platform android-28, build-tools 28.0.1
    • Java binary at: /Applications/Android Studio.app/Contents/jre/jdk/Contents/Home/bin/java
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)
    • All Android licenses accepted.

[✓] iOS toolchain - develop for iOS devices (Xcode 10.1)
    • Xcode at /Applications/Xcode.app/Contents/Developer
    • Xcode 10.1, Build version 10B61
    • ios-deploy 1.9.4
    • CocoaPods version 1.5.3

[✓] Android Studio (version 3.1)
    • Android Studio at /Applications/Android Studio.app/Contents
    • Flutter plugin version 27.0.1
    • Dart plugin version 173.4700
    • Java version OpenJDK Runtime Environment (build 1.8.0_152-release-1024-b01)

[✓] VS Code (version 1.29.1)
    • VS Code at /Applications/Visual Studio Code.app/Contents
    • Flutter extension version 2.20.0

[✓] Connected device (1 available)
    • iPhone XR • E4ABEEC1-46B5-4379-8788-EF89762F0008 • ios • iOS 12.1 (simulator)

Switched back to Master channel after reading this https://github.com/flutter/flutter/issues/23186  , project works again now.
But maybe good for you guys to know that the Beta channel has this error again.

Thanks for the update.
I'm going to close because this is unlikely a Flutter bug.
This is more like a version conflict of iOS dependencies (plugins)
flutter clean or pod install (in ios/) might already fix this (or some of the other suggestions made in several similar issues)

Hey there! I am having this exact issue no matter which channel I use. Unfortunately I have tried many different methods of fixing including those @zoechi mentioned, and from #23186 and . But no matter what I do, creating a new flutter project or trying to run an existing project created on an earlier version of flutter results in the error described by @ChristBKK... Any thoughts would definitely be appreciated.


hyprexpo: hyprland error at startup

Hyprland complains about hyprexpo:expo not existing for half a second at startup, or until the next hyprctl reload if autoreload is disabled.
Can I prevent this from happening in any way?

I have a plan for this in hyprlang, but for now, no. It's an open issue in hl.

should I open an issue there, just to have somewhere to track this?

you can open an issue in hyprlang if you agree with my idea of something along the lines of
# hyprlang push noerror

bind = SUPER,A,thismightbegone,

# hyprlang pop noerror

Uhm, so basically explicitly declaring a section as "unsafe"
Why not just borrow C's preprocessor syntax? And mix it with rust's unsafe naming, just because
#unsafe

somerrorcausingline

#endunsafe

Sure that would make sense

I hate rust, but if the general idea sounds reasonable feel free to open an issue


optimize: optimize set server port

Signed-off-by: slievrly<EMAIL_ADDRESS>
Ⅰ. Describe what this PR did
optimize: optimize set server port
Ⅱ. Does this pull request fix one issue?

Ⅲ. Why don't you add test cases (unit test/integration test)?
Ⅳ. Describe how to verify it
Ⅴ. Special notes for reviews

Codecov Report

Merging #3907 (22a4434) into develop (0750bd9) will decrease coverage by 0.01%.
The diff coverage is 0.00%.

:exclamation: Current head 22a4434 differs from pull request most recent head ec68f00. Consider uploading reports for the commit ec68f00 to get more accurate results

@@              Coverage Diff              @@
##             develop    #3907      +/-   ##
=============================================
- Coverage      40.72%   40.71%   -0.02%
  Complexity      3060     3060
=============================================
  Files            682      682
  Lines          22925    22935      +10
  Branches        2850     2853       +3
=============================================
  Hits            9337     9337
- Misses         12716    12726      +10
  Partials         872      872

Impacted Files
Coverage Δ

...ta/core/rpc/netty/AbstractNettyRemotingServer.java
0.00% <ø> (ø)

.../io/seata/core/rpc/netty/NettyServerBootstrap.java
0.00% <0.00%> (ø)

server/src/main/java/io/seata/server/Server.java
0.00% <ø> (ø)

...c/main/java/io/seata/server/ServerApplication.java
0.00% <0.00%> (ø)

...main/java/io/seata/server/env/ContainerHelper.java
0.00% <0.00%> (ø)

.../src/main/java/io/seata/server/env/PortHelper.java
0.00% <0.00%> (ø)


am-time-ago directive is not refreshing time count start point when angular change time source.

I have:

when I save "answer" it get new lastModifiedDate value, but am-time-ago didn't recognize it.
I have to press F5, how it can be automatic?

Hi, can you please create a plunker example where we can see the issue?
It could be caused, for example, by forgetting to invoke Angular.JS digest cycle, storing the result in a different variable (name mis-spell), etc., so it is only possible to help if you can show a complete example which reproduces the issue.
Thanks!

Closing issue due to inactivity


Remove abort_on_exception in favor of error handler

This is an attempt to solve https://github.com/zendesk/ruby-kafka/issues/312 and https://github.com/zendesk/ruby-kafka/issues/357.
Instead of aborting the process when an error is raised, we can provide an error handler that allows us to do something with it. This lib will already ensure the async producer is running each time we call #produce, so with an error handler, there's no need to use abort_on_exception.
If no custom error handler is provided, a default error handler is used that will log the error and its backtrace. If you're using a service like honey badger (which is what we use), you can provide your own error handler like the following:
error_handler = lambda { |error, _payload| ::Honeybadger.notify(error) }
producer = kafka.async_producer(error_handler: error_handler)
...

Now you can receive alerts when an error within your async producer occurs without your app crashing.
Here are a few questions:

The structure for the error handler is lambda { |error|, payload| } where payload may be nil. I figured it was worth having if you wanted to extract some information from it when logging errors, but it might not be very clear that the payload is not always available. Should I leave it or change it? Thoughts?
Since the logger is assigned at the instance level (not library/ class level), I create the error handler in the constructor. Don't love it, but I think it's better than making logger a param for the error handler. Thoughts?
Future idea: It's a trade-off, but you could add a supervisor thread that ensures the async producer worker thread is running. It's an additional thread per async producer, but it would mean you don't need to wait for someone to call #produce before restarting any workers that crashed. Thoughts?

Thanks!

Looks like that functional test is flaky. I don't have permissions to restart the CI. That last commit only adds rubydoc comments.

I think an exception tracker is the wrong place to track these errors – they're not exceptional, and they may happen in very large numbers from time to time. Before proceeding with this, are you using a monitoring system like Grafana, Datadog, or Librato?

@dasch That may be true for errors during a shutdown, but if there's an error that occurs that threatens to abort the VM, then I think there should be a mechanism to handle it. Since a lot of users have different use-cases, it's easier to let the user provide their own handler vs bake something rigid into the lib.
For our rabbitmq tooling we send metrics to grafana (timers, counters, etc) and exceptions to honeybadger.

What I'm saying is that the async producer should auto-heal whenever possible – I think restarting after a sleep would be the best fallback in cases where there's no way to gracefully handle the error. However, I don't think the user should have to configure a callback for this. Errors are already being sent to Statsd, and I strongly suggest you use that to set up monitoring.

@dasch I see what you mean about the error handling via instrumentation:
        rescue Kafka::Error => e
          @instrumenter.instrument("topic_error.producer", {
            topic: message.topic,
            exception: [e.class.to_s, e.message],
          })

But this doesn't give access to the backtrace of the error. It's a simple fix though. Would that be an OK change to make?
Additionally, would you prefer it if I used the same instrumenter in the async producer to be able to remove the abort_on_exception? The async producer only reports simple count metrics like number of dropped messages, etc. As long as I can subscribe to those messages and report them out, I'm 👍 .

Let me look into an alternative to abort_on_exception.

Would you care to take a look at https://github.com/zendesk/ruby-kafka/pull/432?


Uses audio property of video to convert to audio

Resolves #141
Requires every audio extractor that needs a file on disk to check if the AudioStim has a filename, and write a temporary one to disk if it doesn't.

Changes Unknown when pulling 9030d7efa92ba3ed960b24b5acb5e26a5e4d44b5 on video-to-audio into ** on master**.

Following on the above, I think a reasonable way to handle this is to have the AudioStim have a method that returns a context manager that automatically removes the file when the with block ends. That way both the creation and deletion of the tempfile are handled in one place.
If you don't have time to get to this before you leave, I'll just merge as-is and we can revisit this later.


feat(telemetry): Send logs to OTel collector directly using OTel libraries

This is the other way we could do this compared to #2514 .

I've convinced myself that this is the right approach compared to #2514. @lann / @itowlson this is ready for a review from an implementation perspective.


Add support for file transformers

Would make it possible to compile static files on-the-fly, etc., like Sass, Stylus...
Use filestats to determine if content has changed, and then serve accordingly...

This will probably be its own plug-in: https://github.com/angel-dart/barback


Add Bouncy Castle - Cryptographic C# API

Hi @juancri
Thank you for your contribution. I can not merge this PR, because it doesn't comply with contribution guidelines and quality standard. Bouncy Castle is too outdated and not maintained any more.

Sadly, this library implements a lot of useful algorithms. Do you think a section for unsupported libraries could be added? It may include a big warning.

I agree with @juancri, having a section that comes with a warning is a fantastic idea.

Yes, you're right. But we need to define some strict rules and guidelines for this section first.

The main idea is to keep only extremely useful but unsupported projects in the list.

Could I suggest a second markdown file linked to in the primary of old and unsupported libraries?

Sounds good for me :+1:

By the way, take a look at the bouncy castle git repository:
https://github.com/bcgit/bc-csharp
It seems to be updated regularly and maintained.

:open_mouth: This looks interesting.
OK. Let's add link to git repo instead of website, which looks dead. It will be much less confusing for people.
@juancri Update PR and I will merge it

@juancri will you update your PR so I can merge it?

Close because of inactivity


[QBO Export] Push successful report exports to NewDot

Part of QBO Export and Error Handling in NewDot
Main issue: https://github.com/Expensify/Expensify/issues/350150
Doc section: https://docs.google.com/document/d/1aQl-AK_F6IqszWYG2aEllTsD5x3h4b8Zu0XEG0LuQ08/edit#heading=h.gkhj45heoocs
Project: #wave-collect
Feature Description
As described in the doc, we need to

Call a new MarkAsExported in Auth that

adds an EXPORTINTEGRATION action to the report
clear any existing RBR on the report
clear the exportFailed rNVP

update the copy for EXPORTINTEGRATION actions to change “reimbursable” -> “out of pocket” and “non-reimbursable” -> “company card” in Web-E and Auth.

Manual Test Steps
Prerequisites

Collect workspace with an admin and member
Setup QBO integration connection

Steps

As the member, submit an expense report with expenses
Log in as the workspace admin and approve the report
Verify a system message is added to the report that says “X exported this report to QBO”
Verify the “out of pocket expenses” link correctly opens the report in QBO

Automated Tests
Add a test for the new MarkAsExported Auth command that verifies it

creates the action
clears the exportFailed rNVP
queues updates for clearing the RBR errors

Errors are code complete. The rest of this will come pretty quickly after that.

Auth and Web-E PR's are out for review. Still need to draft changes for NewDot.

NewDot changes are in-progress and should be done this week. Bumping for reviews on the Auth and Web PRs.

https://github.com/Expensify/Web-Expensify/pull/42570 is merged but probably won't get deployed until next week.
https://github.com/Expensify/App/pull/44930 is code complete but is blocked on Spanish translation review here.

Alright Spanish translations are in. We're just waiting for the Web-E deploy before we can start C+ testing and review.

Melvin does not want to give me a C+ for some reason. I'll ask in #contributor-plus

This is all set


MODELIX-480: Migrate sync relevant features to kotlin lib

Related YouTrack epics and issues

https://issues.modelix.org/issue/MODELIX-532
https://issues.modelix.org/issue/MODELIX-480

https://issues.modelix.org/issue/MODELIX-637
https://issues.modelix.org/issue/MODELIX-628
https://issues.modelix.org/issue/MODELIX-635
https://issues.modelix.org/issue/MODELIX-634
https://issues.modelix.org/issue/MODELIX-629

Hi @modelix/developers,
Could you please do a code review on the MPSLanguageRepository.kt class in this pull request?
I made the following changes to the class:

I've extended the class with a new function, getConcept(uid:String), that I need in the SNodeFactory class when creating new SNodes in MPS. To implement this class, I cache all SConcepts with their UIDs in the init block of the class. This helps the lookup time, but has some memory implications.
I've implemented its hashCode and equals methods so that when we store the ILanguageRepositories in a Set then the structural equality will be checked even if we create more than one MPSLanguageRegistries on the run. An example for such Set is in ILanguageRepository.Companion.repositories. An example for such registration is in SyncServiceImpl.registerLanguages(project: MPSProject).

The rest of this pull request does not impact how the existing code base works, so they should be safe to merge. Nevertheless, feel free to take a look at the mps-sync-plugin and mps-sync-plugin-lib projects.
I look forward to your feedback.

Deprecating in favor of https://github.com/modelix/modelix.core/pull/482.
#482 has the commit history cleaned up so commitlint will not complain and the old commits will not appear in the changelog. Let's continue the review discussions there.


checking in.

Hey can you get in touch with me? peters_road at yahoo.    com. Want to make sure you are doing ok, and ask you a few things.
Ok take care Corey!

Goog afternoon, I hope you are doing well guys.
I see this tool is very usefull, I'm doing a very good mods (Dubbing games in other languages).
I would like to keep in touch and make a few questions too. After some time, when I try to unpack the .xsb

I cannot see the XACT projet,
Settings:

Maybe you can tell me more. I have some questions concerning the bio4evt folder with dialogues and Cutscences. @Mister-Curious Maybe you can help, please you can reply me here or I give you my email<EMAIL_ADDRESS>Thank you guys!


Brief Documentation of Train Almond page

Pull Request Test Coverage Report for Build 2213

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.007%) to 68.847%

Totals

Change from base Build 2206:
0.007%

Covered Lines:
7408

Relevant Lines:
10112

💛  - Coveralls


Connection reset by peers issue on Kodi Matrix 19.3 for xbian

Your Environment

Add-on name: [Jiotv]
Add-on version: [2.0.0]
Kodi version: [Kodi Matrix 19.3]
Operating system version/name: [xbian]
Using from country: [India]

Describe the bug
Connection aborted, connection reset error 104, connection reset by peers
To Reproduce
Steps to reproduce the behavior:

Go to configure
Click on 'login
Provide credential
See an error

Expected behavior
Login success
Screenshots
If applicable, add screenshots to help explain your problem.
Additional context
Add any other context about the problem here.
Debug log

The debug log can be found from this link:

Working now


10,000 byte limit on personalizations is too low

Issue Summary
The limit of 10,000 bytes on personalizations is too low. Templates need some way of doing iterations or raise the limit.

Hi @kylemantesso,
We are currently working on upgrading the templating experience, please see this thread for progress. Thanks!
With Best Regards,
Elmer


Some HTTP/2 requests fail with duplicate value in envoy authority request pseudo-header

Title:  Some HTTP/2 requests fail with duplicate value in envoy authority request header
Bug Description
Hi all,
I am using SAP BTP Kyma with Istio and hitting a truly strange situation that I think may be related to Envoy as well. I am posting here because I think this group will at least help me understand how the authority pseudo-header is set in HTTP/2 requests.
Background
We use SAP BTP Kyma, which uses Istio:

Kubernetes v1.26.9
Istio v1.19.3

Within Kyma, we are using an API Rule to allow traffic. It is a very broad rule currently, allowing put/get/post/delete requests across .*
Kyma, as I understand, uses Istio VirtualServices to work with a single kyma-gateway.
I am newer to troubleshooting both Istio and Kyma, so I don't want anyone to assume that I know something I don't; let me know if I'm missing something conceptually.
The Problem
All HTTP/1.x requests to our app succeed. However, some HTTP/2 requests succeed, and some do not.

I can make HTTP/2 requests via Insomnia (on Windows) or curl (via WSL) and receive a successful response.
In some cases, with some clients -- Apidog on Windows, or an SAP environment that's making an HTTP/1.1 request and wrapping it in HTTP/2 -- those same calls result in a 404 error (I can flip a switch for HTTP/2 support on/off on the client and it will work when not an HTTP/2 request). Same body, same URL, same content-type, etc. etc.

After a bunch of troubleshooting and getting deeper into the Istio logs, I noticed a pattern.
In the requests that fail, the authority header within envoy seems to be duplicated. E.g. if the correct authority is xyz, the value being shown in the logs is xyz,xyz. Requests that fail seem to consistently have this occur, and I have never seen it occur in a successful request.
I am having difficulty understanding whether:

The calling clients are somehow doing something they shouldn't that's not in the spirit of HTTP/2
The Kyma/istio/envoy integration is causing this to be duplicated
Something within Istio/Envoy is causing it to be duplicated.

Logs

Istio logs for a failed request
2023-11-29T19:16:18.155693Z	debug	envoy filter external/envoy/source/extensions/filters/listener/tls_inspector/tls_inspector.cc:137	tls:onServerName(), requestedServerName: cip.REDACTED.kyma.ondemand.com	thread=24
2023-11-29T19:16:18.203382Z	debug	envoy http2 external/envoy/source/common/http/http2/codec_impl.cc:1605	[Tags: "ConnectionId":"1735723"] updating connection-level initial window size to 268435456	thread=24
2023-11-29T19:16:18.204324Z	debug	envoy http external/envoy/source/common/http/conn_manager_impl.cc:378	[Tags: "ConnectionId":"1735723"] new stream	thread=24
2023-11-29T19:16:18.204510Z	debug	envoy http external/envoy/source/common/http/conn_manager_impl.cc:1165	[Tags: "ConnectionId":"1735723","StreamId":"511241007191140157"] request headers complete (end_stream=false):
':method', 'POST'
':scheme', 'https'
':path', '/api/SvcRequest/ProcessServiceRequest'
':authority', 'cip.REDACTED.kyma.ondemand.com,cip.REDACTED.kyma.ondemand.com'
'content-type', 'application/xml; charset=utf-8'
'content-length', '1816'
'accept', 'application/xml'
'authorization', 'Bearer REDACTED'
'user-agent', 'SAP NetWeaver Application Server (1.0;757)'
'accept-encoding', 'gzip, br'
	thread=24
2023-11-29T19:16:18.204576Z	debug	envoy connection external/envoy/source/common/network/connection_impl.h:98	[C1735723] current connecting state: false	thread=24
2023-11-29T19:16:18.204632Z	debug	envoy filter source/extensions/filters/http/alpn/alpn_filter.cc:61	cannot find route entry	thread=24
2023-11-29T19:16:18.204655Z	debug	envoy router external/envoy/source/common/router/router.cc:408	[Tags: "ConnectionId":"1735723","StreamId":"511241007191140157"] no route match for URL '/api/SvcRequest/ProcessServiceRequest'	thread=24
2023-11-29T19:16:18.204669Z	debug	envoy http external/envoy/source/common/http/filter_manager.cc:946	[Tags: "ConnectionId":"1735723","StreamId":"511241007191140157"] Preparing local reply with details route_not_found	thread=24
2023-11-29T19:16:18.204711Z	debug	envoy http external/envoy/source/common/http/filter_manager.cc:988	[Tags: "ConnectionId":"1735723","StreamId":"511241007191140157"] Executing sending local reply.	thread=24
2023-11-29T19:16:18.204760Z	debug	envoy http external/envoy/source/common/http/conn_manager_impl.cc:1819	[Tags: "ConnectionId":"1735723","StreamId":"511241007191140157"] encoding headers via codec (end_stream=true):
':status', '404'
'date', 'Wed, 29 Nov 2023 19:16:17 GMT'
'server', 'istio-envoy'
	thread=24
2023-11-29T19:16:18.204775Z	debug	envoy http external/envoy/source/common/http/conn_manager_impl.cc:237	[Tags: "ConnectionId":"1735723","StreamId":"511241007191140157"] doEndStream() resetting stream	thread=24
2023-11-29T19:16:18.204783Z	debug	envoy http external/envoy/source/common/http/conn_manager_impl.cc:1888	[Tags: "ConnectionId":"1735723","StreamId":"511241007191140157"] stream reset: reset reason: local reset, response details: -	thread=24
2023-11-29T19:16:18.204851Z	debug	envoy http2 external/envoy/source/common/http/http2/codec_impl.cc:1225	[Tags: "ConnectionId":"1735723"] sent reset code=0	thread=24
2023-11-29T19:16:18.204881Z	debug	envoy http2 external/envoy/source/common/http/http2/codec_impl.cc:1350	[Tags: "ConnectionId":"1735723"] stream 1 closed: 0	thread=24

Istio logs for a successful request
2023-11-29T18:01:12.409335Z	debug	envoy filter external/envoy/source/extensions/filters/listener/tls_inspector/tls_inspector.cc:137	tls:onServerName(), requestedServerName: cip.REDACTED.kyma.ondemand.com	thread=23
2023-11-29T18:01:12.446095Z	debug	envoy http2 external/envoy/source/common/http/http2/codec_impl.cc:1605	[Tags: "ConnectionId":"1733026"] updating connection-level initial window size to 268435456	thread=23
2023-11-29T18:01:12.446162Z	debug	envoy http external/envoy/source/common/http/conn_manager_impl.cc:378	[Tags: "ConnectionId":"1733026"] new stream	thread=23
2023-11-29T18:01:12.446285Z	debug	envoy http external/envoy/source/common/http/conn_manager_impl.cc:1165	[Tags: "ConnectionId":"1733026","StreamId":"16013734393669961989"] request headers complete (end_stream=false):
':method', 'POST'
':path', '/api/SvcRequest/ProcessServiceRequest'
':scheme', 'https'
':authority', 'cip.REDACTED.kyma.ondemand.com'
'content-type', 'application/xml'
'user-agent', 'SeanInsomnia/8.3.0'
'authorization', 'Bearer REDACTED'
'accept', '*/*'
'content-length', '1816'
	thread=23
2023-11-29T18:01:12.446330Z	debug	envoy connection external/envoy/source/common/network/connection_impl.h:98	[C1733026] current connecting state: false	thread=23
2023-11-29T18:01:12.446407Z	debug	envoy filter source/extensions/filters/http/alpn/alpn_filter.cc:92	override with 3 ALPNs	thread=23
2023-11-29T18:01:12.446467Z	debug	envoy router external/envoy/source/common/router/router.cc:478	[Tags: "ConnectionId":"1733026","StreamId":"16013734393669961989"] cluster 'outbound|80||cip.sct-products.svc.cluster.local' match for URL '/api/SvcRequest/ProcessServiceRequest'	thread=23
2023-11-29T18:01:12.446569Z	debug	envoy router external/envoy/source/common/router/router.cc:690	[Tags: "ConnectionId":"1733026","StreamId":"16013734393669961989"] router decoding headers:
':method', 'POST'
':path', '/api/SvcRequest/ProcessServiceRequest'
':scheme', 'https'
':authority', 'cip.REDACTED.kyma.ondemand.com'
'content-type', 'application/xml'
'user-agent', 'SeanInsomnia/8.3.0'
'authorization', 'Bearer REDACTED'
'accept', '*/*'
'content-length', '1816'
'x-forwarded-for', '<IP_ADDRESS>'
'x-forwarded-proto', 'https'
'x-envoy-internal', 'true'
'x-request-id', '144dda5d-3b6e-4d6c-8950-fd617f61f188'
'x-envoy-peer-metadata-id', 'router~<IP_ADDRESS>~istio-ingressgateway-5b96c5b95f-5vxdj.istio-system~istio-system.svc.cluster.local'
'x-envoy-peer-metadata', 'ChoKCkNMVVNURVJfSUQSDBoKS3ViZXJuZXRlcwodCgxJTlNUQU5DRV9JUFMSDRoLMTAwLjY0LjAuNDkKGQoNSVNUSU9fVkVSU0lPThIIGgYxLjE5LjMKzwMKBkxBQkVMUxLEAyrBAwodCgNhcHASFhoUaXN0aW8taW5ncmVzc2dhdGV3YXkKEwoFY2hhcnQSChoIZ2F0ZXdheXMKFAoIaGVyaXRhZ2USCBoGVGlsbGVyCjYKKWluc3RhbGwub3BlcmF0b3IuaXN0aW8uaW8vb3duaW5nLXJlc291cmNlEgkaB3Vua25vd24KGQoFaXN0aW8SEBoOaW5ncmVzc2dhdGV3YXkKGQoMaXN0aW8uaW8vcmV2EgkaB2RlZmF1bHQKMAobb3BlcmF0b3IuaXN0aW8uaW8vY29tcG9uZW50EhEaD0luZ3Jlc3NHYXRld2F5cwoxCiRwb2RzLndhcmRlbi5reW1hLXByb2plY3QuaW8vdmFsaWRhdGUSCRoHc3VjY2VzcwoSCgdyZWxlYXNlEgcaBWlzdGlvCjkKH3NlcnZpY2UuaXN0aW8uaW8vY2Fub25pY2FsLW5hbWUSFhoUaXN0aW8taW5ncmVzc2dhdGV3YXkKLwojc2VydmljZS5pc3Rpby5pby9jYW5vbmljYWwtcmV2aXNpb24SCBoGbGF0ZXN0CiIKF3NpZGVjYXIuaXN0aW8uaW8vaW5qZWN0EgcaBWZhbHNlChoKB01FU0hfSUQSDxoNY2x1c3Rlci5sb2NhbAovCgROQU1FEicaJWlzdGlvLWluZ3Jlc3NnYXRld2F5LTViOTZjNWI5NWYtNXZ4ZGoKGwoJTkFNRVNQQUNFEg4aDGlzdGlvLXN5c3RlbQpdCgVPV05FUhJUGlJrdWJlcm5ldGVzOi8vYXBpcy9hcHBzL3YxL25hbWVzcGFjZXMvaXN0aW8tc3lzdGVtL2RlcGxveW1lbnRzL2lzdGlvLWluZ3Jlc3NnYXRld2F5CqQFChFQTEFURk9STV9NRVRBREFUQRKOBSqLBQomCgphenVyZV9OYW1lEhgaFnNob290LS1reW1hLS1jLTM1OTY0YzMKOQoyYXp1cmVfa3ViZXJuZXRlcy5pby1jbHVzdGVyLXNob290LS1reW1hLS1jLTM1OTY0YzMSAxoBMQokCh1henVyZV9rdWJlcm5ldGVzLmlvLXJvbGUtbm9kZRIDGgExCiMKGGF6dXJlX2t1YmVybmV0ZXMuaW9fYXJjaBIHGgVhbWQ2NAoaCg5henVyZV9sb2NhdGlvbhIIGgZlYXN0dXMKQgoKYXp1cmVfbmFtZRI0GjJzaG9vdC0ta3ltYS0tYy0zNTk2NGMzLWNwdS13b3JrZXItMC16My01YzRkZC1nZzc0cwpACjZhenVyZV9uZXR3b3JraW5nLmdhcmRlbmVyLmNsb3VkX25vZGUtbG9jYWwtZG5zLWVuYWJsZWQSBhoEdHJ1ZQonCh1henVyZV9ub2RlLmt1YmVybmV0ZXMuaW9fcm9sZRIGGgRub2RlCjQKCmF6dXJlX3ZtSWQSJhokZWZkZWVhN2UtODhhOC00OTA5LTlkYjItYjM5MzE5OWI1OWZmCjcKJWF6dXJlX3dvcmtlci5nYXJkZW4uc2FwY2xvdWQuaW9fZ3JvdXASDhoMY3B1LXdvcmtlci0wCjQKJGF6dXJlX3dvcmtlci5nYXJkZW5lci5jbG91ZF9jcmktbmFtZRIMGgpjb250YWluZXJkCjIKIGF6dXJlX3dvcmtlci5nYXJkZW5lci5jbG91ZF9wb29sEg4aDGNwdS13b3JrZXItMAo3Ci1henVyZV93b3JrZXIuZ2FyZGVuZXIuY2xvdWRfc3lzdGVtLWNvbXBvbmVudHMSBhoEdHJ1ZQonCg1XT1JLTE9BRF9OQU1FEhYaFGlzdGlvLWluZ3Jlc3NnYXRld2F5'
'x-envoy-expected-rq-timeout-ms', '180000'
'x-envoy-attempt-count', '1'
'x-forwarded-host', 'cip.REDACTED.kyma.ondemand.com'
	thread=23
2023-11-29T18:01:12.447195Z	debug	envoy http external/envoy/source/common/http/conn_manager_impl.cc:1148	[Tags: "ConnectionId":"1733026","StreamId":"16013734393669961989"] request end stream	thread=23
2023-11-29T18:01:12.451942Z	debug	envoy router external/envoy/source/common/router/upstream_request.cc:562	[Tags: "ConnectionId":"1733026","StreamId":"16013734393669961989"] pool ready	thread=23
2023-11-29T18:01:19.821992Z	debug	envoy router external/envoy/source/common/router/router.cc:1437	[Tags: "ConnectionId":"1733026","StreamId":"16013734393669961989"] upstream headers complete: end_stream=false	thread=23
2023-11-29T18:01:19.822329Z	debug	envoy http external/envoy/source/common/http/conn_manager_impl.cc:1819	[Tags: "ConnectionId":"1733026","StreamId":"16013734393669961989"] encoding headers via codec (end_stream=false):
':status', '200'
'content-type', 'application/xml'
'date', 'Wed, 29 Nov 2023 18:01:18 GMT'
'server', 'istio-envoy'
'x-envoy-upstream-service-time', '7375'
	thread=23
2023-11-29T18:01:19.823102Z	debug	envoy http external/envoy/source/common/http/conn_manager_impl.cc:1924	[Tags: "ConnectionId":"1733026","StreamId":"16013734393669961989"] Codec completed encoding stream.	thread=23
2023-11-29T18:01:19.823154Z	debug	envoy http2 external/envoy/source/common/http/http2/codec_impl.cc:1350	[Tags: "ConnectionId":"1733026"] stream 1 closed: 0	thread=23
2023-11-29T18:01:19.823191Z	debug	envoy http2 external/envoy/source/common/http/http2/codec_impl.cc:1414	[Tags: "ConnectionId":"1733026"] Recouping 0 bytes of flow control window for stream 1.	thread=23

As far as I can tell, the difference seems to be that when these failing requests are made, and the authority header is formatted in that way, the alpn_filter in istio can't find the routes, and therefore there's a 404. I'm not sure if that's because

The header itself is badly formed and shouldn't be in that format
The header is fine but there is some kind of matching on host that is too strict and needs to be relaxed
Something else is going on that I'm missing.

Troubleshooting So far

Many many successful and failed requests to try to reproduce the pattern
I've enabled more verbose logs (let me know if others would be helpful!) --level "http:debug,http2:debug,admin:debug,client:debug,connection:debug,envoy_bug:debug,filter:debug,main:debug,multi_connection:debug,quic_stream:debug,router:debug,upstream:debug"
Installed Kiali to check things out visually, look at some config validation, etc. -- no issues found.

Version
istioctl:

client version: 1.20.0
control plane version: 1.19.3
data plane version: 1.19.3 (20 proxies)

kubectl:

Client Version: v1.28.2
Server Version: v1.26.9

I am happy to work on collecting additional logs & stats, but first I want to ensure that I'm barking up the right tree.

@yanavlasov THANK YOU! This is a huge relief just to have it confirmed and pinpointed. I've spent days and days debugging why our customers using NetWeaver were getting 404s while other HTTP/2 clients weren't. I was starting to go crazy. Good to know I wasn't too far off.
My guess is that when NetWeaver upgrades the HTTP/1.1 request to HTTP/2 its logic results in both headers.
While we wait for the fix I'll see if I can get something changed on the client side to confirm.

@yanavlasov thank you for your work on this!


Bug: Testing component with onBeforeRouteLeave hook raising "No active route record was found" warning

Describe the bug
Whenever i want to test component, which is using onBeforeRouteLeave (or onBeforeRouteUpdate) - i'm getting a warning:
[Vue Router warn]: No active route record was found when calling `onBeforeRouteLeave()`. Make sure you call this function inside of a component child of <router-view>. Maybe you called it inside of App.vue?

That happen when we want to use real router - issue do not exists while using mocked router.
To Reproduce
https://stackblitz.com/edit/github-docpnd?file=src%2Fmain.ts
In provided example above - there is simple test, route configuration and two components.
TestComponent is simple component, which is rendered under Stepper component.
Whenever we mount in tests component, which is using onBeforeRouteLeave - warning is raised.
Expected behavior
No warning is raised.
Related information:
  System:
    OS: Linux 5.0 undefined
    CPU: (8) x64 Intel(R) Core(TM) i9-9880H CPU @ 2.30GHz
    Memory: 0 Bytes / 0 Bytes
    Shell: 1.0 - /bin/jsh
  npmPackages:
    @vue/test-utils: ^2.3.2 => 2.3.2
    vitest: ^0.31.0 => 0.31.4
    vue: ^3.3.2 => 3.3.4

Additional context

I can see that mocking router works

Thank you!

Hi @Ujemny
Thanks for the repro, but I think you forgot to add your test.
Anyway, the warning comes from vue-router, and indicates that you did not mount your component inside a RouterView.
If you do so, then your test will not have a warning (my team uses this a lot).
If that does not fix the warning, then update the repro test and ping me, we'll take a look!

Yes, you can do something like this:
describe('How test component is working', async () => {
  const App = defineComponent({
    template: '<RouterView />',
  });
  testRouter = createRouter({
    history: createWebHistory(),
    routes: [{ path: '/', component: TestComponent }],
  });
  beforeEach(async () => {
    wrapper = mount(App, {
      global: {
        plugins: [testRouter],
      },
    });
    await router.push('/');
  });

  it('Should render a text', async () => {
    expect(wrapper.text()).toBe('aaa');
  });
});

Of course, this is only necessary if you want to test onBeforeRouteLeave, or if you don't want to see the warning (you can also just ignore the warning).

Thank you!
I hoped that there is a way to not use second component, but that's fine. I will refactor my tests.
Many thanks for help!


build: Bump pre-commit hooks

As well as,

Enforce banning relative imports for the repository
And update dev Python version to 3.9.6

Coverage remained the same at 97.056% when pulling 59f218fac1ddcb9adebf01dcd3ff27b77025d82b on build/bump-pre-commit-hooks into cb37bda952d5589810791a057b0710ddc76bbc72 on master.


feature(eip): Add Sort EIP

Fixes #232

Codecov Report

Merging #378 (33d6cc9) into main (18e78d3) will decrease coverage by 0.15%.
The diff coverage is 100.00%.

@@             Coverage Diff              @@
##               main     #378      +/-   ##
============================================
- Coverage     79.75%   79.60%   -0.16%
  Complexity      114      114
============================================
  Files            45       45
  Lines          2075     2079       +4
  Branches        301      301
============================================
  Hits           1655     1655
- Misses          269      272       +3
- Partials        151      152       +1

Impacted Files
Coverage Δ

...ployment/generator/kamelet/KameletRepresenter.java
90.14% <ø> (ø)

...src/main/java/io/kaoto/backend/KamelPopulator.java
91.05% <100.00%> (+0.14%)
:arrow_up:

...parser/camelroute/CamelRouteStepParserService.java
69.23% <0.00%> (-10.26%)
:arrow_down:

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


specstest-namespace.json

Hi  @zenlinTechnofreak
Which case is the result file 'namespace_out.json' for?

@liangchenye , hi , that json is belong to oct/cases/specstest/namespace , and I think we should have further discussion about how to name the folder of testcase in specstest

OK
I'll leave the issue open util we get a conclusion.

@liangchenye @wangkirin  we should define the spec of the specstestcase name and output.
Anyway ,I think we can have a disscussion and give the suggestion to @liangchenye .
Later, I will show my suggestion here. And welecome your suggestion too @wangkirin .

OK, let's do that independently and share our ideas.

@liangchenye @wangkirin @liugenping
According analyzation of the LinuxSpecs structure from opencontainers/specs, items under spec maybe the same as it under linux. So my suggestion is as fllowers,

Folder and file name definition:

├── linux_namespace
├── linux_resources
│   ├── source
│   │   ├── a.go
│   │   └── xxx.go
│   └── Specstest-linux_resources-runc.json
├── linux_xxx
├── report
│   ├── linux_namespace.json
│   ├── linux_resources.json
│   ├── linux_xxx.json
│   ├── spec_root.json
│   ├── spec_version.json
│   └── spec_xxx.json
├── source
│   ├── configcovert
│   ├── hostsetup
│   ├── pkgxxx
│   └── specs
├── spec_root
│   ├── source
│   └── Specstest-spec_root-runc.json
├── spec_version
└── spec_xxx

grain size of each testcase

Each grain size should test the item under Spec or Linux, not allowed to split the sub item into several cases.
For example,
To test LinuxSpecs.Spec.Root, we should provide a testcase named spec_root, but not root_readonly_true and root_readonly_false.
Any other suggesion are welcomed.

@zenlinTechnofreak  you mean all situations of one spec item are tested in one case？

@wangkirin yes.
So far, the runtime test will be in one case.
The config test is not merged.
The bundle test is not defined (the OCI upstream have not reach a conclusion)

Resolved, suggest to close it.

Architecture and scope have been changed, so close it.


add and optimize some training and vis guide examples.

Signed-off-by: ChengZi<EMAIL_ADDRESS>

/lgtm
/approve


Use the NSHomeDirectory on iOS

The NSTemporaryDirectory had similar hazards to Android's cache directory, of being evicted externally.

I assume each app has its own UID and thus home directory?

Yep:

In iOS, the home directory is the application’s sandbox directory.


Add a "what can I do" command

Add a command that will let users see our jira backlog and give them some info on how to participate in the community. Maybe a link to stack overflow too?

YES PLEASE! +1 to this.


Do not call into the VM unless the VM Context has been created.

Signed-off-by: John Plevyak<EMAIL_ADDRESS>

@PiotrSikora: The following test failed, say /retest to rerun all failed tests:

Test name
Commit
Details
Rerun command

test-asan_envoy_release-1.6
0fc39cf076bffc9a1a0cb18b69adb26d20d48902
link
/test test-asan_envoy_release-1.6

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

@PiotrSikora real asan failure ?
==16==ERROR: AddressSanitizer: ABRT on unknown address 0x000000000010 (pc 0x7f4457cfb428 bp 0x7f4452e391d0 sp 0x7f4452e38e68 T253)
25468
#0 0x7f4457cfb427 in raise (/lib/x86_64-linux-gnu/libc.so.6+0x35427)
25469
#1 0x7f4457cfd029 in abort (/lib/x86_64-linux-gnu/libc.so.6+0x37029)
25470
#2 0x15f1a542 in Envoy::QueuedConnectionWrapper::QueuedConnectionWrapper(Envoy::Network::Connection&, bool)::'lambda'()::operator()() const /proc/self/cwd/./test/integration/fake_upstr

/retest


Adding the Gaze Cursor Controller

Use the setting useGazeCursorController to enable this feature.

This is the first of many pull requests for https://github.com/Samsung/GearVRf/issues/376.
Before we can distribute key events to scene objects we need to add a gaze controller to detect collision events using the GearVR touchpad.

@danke-sra Here is a patch you can use to test it.
https://github.com/rahul27/GearVRf-Demos/commit/4ef12adbe3692b486df356054d6b5a19a2bffe53

Looks good. Updated sample works fine.

@danke-sra any further feedback?

It looks good.


Improve common file perf

Right now common files are processed in several steps, which is slow for big jobs. Would be significantly faster if the localizer pulls them out of the job spec as they are discovered.
However, right now, the current version indexes common files based on their input location, which allows for auto-detection of common files anywhere within the job spec

With the upcoming array file changes, maybe move localization directives for common files upwards into the pick_common_inputs function and delete the keys from the input spec


Implement set_maximized, get_current_monitor, set_fullscreen and set_decorations for MacOS

This PR implemented following functions in MacOS:

Window::get_current_monitor
Window::set_fullscreen
Window::set_maximized
Window::set_decorations
WindowBuilder::with_maximized

And the maximized and fullscreen behaviors are following safari's conventions. (See https://github.com/tomaka/winit/issues/460).
This PR should f-ixed #300, #72, #66, #129, and Part of #252

I installed High Sierra in preparation for this! I'll review it as soon as I get a chance.

This implementation are quite straight forward, and should be following standard macos convention, which is just calling NSWindow::toggleFullscreen: for fullscreen and NSWindow::zoom for maximized.
However, set_decoration and with_fullscreen are little bit tricky:

Calling toggleFullscreen: and zoom: on a non-resizable window in MacOS is no-op by default, i have to do it manually (use setFrame for zoom) or set it to resizable tempority and restore it back. (for toggleFullScreen
Normally, the implementation of with_fullscreen is just calling toggleFullscreen after window initialization, but when a winit app are launched from a fullscreen app (e.g. from a FullScreen VS Code Terminal), it creates a new virtual desktop and a transition animation, which tasks one sec and cannot be disable. In this animation time, all toggleFullscreen events will be failed. The PR just make another toggleFullscreen call with delay to do it again until it success.

When using with_fullscreen, the window briefly appears at normal size before becoming fullscreen. Setting fullscreen prior to making the window key fixes this.
This currently disregards whatever monitor is passed for setting fullscreen, always using whichever monitor has the keyboard focus. enterFullScreenMode should work for this, but it appears to be absent from core-foundation.
Similarly, get_current_monitor always returns the currently focused monitor, rather than the monitor the window is on. CGGetDisplaysWithRect could be used to find the monitor that the majority of the window is on.
set_decorations doesn't respect the more granular style settings provided by WindowBuilderExt. The best way to handle this isn't obvious, as "decorated" isn't a binary state in this case.
set_fullscreen similarly has no awareness of the extra attributes from WindowBuilderExt, i.e. using with_titlebar_hidden makes entering fullscreen impossible.
The titlebar popping in when switching to fullscreen from an undecorated window can be made less jarring by setting the titlebar to transparent, and the title and buttons to hidden, though that small visual improvement might not be worth the added complexity.
Using the button to set maximization causes the wrong maximization state to be restored when exiting fullscreen.

servo/core-foundation-rs#204 will give us some more options (literally), though nothing that it looks like we presently need.

This currently disregards whatever monitor is passed for setting fullscreen, always using whichever monitor has the keyboard focus. enterFullScreenMode should work for this, but it appears to be absent from core-foundation.

We can use msg_send! macro to send the selector to use it, i will give it a try. And we could expose the fullscreen options in WindowExt and WindowBuilderExt, but i think i would recommend to create another PR to address it.

Similarly, get_current_monitor always returns the currently focused monitor, rather than the monitor the window is on. CGGetDisplaysWithRect could be used to find the monitor that the majority of the window is on.

I want to use this but it is absent in current CoreFoundation binding. (Which is c api which i cannot use msg_send! here.

The titlebar popping in when switching to fullscreen from an undecorated window can be made less jarring by setting the titlebar to transparent, and the title and buttons to hidden, though that small visual improvement might not be worth the added complexity.

Indeed, we would make another PR to address this too.

Ok, seem to be we cannot use  enterFullScreenMode as all keys of NSViewFullScreenModeOptionKey are not bound in rust cocoa library.

When using with_fullscreen, the window briefly appears at normal size before becoming fullscreen. Setting fullscreen prior to making the window key fixes this.
Using the button to set maximization causes the wrong maximization state to be restored when exiting fullscreen.

These bugs should be fixed.

@francesca64 It should be fine now, except for the points i mentioned in previous comments, we need to wait upstream cocoa crate to add corresponding binding.

Thanks, and addressing the rest in a later PR seems reasonable. Two more nitpicks and we should be good to merge.

Fixed, and thank you so much.

Are you noticing that when using with_fullscreen, it now takes two tries to succeed? Things worked fine as of 88428752, and the problem starts in 1a808b02.

No, i just tested it and it only take 1 try. Could you mind to detail step to reproduce it?

Okay, I've tried a bit more, and I think I know what's happening. I run the fullscreen example, press F twice, then quit, and I get this event log:
WindowEvent { window_id: _, event: Resized(2560, 1440) }
WindowEvent { window_id: _, event: Focused(true) }
WindowEvent { window_id: _, event: Resized(2560, 1440) }
WindowEvent { window_id: _, event: HiDPIFactorChanged(1.0) }
WindowEvent { window_id: _, event: ReceivedCharacter('f') }
WindowEvent { window_id: _, event: KeyboardInput { device_id: _, input: KeyboardInput { scancode: 3, state: Released, virtual_keycode: Some(F), modifiers: ModifiersState { shift: false, ctrl: false, alt: false, logo: false } } } }
WindowEvent { window_id: _, event: KeyboardInput { device_id: _, input: KeyboardInput { scancode: 3, state: Pressed, virtual_keycode: Some(F), modifiers: ModifiersState { shift: false, ctrl: false, alt: false, logo: false } } } }
WindowEvent { window_id: _, event: ReceivedCharacter('f') }
WindowEvent { window_id: _, event: Resized(2560, 1440) }
WindowEvent { window_id: _, event: Resized(2560, 1440) }
WindowEvent { window_id: _, event: HiDPIFactorChanged(1.0) }
WindowEvent { window_id: _, event: Resized(2560, 1315) }
WindowEvent { window_id: _, event: ReceivedCharacter('\u{1b}') }
WindowEvent { window_id: _, event: KeyboardInput { device_id: _, input: KeyboardInput { scancode: 53, state: Released, virtual_keycode: Some(Escape), modifiers: ModifiersState { shift: false, ctrl: false, alt: false, logo: false } } } }

As you can see, the first F press never generates a Pressed event! Besides pressing F a second time to get it to work, I can also just click and then press F - the key is that the first event is being ignored. If you've been keeping up on the recent PRs, this sounds like the result of #466. If I drop that commit, then I get the expected event log:
WindowEvent { window_id: _, event: Resized(2560, 1440) }
WindowEvent { window_id: _, event: Focused(true) }
WindowEvent { window_id: _, event: Resized(2560, 1440) }
WindowEvent { window_id: _, event: HiDPIFactorChanged(1.0) }
WindowEvent { window_id: _, event: Resized(2560, 1440) }
WindowEvent { window_id: _, event: HiDPIFactorChanged(1.0) }
WindowEvent { window_id: _, event: KeyboardInput { device_id: _, input: KeyboardInput { scancode: 3, state: Pressed, virtual_keycode: Some(F), modifiers: ModifiersState { shift: false, ctrl: false, alt: false, logo: false } } } }
WindowEvent { window_id: _, event: ReceivedCharacter('f') }
WindowEvent { window_id: _, event: Resized(2560, 1440) }
WindowEvent { window_id: _, event: Resized(2560, 1440) }
WindowEvent { window_id: _, event: HiDPIFactorChanged(1.0) }
WindowEvent { window_id: _, event: KeyboardInput { device_id: _, input: KeyboardInput { scancode: 3, state: Released, virtual_keycode: Some(F), modifiers: ModifiersState { shift: false, ctrl: false, alt: false, logo: false } } } }
WindowEvent { window_id: _, event: Resized(2560, 1315) }
WindowEvent { window_id: _, event: KeyboardInput { device_id: _, input: KeyboardInput { scancode: 53, state: Pressed, virtual_keycode: Some(Escape), modifiers: ModifiersState { shift: false, ctrl: false, alt: false, logo: false } } } }

@sodiumjoe @swiftcoder

Interesting, that does seem like the likely culprit. I guess since full screen doesn't invoke the modal tracking loop, so it doesn't eat the MouseDown event?

I'm actually seeing other weird downstream effects related to the hidpifactorchanged event that goes away once i revert that commit. we may want to revert and rethink that?

I checked my code, and didn't think of some special problem. However, maybe i dont know how the discard event work. How do you make sure if window_did_resize called, and the next event must be the event you want discard?

@edwin0cheng I don't believe this is your fault, but rather an unforeseen interaction between this and the other PR. We didn't notice it before because your branch is based prior to that PR being merged (which is also why I ended up thinking it was a problem in one of your later commits, since switching back to your branch to test that meant the issue was no longer present). The moral of the story is that we should always rebase before testing. But anyway, I don't think you need to take any further action.
@sodiumjoe oh geeze, but I guess it's not surprising; #466 is admittedly a hack. The other moral of the story is that we should have some sort of test suite. I guess it should be reverted, and them maybe we should glob fixing it into a larger "what are we going to do about the fundamental conflicts between Cocoa and winit's design" issue? Assuming I'm correct in interpreting that the disparity is the reason we have to deal with this.

I'd be interested to hear @swiftcoder 's opinion. It seems like we could keep the hack contained by checking the event type here and only discarding MouseUp events?

Alright, I agree that we should wait for @swiftcoder. Just please make some note in #468 in case tomaka swoops in and merges it.

I just closed it, I'll reopen once we figure this out. I can also try the filtering thing I mentioned real quick.

i just tried a really naive filtering:
                match event {
                    // Call the user's callback.
                    Some(event) => match event {
                        Event::WindowEvent { event: WindowEvent::MouseInput { state: ElementState::Released, .. }, .. } => {
                            if !self.shared.should_discard_next_event() {
                                self.shared.user_callback.call_with_event(event);
                            }
                        },
                        _ => self.shared.user_callback.call_with_event(event),                    },
                    None => break,
                }

and that doesn't appear to fix anything, so I'll wait for @swiftcoder

Your filtering would work, but you need to restrict to pressed events, not release.
That said, we are now layering a hack on top of a hack. I hadn't anticipated that windowDidResize would be invoked in other cases, but it makes sense.  Maybe need a better approach for the key presses... Feel free to back out my patch in the meantime, I'll have a think this evening about a more comprehensive solution.

Derp, you're right. Changing that to Pressed seems to fix most of the issues, though there are still some weird artifacts in my branch of alacritty that's using the HiDpiFactorChanged event.
It also appears to be causing some weird issues with the relatively new WindowBuilder                 .with_titlebar_transparent(true) and .with_fullsize_content_view(true), which seems really weird.
I think it makes the most sense to back that change out for now.


typo-Update README.md

Fix: Corrected typo in documentation file
Changes

README.md:63: "higly" corrected to "highly".

Purpose

Improved documentation accuracy and ensured professionalism by fixing the typo.

This seems like a low-effort automated attempt at farming airdrop. Closing.

This seems like a low-effort automated attempt at farming airdrop. Closing.

Hello, is it joke?
Good luck, apparently no one reads your documentation ))))))))))))))))


[NEW ICON] Ant Design, HalfMoon UI, NPM, Yarn, Pnpm, Postman

Skill Name
Ant Design, HalfMoon UI, NPM, Yarn, Pnpm, Postman
Why?
Ant Design and Halfmoon UI are popular libraries/frameworks for react applications.
NPM, Yarn, and Pnpm are popular package managers for javascript projects
Postman is a popular API testing tool
Reference Image

These are all tools with very low learning curves, not quite skills (Ant design is literally just a templated framework)

None of these are skills


Swagger docs not getting updated after #2837

What happened:
api/openapi-spec/swagger.json is not getting updated after #2837. To test this, I reverted the commit and ran make swagger again and the docs were updated successfully.
What you expected to happen:
When I update workflow_types.go and run make codegen or even make swagger, I expect api/openapi-spec/swagger.json to be updated.
How to reproduce it (as minimally and precisely as possible):

Modify workflow_types.go
Run make codegen. api/openapi-spec/swagger.json won't be updated.
Run make swagger and get "make: Nothing to be done for `swagger'."

Anything else we need to know?:
It could be that make swagger works correctly after running make clean, but that should be unnecessary.

FYI @alexec

api/openapi-spec/swagger.json is based on $(SWAGGER_FILES), which is based on codegen - so we could create an alias target.

I thought make swagger was a target on api/openapi-spec/swagger.json:
.PHONY: swagger
swagger: api/openapi-spec/swagger.json

?

Should be fixed


Could not find NotificationAreaToolbar

There is no NotificationAreaToolbar in Russian version of Windows.
How can I access to it?
Man doesn't help.
error.txt

Hi @x1nas, sorry for late response. The fix was merged into master branch and it will be included into 0.6.2 soon.

0.6.2 will be published on February, 28.
So closing all fixed issues. Please re-open if reproduced again.


Sync manifests

Motivation
Sync upstream and downstream manifests

closing in lieu of a new PR that syncs manifests within ODH/upstream first


Streamlit run dashboard.py : FileNotFoundError: [Errno 2] No such file or directory: 'data/open_positions_data.json'

Hello,
I've followed the installation instructions precisely, but when I attempt to run streamlit run dashboard.py, I encounter a FileNotFoundError pointing to the absence of "data/open_positions_data.json".
Here's the exact error message:
"FileNotFoundError: [Errno 2] No such file or directory: 'data/open_positions_data.json'"
Could you please advise on why this file is missing and how I can resolve this issue? Is there an initial setup step I might have overlooked, or should this file be generated automatically during the process?
Thank you for your assistance

Hey! Which strategy are you using? I added extra logging and exception handling to the bybit strategies and tested the dashboard and it actually works fine without this error.

The same error also happens to me, I'm using bybit with the qsgridob strategy. How to solve it, I'm very new to programming...
Note. Sorry for my English, I use the translator.


READM.md structure not really clear for first time user

It is an issue that I have with a set of first time users during the hackathon Tuesday.
If they haven't install minikube previously, the quick start direct them to go to the "Standard Installation" -- "minikube" section, which is fine. But some of them, after installing minikube, spontaneously continue to install helm, configure oauth app and so on.
We'd better not confuse users with an all-included README, where people get lost by so many links.
Suggest: use the readme as general introductions and an index to different sections (e.g. quick start, standard installation, instructions on installing dependencies like minikube, FAQ, Troubleshooting, appendix), where those sections can be organized by https://vmware.github.io/dispatch/

[ ] Bug
[ ] Feature
[X] Enhancement

Detailed Description

Context

Possible Implementation

Complexity

[ ] Low - Simple enhancement or bug fix, no architectural changes or refactoring
[X] Medium - Change requires some thought, but is relatively isolated
[ ] High - Significant architectural change or large refactor

Impact

[ ] Low - Annoyance, but does not impact business or functinality
[ ] Medium - Issue can be worked around, but is causing pain
[X] High - Blocker

Your Environment

Dispatch CLI version (or git commit):
Dispatch Chart version (or image[s] tag):
Operating System and version:
Kubernetes version (and distribution):
Etc (any other useful environmental information):

Fixed via #207


使用超管登录报403 Forbidden

问题描述
添加实例等操作，通过Django管理,使用admin登录，报403 Forbidden
版本信息

应用版本/分支：Release v1.8.0
部署方式：手工部署

[2022-01-26 13:24:11,628][ThreadPoolExecutor-0_0:140213924890368][task_id:default][exception_logging_middleware.py:11][ERROR]- Traceback (most recent call last):
File "/usr/local/lib/python3.6/site-packages/asgiref/sync.py", line 330, in thread_handler
raise exc_info[1]
File "/usr/local/lib/python3.6/site-packages/django/core/handlers/base.py", line 231, in _get_response_async
response = await wrapped_callback(request, *callback_args, **callback_kwargs)
File "/usr/local/lib/python3.6/site-packages/asgiref/sync.py", line 296, in call
ret = await asyncio.wait_for(future, timeout=None)
File "/usr/lib64/python3.6/asyncio/tasks.py", line 339, in wait_for
return (yield from fut)
File "/usr/lib64/python3.6/concurrent/futures/thread.py", line 56, in run
result = self.fn(*self.args, **self.kwargs)
File "/usr/local/lib/python3.6/site-packages/asgiref/sync.py", line 334, in thread_handler
return func(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/django/contrib/admin/options.py", line 614, in wrapper
return self.admin_site.admin_view(view)(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/django/utils/decorators.py", line 130, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/django/views/decorators/cache.py", line 44, in _wrapped_view_func
response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/django/contrib/admin/sites.py", line 233, in inner
return view(request, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/django/contrib/admin/options.py", line 1653, in add_view
return self.changeform_view(request, None, form_url, extra_context)
File "/usr/local/lib/python3.6/site-packages/django/utils/decorators.py", line 43, in _wrapper
return bound_method(*args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/django/utils/decorators.py", line 130, in _wrapped_view
response = view_func(request, *args, **kwargs)
File "/usr/local/lib/python3.6/site-packages/django/contrib/admin/options.py", line 1534, in changeform_view
return self._changeform_view(request, object_id, form_url, extra_context)
File "/usr/local/lib/python3.6/site-packages/django/contrib/admin/options.py", line 1551, in _changeform_view
raise PermissionDenied
django.core.exceptions.PermissionDenied
请帮忙看下是什么问题

手工部署的太复杂了没法支持啊, 你再提供多一些细节

有人把超管权限禁了，抱歉，打扰


The FAQ might contain the answers to your questions...

Been frustrated at the lacking documentation. Apparently the docs are mostly to be found in the /docs folder of the source code!! And the best docs I have found so far on how to structure a real app is the FAQ.md.
I found this little gem in there, showing how to define a Component. Now the only problem with this approach is that the state is local, but of course we could just as well reference global state and use some sort of Flux mechanism to mediate changes between components and global app state similar to React...
function EventComponent() {
  var events = mercury.input(['toggle']);

  var state = mercury.struct({
    name: 'event name',
    isOpen: mercury.value(false),
    description: 'event description',
    events: events
  });

  events.toggle(function (data) {
    state.isOpen.set(data.value)
  })

  return { state: state }
}

EventComponent.render = function (state) {
  return h('div', [
    h('div', {
      'ev-click': mercury.event(events.eventToggle, {
        eventIndex: j,
        dayIndex: i,
        value: !event.isOpen
      })
    }, event.name),
    h('div', {
      hidden: !event.isOpen
    }, event.description)
  ])
}

I don't  fully understand the rendering process yet. Is there some way to tell the component which states in the global or local state object should cause a redraw of the component on change?
Feels so much more efficient than walking through the entire graph...??
How about Array Proxies or proxies in general?
If we have an iteration within the render, it should always render a new component on each iteration and that component should only re-render if its state changed relative to last time it was rendered. Is this possible currently?
How about computed properties?
var Observable = require("observ")
var computed = require("observ/computed")

var one = Observable(1)
var two = Observable(2)

var together = computed([one, two], function (a, b) {
  return a + b
})

assert.equal(together(), 3)
two.set(5)
assert.equal(together(), 7)

But haven't seen any real app examples using this feature...

i just want to say, i'd been reading and pondering virtual-dom frameworks for days now, and have been trying to wrap my head around mercury.  this thread is what finally made it click, i hope that you will or have preserved this in FAQs or something, as it may help others!!

Please summarise the key points on a new wiki page ;)

Not a wiki page :( the wiki got corrupted / trolled. you can contribute docs in PRs on docs folder.


Addition of SPM support

As the title suggests, it adds SPM support. It also adds a script to travis to check that the library is built properly.

W00t! This was on my wish list, superb!!!
🥇
Is there a particular reason not to commit package.resolved? I didn't look into this myself, but normally lock files (Podfile.lock, yarn.lock, etc) are also committed to the repo.

I don't usually upload them when developing libraries. Anyway, I just added it :+1:


chore: telemetry in web ext

chore: telemetry in web ext
Adds telemetry to the web extension.
Details

Provides scaffolding for telemetry in web extension and DI based telemetry client injection, which we can gradually converge with the local extension.
Used Segment's HTTP API instead of their browser library because the browser library requires 'window', which is unavailable in the web ext sandbox. The HTTP API is so simple that it might be worth eventually tossing out the node implementation and converging to just use the HTTP version. It's simple enough that a library isn't really required.
Telemetry is safely separated from ide-prod telemetry in the following ways:

uploads to a different segment source called 'dendron_web_extension': https://app.segment.com/dendron/sources/dendron_web_extension/debugger.  This hasn't been hooked up to amplitude yet.
adds a new identify prop called 'appHost' from vscode.env. This has values like 'desktop', 'codespaces', 'github.dev': See https://code.visualstudio.com/api/references/vscode-api#env
The web ext reports under a new type AppNames.CODE_WEB

Telemetry added in web ext: an analogous InitializeWorkspace event, + events for the 3 commands.
I'm attempting to link a local user to a web ext instance by the vscode.context.globalState mechanism. We can test in nightly to see if it syncs properly.

After we do some analysis and scope out how the telem looks, we can make decisions on whether it makes sense to consolidate to 'ide-prod' or not.
TODO: I'll update our airtable telem after an initial pass at the review.

I need to rework how some of the injection works - the test-plugin-web pass is now failing.

I need to rework how some of the injection works - the test-plugin-web pass is now failing.

resolved now

was this a race condition or a legitimate failure? https://github.com/dendronhq/dendron/actions/runs/3067223812/jobs/4953278963


Configure without adding to CacheManager

This is an enhancement request if I'm understanding how configuration works. I'm testing with Ehcache and Apache JCS, Since Ehcache makes configuration visible to CacheManager without CacheManager.createCache if behaves differently from JCS provider. With JCS you must explicitly call createCache with the same cache name as in the ccf configuration file. Since Ehcache behaves differently calling createCache causes javax.cache.CacheException: A Cache named [cacheName] already exists. Is there a way to disable the automatic creation of caches in CacheManager? If not, can you add a configuration option to disable auto createCache?

Hi Steven,
What you are asking is already possible: just use cache templates instead of cache definitions in the config file. Make sure you do not forget to link the template to the cache name you want in the jar 107 service tag. See this part of the documentation for details.
Also, in general, what you are asking would not be an option for Ehcache because it would mean the behaviour would be different when used inside JSR-107 and when used standalone.
In Ehcache, the definition of a cache in XML means the cache is made live the moment the CacheManager is initialized. Since JSR-107 does not offer any explicit lifecycle control, the underlying cache manager must be initialised when created by the JSR-107 call.
And finally, what would be the semantic of the passed in javax.cache.configuration.Configuration if we were to do what you ask?
So for all this reasons, I am closing this issue as won't fix.

OK, thanks. I ended up using templates...


LR finder returns None

🐛 Bug: LR finder returns None
Could be come model or LR finder range which yield in returning LR as None which crashes the consecutive
To Reproduce
https://www.kaggle.com/jirkaborovec/titanic-crash-with-lightning-flash
from pytorch_lightning.loggers import CSVLogger
from pytorch_lightning.callbacks import StochasticWeightAveraging
from pytorch_lightning import seed_everything

seed_everything(7)
swa = StochasticWeightAveraging(swa_epoch_start=0.6)
logger = CSVLogger(save_dir='logs/')
trainer = flash.Trainer(
    max_epochs=150,
    gpus=torch.cuda.device_count(),
    logger=logger,
    accumulate_grad_batches=12,
    gradient_clip_val=0.01,
    auto_lr_find=True,
)

# ==============================

trainer.tune(model, datamodule=datamodule, lr_find_kwargs=dict(min_lr=1e-4, max_lr=0.1, num_training=65),)
print(f"Learning Rate: {model.learning_rate}")

# ==============================

trainer.fit(model, datamodule=datamodule)

Expected behavior
I see several options:

raise an error on the LR finder tune so it does not interfere with consecutive fit
raise just warning and continue with the model's initial LR value
find why the LR is failing

Additional context
include in Tune redesign #9103
cc @akihironitta @borda @rohitgr7

not stale

not stale.

It still persists, but happens arbitrarily.
In my case, the error looked like this:
Finding best initial lr:  12%|████████████▌                                                                                | 12/100 [00:00<00:02, 42.37it/s] LR finder stopped early after 12 steps due to diverging loss. Restoring states from the checkpoint path at /home/asicoder/gitrepos/TradingBot/src/.lr_find_b2260f3a-5905-49d8-bf1d-cb594137bded.ckpt Failed to compute suggesting for lr. There might not be enough points. Traceback (most recent call last):   File "/home/asicoder/miniconda3/envs/timeseries_env/lib/python3.9/site-packages/pytorch_lightning/tuner/lr_finder.py", line 177, in suggestion     min_grad = np.gradient(loss).argmin()   File "<__array_function__ internals>", line 180, in gradient   File "/home/asicoder/miniconda3/envs/timeseries_env/lib/python3.9/site-packages/numpy/lib/function_base.py", line 1195, in gradient     raise ValueError( ValueError: Shape of array too small to calculate a numerical gradient, at least (edge_order + 1) elements are required. suggested learning rate: None Failed to compute suggesting for lr. There might not be enough points. Traceback (most recent call last):   File "/home/asicoder/miniconda3/envs/timeseries_env/lib/python3.9/site-packages/pytorch_lightning/tuner/lr_finder.py", line 177, in suggestion     min_grad = np.gradient(loss).argmin()   File "<__array_function__ internals>", line 180, in gradient   File "/home/asicoder/miniconda3/envs/timeseries_env/lib/python3.9/site-packages/numpy/lib/function_base.py", line 1195, in gradient     raise ValueError( ValueError: Shape of array too small to calculate a numerical gradient, at least (edge_order + 1) elements are required. LOCAL_RANK: 0 - CUDA_VISIBLE_DEVICES: [0] Traceback (most recent call last):   File "/home/asicoder/gitrepos/TradingBot/src/experiments2.py", line 204, in <module>     mlpipeline()   File "/home/asicoder/gitrepos/TradingBot/src/experiments2.py", line 171, in mlpipeline     trainer.fit(   File "/home/asicoder/miniconda3/envs/timeseries_env/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 771, in fit     self._call_and_handle_interrupt(   File "/home/asicoder/miniconda3/envs/timeseries_env/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 724, in _call_and_handle_interrupt     return trainer_fn(*args, **kwargs)   File "/home/asicoder/miniconda3/envs/timeseries_env/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 812, in _fit_impl     results = self._run(model, ckpt_path=self.ckpt_path)   File "/home/asicoder/miniconda3/envs/timeseries_env/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 1218, in _run     self.strategy.setup(self)   File "/home/asicoder/miniconda3/envs/timeseries_env/lib/python3.9/site-packages/pytorch_lightning/strategies/single_device.py", line 72, in setup     super().setup(trainer)   File "/home/asicoder/miniconda3/envs/timeseries_env/lib/python3.9/site-packages/pytorch_lightning/strategies/strategy.py", line 139, in setup     self.setup_optimizers(trainer)   File "/home/asicoder/miniconda3/envs/timeseries_env/lib/python3.9/site-packages/pytorch_lightning/tuner/lr_finder.py", line 109, in func     optimizers, _, _ = _init_optimizers_and_lr_schedulers(trainer.lightning_module)   File "/home/asicoder/miniconda3/envs/timeseries_env/lib/python3.9/site-packages/pytorch_lightning/core/optimizer.py", line 180, in _init_optimizers_and_lr_schedulers     optim_conf = model.trainer._call_lightning_module_hook("configure_optimizers", pl_module=model)   File "/home/asicoder/miniconda3/envs/timeseries_env/lib/python3.9/site-packages/pytorch_lightning/trainer/trainer.py", line 1596, in _call_lightning_module_hook     output = fn(*args, **kwargs)   File "/home/asicoder/miniconda3/envs/timeseries_env/lib/python3.9/site-packages/pytorch_forecasting/models/base_model.py", line 929, in configure_optimizers     optimizer = Ranger(self.parameters(), lr=lr, weight_decay=self.hparams.weight_decay, **optimizer_params)   File "/home/asicoder/miniconda3/envs/timeseries_env/lib/python3.9/site-packages/pytorch_forecasting/optim.py", line 68, in __init__     if not lr > 0: TypeError: '>' not supported between instances of 'NoneType' and 'int'

It still persists :(


Id resolver docs page

🚀 Deployed on https://65f8dcaba42bd64266265460--cozy-fox-0defec.netlify.app


Does this support printing of the diagram?

How about how to print the diagram or export to PDF or image file?

Hey, this is not supported. We are mixing DOM nodes with SVG so it's not a trivial task.

No, I haven't checked this in a while. I will re-open the issue and check the current status.

Generating an image of a flow is possible with a library like html-to-image as seen in this example https://reactflow.dev/examples/misc/download-image . We will not add something like this to the library.

Hi, Im trying to develop features printing and download image on nextjs. The download image on nextjs is not working because NextJS not accepting the ReactDOM (document.querySelector). I've trying to  inject it to the state in useEffect but the diagrams in blank.. Is there any another way to provide this ? Thanks


24.1.3_1 - hosts alias created in GUI only and empty

Important notices
Before you add a new report, we ask you kindly to acknowledge the following:

[X] I have read the contributing guide lines at https://github.com/opnsense/core/blob/master/CONTRIBUTING.md
[X] I am convinced that my issue is new after having checked both open and closed issues at https://github.com/opnsense/core/issues?q=is%3Aissue

Hi guys, I'd appreciate your help tracing down this apparent bug I'm seeing.
Describe the bug
Trying to add openh264.org and ciscobinary.openh264.org in a hosts alias.
Everything looks fine in the GUI, no visible errors when creating the alias.
No entries created in /var/db/aliastables
The issue appears to be unique to this one FW on 24.1.3_1

on a VM running snapshots/latest and 24.7.a_203 the alias is created and populated as expected <-- and this VM is behind the FW with the alias issue
on a remote physical FW on 24.1.3_1 the alias is created and populated as expected as well

Tried restarting webgui, machine, deleting the two entries and adding only one or the other and deleting/recreating the hosts alias from scratch - no change.
Not seeing anything unusual in the FW logs, and on the backend ones there's only me checking if the FW has issues resolving the domain and trying to query the missing table
Notice	configd.py	[dbdab704-b8a2-471c-9fa5-2a780ef37113] query dns records <IP_ADDRESS> ciscobinary.openh264.org
Notice	configd.py	[8c405e10-763a-417b-afcf-e4af5aec817d] request content of pf openh264 table
Environment
Software version used and hardware type if relevant, e.g.:
OPNsense 24.1.3_1 on snapshots branch.

I scared it into submission apparently, wasting two hours troubleshooting and opening this issue was all it took for the table entries to appear on disk. The network gremlins are pleased now :)


Long term project maintenance plans

I liked rich as soon I found it and I would like to start using it on several CLI tools I am maintaining, like ansible-lint or molecule.
Still, I do have some concerns regarding long term future of the library as I see is hosted under a personal account.
If you do not mind could you mention:

are several cores available in case main contributor becomes unavailable?
how willing to accept new cores?

Please note that this question is about risk mitigation. We all know how costly it can prove to fork or replace an unmaintained library. As I got my share of unlucky bets, now I am bit more cautious about adding new dependencies.

Hi @ssbarnea
Glad you like rich.
I'm the only core dev at the moment, while it's in active development. I am planning to solidify the core features so that there won't be need need for much ongoing work. At that point I'd seek a new maintainer. Possible one of the current set of contributors if they still have an interest.
I understand your concern, I've had similar experiences. In my experience projects become unmaintained because the code has collapsed under its own weight. This project is my chance to be more of a perfectionist that the day job, with high 90%s tests, documentation, and typing it should be easy to maintain well in to the future.


Could not connect to server at http://localhost:4467

I've been following the tutorial from https://www.prisma.io/docs/tutorials/setup-prisma/connect-empty-db/postgres-aiy1jewith
After executing command prisma deploy it says:

Could not connect to server at http://localhost:4467. Please check if your server is running.

How did you land on the port number 4467? The default is 4466, Did you change it?

Already tried 4467. That wasn't working. So I tried 447

Also, could you share the result of docker ps?

I have the same problem as the author. Yesterday I did "Build a GraphQL server with Prisma" tutorial and everything was working. Today when I try to launch prisma deploy I get:

prisma deploy

Error: Could not connect to server at http://localhost:4466. Please check if your server is running.
at Deploy. (C:\Users\niba\AppData\Roaming\npm\node_modules\prisma\node_modules\prisma-cli-core\src\commands\deploy\index.ts:127:13)
at step (C:\Users\niba\AppData\Roaming\npm\node_modules\prisma\node_modules\prisma-cli-core\dist\commands\deploy\index.js:42:23)
at Object.next (C:\Users\niba\AppData\Roaming\npm\node_modules\prisma\node_modules\prisma-cli-core\dist\commands\deploy\index.js:23:53)
at fulfilled (C:\Users\niba\AppData\Roaming\npm\node_modules\prisma\node_modules\prisma-cli-core\dist\commands\deploy\index.js:14:58)
at
at process._tickDomainCallback (internal/process/next_tick.js:228:7)
Exiting with code: 0

the result of docker ps

Starting another project from scratch doesn't help

I managed to fix the error. It was caused by Docker. When I was restarting my containers using docker-compose down and docker-compose up I got:

ERROR: for prisma  Cannot start service prisma: driver failed programming external connectivity on endpoint docker_prisma_1 (a4c15d3b0047c4db18c54aa042eb0a728c53e0775d45802d58e136d8eb6b283f): Error starting userland proxy: mkdir /port/tcp:<IP_ADDRESS>:4466:tcp:<IP_ADDRESS>:4466: input/output error
ERROR: Encountered errors while bringing up the project.

Restarting docker service on windows fixed it.


Refactoring datasource changes to a new module.

Description

Refactoring datasource changes to new module.
Reduced branch coverage to 0.9 to fix temporary files, as I am facing issue with default branch coverage in Authentication Type.

Issues Resolved
[List any issues this PR will resolve]
Check List

[ ] New functionality includes testing.

[ ] All tests pass, including unit test, integration test and doctest

[ ] New functionality has been documented.

[ ] New functionality has javadoc added
[ ] New functionality has user manual doc added

[ ] Commits are signed per the DCO using --signoff

By submitting this pull request, I confirm that my contribution is made under the terms of the Apache 2.0 license.
For more information on following Developer Certificate of Origin and signing off your commits, please check here.

Codecov Report

Merging #1504 (38e34d9) into main (3fbbaa4) will decrease coverage by 2.07%.
The diff coverage is 18.42%.

:mega: This organization is not using Codecov’s GitHub App Integration. We recommend you install it so Codecov can continue to function properly for your repositories. Learn more
@@             Coverage Diff              @@
##               main    #1504      +/-   ##
============================================
- Coverage     98.47%   96.41%   -2.07%
- Complexity     3886     3951      +65
============================================
  Files           347      368      +21
  Lines          9649    10118     +469
  Branches        625      651      +26
============================================
+ Hits           9502     9755     +253
- Misses          142      356     +214
- Partials          5        7       +2

Flag
Coverage Δ

sql-engine
96.41% <18.42%> (-2.07%)
:arrow_down:

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

Impacted Files
Coverage Δ

...earch/sql/datasources/auth/AuthenticationType.java
100.00% <ø> (ø)

...ources/exceptions/DataSourceNotFoundException.java
100.00% <ø> (ø)

...earch/sql/datasources/exceptions/ErrorMessage.java
0.00% <0.00%> (ø)

...model/transport/CreateDataSourceActionRequest.java
0.00% <ø> (ø)

...odel/transport/CreateDataSourceActionResponse.java
0.00% <ø> (ø)

...model/transport/DeleteDataSourceActionRequest.java
0.00% <ø> (ø)

...odel/transport/DeleteDataSourceActionResponse.java
0.00% <ø> (ø)

...es/model/transport/GetDataSourceActionRequest.java
0.00% <ø> (ø)

...s/model/transport/GetDataSourceActionResponse.java
0.00% <ø> (ø)

...model/transport/UpdateDataSourceActionRequest.java
0.00% <ø> (ø)

... and 15 more

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

This is an excellent addition to create the datasource module !!
Can you please add a README.md file in that root of the new module ?


MM-12217 - Updating autocomplete css

Summary
MM-12217 - Updating autocomplete css
Ticket Link
https://mattermost.atlassian.net/browse/MM-12217
Checklist
[Place an '[x]' (no spaces) in all applicable fields. Please remove unrelated fields.]

[ ] Ran make check-style to check for style errors (required for all pull requests)
[ ] Ran make test to ensure unit and component tests passed
[ ] Added or updated unit tests (required for all new features)
[ ] Needs to be implemented in mobile (link to PR or User Story)
[ ] Has server changes (please link)
[ ] Has redux changes (please link)
[x] Has UI changes
[ ] Includes text changes and localization file (.../i18n/en.json) updates
[ ] Touches critical sections of the codebase (auth, posting, etc.)

Done cherry-pick to release-5.4


SIGSEGV in mset when one redis server is down.

Hi,
We are using redis as cache servers, and put twemproxy on top of them as load balancers. And we've discovered a bug that twemproxy would crash when one of our redis server is down.
We are using 0.4.0 downloaded from github release page. This is a pretty serious bug in our production environment when a single redis instance is taken down, it'll take the whole cluster with it.
Reproduce

Don't start any redis-server(those configured in twemproxy, or you can start all of them, kill one during 3.)
Start twemproxy.
Run:
redis-benchmark -h localhost -p 5401 -c 500 -n 10000000 -r 1045231 -d 256 -t mset

twemproxy config:
redis-cache:
  listen: <IP_ADDRESS>:5401
  hash: fnv1a_64
  distribution: modula
  timeout: 1000
  preconnect: true
  redis: true
  server_connections: 1
  auto_eject_hosts: true
  #server_retry_timeout: 10000
  #server_failure_limit: 5
  servers:

    - localhost:6300:1 redis-localhost-00
    - localhost:6301:1 redis-localhost-01
    - localhost:6302:1 redis-localhost-02
    - localhost:6303:1 redis-localhost-03
    - localhost:6304:1 redis-localhost-04

bt
There are different dump locations:

#0  redis_append_key (keylen=16, key=0x1487172 "key:000000066829\r\n$256\r\n", 'x' <repeats 176 times>..., r=0x7fb2a1d7a7d8 <main_arena+120>) at nc_redis.c:2253
#1  redis_fragment_argx (r=0x1486dd0, ncontinuum=4, key_step=2, frag_msgq=<optimized out>) at nc_redis.c:2379
#2  0x000000000040e878 in req_recv_done (ctx=0x128d090, conn=0x12953c0, msg=0x1486dd0, nmsg=<optimized out>) at nc_request.c:613
#3  0x000000000040dae9 in msg_parsed (msg=0x1486dd0, conn=0x12953c0, ctx=0x128d090) at nc_message.c:591
#4  msg_parse (msg=0x1486dd0, conn=0x12953c0, ctx=0x128d090) at nc_message.c:626
#5  msg_recv_chain (msg=0x1486dd0, conn=0x12953c0, ctx=0x128d090) at nc_message.c:681
#6  msg_recv (ctx=0x128d090, conn=0x12953c0) at nc_message.c:714
#7  0x0000000000409531 in core_recv (conn=0x12953c0, ctx=0x128d090) at nc_core.c:194
#8  core_core (arg=0x12953c0, events=255) at nc_core.c:329
#9  0x000000000041f39d in event_wait (evb=0x128d570, timeout=1000) at nc_epoll.c:269
#10 0x0000000000409b29 in core_loop (ctx=ctx@entry=0x128d090) at nc_core.c:352
#11 0x0000000000408e48 in nc_run (nci=0x7fffd4a71470) at nc.c:530
#12 main (argc=<optimized out>, argv=<optimized out>) at nc.c:579

Program received signal SIGSEGV, Segmentation fault.
redis_fragment_argx (r=0x806450, ncontinuum=4, key_step=2, frag_msgq=<optimized out>) at nc_redis.c:2378
2378            sub_msg->narg++;
(gdb) bt
#0  redis_fragment_argx (r=0x806450, ncontinuum=4, key_step=2, frag_msgq=<optimized out>) at nc_redis.c:2378
#1  0x000000000040e878 in req_recv_done (ctx=0x63e090, conn=0x6460c0, msg=0x806450, nmsg=<optimized out>) at nc_request.c:613
#2  0x000000000040dae9 in msg_parsed (msg=0x806450, conn=0x6460c0, ctx=0x63e090) at nc_message.c:591
#3  msg_parse (msg=0x806450, conn=0x6460c0, ctx=0x63e090) at nc_message.c:626
#4  msg_recv_chain (msg=0x806450, conn=0x6460c0, ctx=0x63e090) at nc_message.c:681
#5  msg_recv (ctx=0x63e090, conn=0x6460c0) at nc_message.c:714
#6  0x0000000000409531 in core_recv (conn=0x6460c0, ctx=0x63e090) at nc_core.c:194
#7  core_core (arg=0x6460c0, events=255) at nc_core.c:329
#8  0x000000000041f39d in event_wait (evb=0x63e570, timeout=1000) at nc_epoll.c:269
#9  0x0000000000409b29 in core_loop (ctx=ctx@entry=0x63e090) at nc_core.c:352
#10 0x0000000000408e48 in nc_run (nci=0x7fffffffe080) at nc.c:530
#11 main (argc=<optimized out>, argv=<optimized out>) at nc.c:579

Followups:
I've traced this bug to modula distribution module.
When splitting multi key commands(mget, mset...), it uses msg_backend_idx(r, kpos->start, kpos->end - kpos->start) to choose which sub_msg every key is in. sizeof(sub_msgs) is ncontinuum, so idx should be less than ncontinuum - 1. When redis servers are stopped, they will be auto ejected from pool, thus making ncontinuum dropping to the number of working servers, but pool->continuum is still greater than ncontinuum, so idx returned will be greater than the sizeof(sub_msgs), accessing sub_msgs[idx] will cause segmentation fault.
We've just tested ketama, and it works fine. We'll change our configs for now, and see if it has any further problems...

Where idx is used.

Where idx is calculated.

I expect that https://github.com/twitter/twemproxy/pull/595 would fix this error - 377 seems to be the wrong approach (the function shouldn't have been passed ncontinuum to begin with)

#595 was merged and the 0.4.2/0.5.0 release should fix that - memory corruption in memcached gets seem to have had the same root cause and the same findings (as fragmented redis multi-sets) - see #563
From the github PR only showing commits above (and no PRs) I hadn't seen the other PR


Updated SPFx version from 1.17.1 to 1.17.2 & added row for 1.17.2 in …

…compatibility
Category

[x] Content fix
[ ] New article

Related issues N/A
What's in this Pull Request? SPFx version number changed to latest released version and updated compatibility matrix

Please resolve the conflicts before we can review this submission.

@andrewconnell resolved the conflict.


Aurora Hugo Theme

Hi there! I recently built my personal site (coryshaw.com) using Hugo, and decided to design and build a new Hugo theme from scratch and share it with the community.
Theme can be found here:
https://github.com/coryshaw/hugo-aurora-theme
Thanks!
Cory

Nice, added in b8789d6


Libsupcxx missing

https://wiki.osdev.org/Libsupcxx

Unable to build, or at least incredibly difficult to do so. Numerous errors occur when trying, which seems to be echo'd by the OSDev Wiki discussion. Closing for now as this isn't necessary.
https://wiki.osdev.org/Talk:Libsupcxx


Build docker image automatically after passing unit test cases

[ ] Completed building and deploying the docker image, here is the details of the script
https://github.com/Tibil-vishwAAs/Vishwaas/blob/main/.github/workflows/java.yml


Run Docker containers on Tredly

In theory Tredly can run Docker container, although we have never tested this. We're looking to do some research into this area.

Moved to https://github.com/tredly/tredly/issues/47


Map index column to different property name

NEST/Elasticsearch.Net version:
7.0.1
Elasticsearch version:
7.3.1
Description of the problem including expected versus actual behavior:
Hi , I have the following situation.
I want to read an index from elasticsearch into an c# classs.The problem is that one of the column from the index is different from my class property name.
index column name is : jsonrep.test.amount and my class property name is PriceAmount.
[ElasticsearchType(RelationName ="offers")]
class Offers
{
public string name { get; set; }
[Text(Name = "jsonrep.test.amount")]
public decimal PriceAmount{ get; set; }
}
The code for reading from elastic with nest is :
var connectionSettings = new ConnectionSettings(new Uri(_applicationSettings.ElaticServerUrl))
.DefaultMappingFor(i => i.IndexName("offers"))
.EnableDebugMode()
.PrettyJson()
.RequestTimeout(TimeSpan.FromMinutes(2));
var client = new ElasticClient(connectionSettings);
var offers = client.Search(s => s.Size(5000).Query(q => q.MatchAll())).Documents;
after this call the list its populated with the indexes but only the name property of every item is populated and the PriceAmount is 0.
Can you give an advice ? What am I doing wrong ?
Thank you.

Hi @ghetze.
Your mapping attribute looks correct, but you will need to also decorate the property with an attribute for serialisation/deserialisation.
You have some options here:

https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/field-inference.html#data-member-field-attribute - using DataMember attribute.

https://www.elastic.co/guide/en/elasticsearch/client/net-api/current/field-inference.html#serializer-specific-field-attribute - using PropertyName / JsonProperty attributes.

Would you be able to try the above and report back?
Also, we have newer versions of the NEST library for 7 available, so you may want to consider upgrading.
Thanks

Closing as no response received and a number of alternate solutions were offered.