0.9.4 doesn't process jobs

[x] I have checked the existing issues to avoid duplicates
[x] I have redacted any info hashes and content metadata from any logs or screenshots attached to this issue

Describe the bug
0.9.4 doesn't process jobs.
The job queue gets filled with new jobs and cleanup happens but no processing of pending jobs. Waited around 50 minutes.
Checking /metrics proccessed and failed jobs go down (cleanup after 24 hrs) and pending jobs just grow.
That this is not just a wrong output is also indicated by system load. It's very low.
To Reproduce
Bring up 0.9.4 and look what's going on at /metrics.
Expected behavior
Normal job processing. Eventually with a bit lower system load then with 0.9.3.
Environment Information (Required)

Bitmagnet version: 0.9.4
OS and version: Debian
Please specify any config values for which you have overridden the defaults: dht_crawler.save_pieces=true,dht_crawler.concurrency=x,dht_crawler.save_files_threshold=x,tmdb.enabled=false

Additional context
None

Hi, I'm not convinced that no jobs are running, since they get archived after 24 hours the processed count can go down while everything's working fine.
What does this query give you?
select ran_at from queue_jobs where status = 'processed' order by ran_at desc limit 1;

If it gives you a recent time then everything is fine...

2024-07-04 14:31:10.633 +0200
Nearly two hours old. Updated shortly after release and it runs since that moment.

2024-07-04 14:31:10.633 +0200
Nearly two hours old. Updated shortly after release and it runs since that moment.

Does the queue worker log any errors? Can you make sure it's definitely running? (maybe try running it in isolation)

Hm.....
Not an error. The debug log log file show gorm messages which are shown when jobs are processed.
It's running in Docker. Restarted with disabled DHT Crawler and WebUI. But the query alsways gives the same result.
System load is at 1.3-1.8 with 0.9.3 in normal operation it was around 6.5-7.8.
Hm.....

As I mentioned on Discord, this is almost certainly caused by having run the crawler with save_files_threshold of 10M, which adds an almost unbounded amount to the work that the DB has to do. There needs to be some work around the behaviour for saving more files, but I'm closing this for now because the problem is caused by having a setting that greatly deviates from the default/recommended settings.


lookup org1-ca.default: no such host  while Deploying a peer

Thanks a lot, I can successfully complete the tutorial in readme. Additionally, I use ./chart/hlf-operator to start manager
But when I use make run to start manager, I get  Post https://org1-ca.default:7054/enroll: dial tcp: lookup org1-ca.default: no such host  while executing kubectl-hlf peer create，and the manager print the same log indefinitely
2021-11-23T16:29:33.826+0800    INFO    controllers.FabricPeer  Service org1-peer0 created      {"fabricpeer": "default/org1-peer0"}
 [fabsdk/fab] 2021/11/23 08:29:33 UTC - n/a -> INFO TLS Enabled
 [fabsdk/fab] 2021/11/23 08:29:33 UTC - n/a -> INFO generating key: &{A:ecdsa S:256}
 [fabsdk/fab] 2021/11/23 08:29:33 UTC - logbridge.(*cLogger).Info -> INFO encoded CSR
2021-11-23T16:29:33.860+0800    DEBUG   controller-runtime.controller   Successfully Reconciled {"controller": "fabricpeer", "name": "org1-peer0", "namespace": "default"}

2021-11-23T16:29:33.912+0800    INFO    controllers.FabricPeer  Service org1-peer0 created      {"fabricpeer": "default/org1-peer0"}
 [fabsdk/fab] 2021/11/23 08:29:33 UTC - n/a -> INFO TLS Enabled
 [fabsdk/fab] 2021/11/23 08:29:33 UTC - n/a -> INFO generating key: &{A:ecdsa S:256}
 [fabsdk/fab] 2021/11/23 08:29:33 UTC - logbridge.(*cLogger).Info -> INFO encoded CSR
2021-11-23T16:29:33.950+0800    DEBUG   controller-runtime.controller   Successfully Reconciled {"controller": "fabricpeer", "name": "org1-peer0", "namespace": "default"}

I have no idea why this happens. Look forward to your reply

Hi @zhangfuli
Thanks for trying running the operator in your machine.
I have faced the issue when developing the operator, the alternative is to use node port instead of using the internal DNS service of kubernetes to reach the CA.
The host and port that's under enrollment is the one that needs to change, it's a bit tricky, if you want contact me via hangouts via<EMAIL_ADDRESS>


[Bug]: User sign up link on welcome page gone

Contact Details
No response
What happened?
I did a new github pull today and the user sign up button on the frontend is gone,
With the code Version yesterday it still worked.
This is in the .env file:
ALLOW_REGISTRATION=true

Steps to Reproduce

checkout newest version
run librechat

What browsers are you seeing the problem on?
Chrome
Relevant log output
No response
Screenshots
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

It's still working for me. Did you rebuild? How are you running the app?

yes I did a rebuild with: docker compose --profile download up --build
I run it locally on my ubuntu laptop as a docker image.
After rebuilding it run it with: docker compose up

My colleague has the same issue on his Windows machine.
We are both using a clone of the current master with the same .env file:
`##########################
Server configuration:
##########################
The server will listen to localhost:3080 by default. You can change the target IP as you want.
If you want to make this server available externally, for example to share the server with others
or expose this from a Docker container, set host to <IP_ADDRESS> or your external IP interface.
Tips: Setting host to <IP_ADDRESS> means listening on all interfaces. It's not a real IP.
Use localhost:port rather than <IP_ADDRESS>:port to access the server.
Set Node env to development if running in dev mode.
HOST=<IP_ADDRESS>
PORT=3080
Change this to proxy any API request.
It's useful if your machine has difficulty calling the original API server.
PROXY=
Change this to your MongoDB URI if different. I recommend appending LibreChat.
MONGO_URI=mongodb://<IP_ADDRESS>:27017/LibreChat
##########################
OpenAI Endpoint:
##########################
Access key from OpenAI platform.
Leave it blank to disable this feature.
Set to "user_provided" to allow the user to provide their API key from the UI.
OPENAI_API_KEY=user_provided
Identify the available models, separated by commas without spaces.
The first will be default.
Leave it blank to use internal settings.
OPENAI_MODELS=gpt-3.5-turbo
#,gpt-3.5-turbo-0301,text-davinci-003,gpt-4,gpt-4-0314
Reverse proxy settings for OpenAI:
https://github.com/waylaidwanderer/node-chatgpt-api#using-a-reverse-proxy
OPENAI_REVERSE_PROXY=
##########################
AZURE Endpoint:
##########################
To use Azure with this project, set the following variables. These will be used to build the API URL.
Chat completion:
https://{AZURE_OPENAI_API_INSTANCE_NAME}.openai.azure.com/openai/deployments/{AZURE_OPENAI_API_DEPLOYMENT_NAME}/chat/completions?api-version={AZURE_OPENAI_API_VERSION};
You should also consider changing the OPENAI_MODELS variable above to the models available in your instance/deployment.
Note: I've noticed that the Azure API is much faster than the OpenAI API, so the streaming looks almost instantaneous.
Note "AZURE_OPENAI_API_COMPLETIONS_DEPLOYMENT_NAME" and "AZURE_OPENAI_API_EMBEDDINGS_DEPLOYMENT_NAME" are optional but might be used in the future
AZURE_OPENAI_API_KEY=*********
AZURE_OPENAI_API_INSTANCE_NAME=******
AZURE_OPENAI_API_DEPLOYMENT_NAME=*****
AZURE_OPENAI_API_VERSION=*****
AZURE_OPENAI_API_COMPLETIONS_DEPLOYMENT_NAME=****
AZURE_OPENAI_API_EMBEDDINGS_DEPLOYMENT_NAME=*****
##########################
BingAI Endpoint:
##########################
Also used for Sydney and jailbreak
To get your Access token for Bing, login to https://www.bing.com
Use dev tools or an extension while logged into the site to copy the content of the _U cookie.
#If this fails, follow these instructions https://github.com/danny-avila/LibreChat/issues/370#issuecomment-1560382302 to provide the full cookie strings.
Set to "user_provided" to allow the user to provide its token from the UI.
Leave it blank to disable this endpoint.
BINGAI_TOKEN="user_provided"
BingAI Host:
Necessary for some people in different countries, e.g. China (https://cn.bing.com)
Leave it blank to use default server.
BINGAI_HOST=https://cn.bing.com
##########################
ChatGPT Endpoint:
##########################
ChatGPT Browser Client (free but use at your own risk)
Access token from https://chat.openai.com/api/auth/session
Exposes your access token to CHATGPT_REVERSE_PROXY
Set to "user_provided" to allow the user to provide its token from the UI.
Leave it blank to disable this endpoint
CHATGPT_TOKEN="user_provided"
Identify the available models, separated by commas. The first will be default.
Leave it blank to use internal settings.
CHATGPT_MODELS=text-davinci-002-render-sha,gpt-4
NOTE: you can add gpt-4-plugins, gpt-4-code-interpreter, and gpt-4-browsing to the list above and use the models for these features;
however, the view/display portion of these features are not supported, but you can use the underlying models, which have higher token context
Also: text-davinci-002-render-paid is deprecated as of May 2023
Reverse proxy setting for OpenAI
https://github.com/waylaidwanderer/node-chatgpt-api#using-a-reverse-proxy
By default it will use the node-chatgpt-api recommended proxy, (it's a third party server)
CHATGPT_REVERSE_PROXY=
#############################
Plugins:
#############################
For securely storing credentials, you need a fixed key and IV. You can set them here for prod and dev environments
If you don't set them, the app will crash on startup.
You need a 32-byte key (64 characters in hex) and 16-byte IV (32 characters in hex)
Use this replit to generate some quickly<EMAIL_ADDRESS>Here are some examples (THESE ARE NOT SECURE!)
CREDS_KEY=********
CREDS_IV=*******
AI-Assisted Google Search
This bot supports searching google for answers to your questions with assistance from GPT!
See detailed instructions here: https://github.com/danny-avila/chatgpt-clone/blob/main/docs/features/plugins/google_search.md
GOOGLE_API_KEY=
GOOGLE_CSE_ID=
StableDiffusion WebUI
This bot supports StableDiffusion WebUI, using it's API to generated requested images.
SD_WEBUI_URL=http://<IP_ADDRESS>:7860
##########################
PaLM (Google) Endpoint:
##########################
Follow the instruction here to setup:
https://github.com/danny-avila/LibreChat/blob/main/docs/install/apis_and_tokens.md
PALM_KEY="user_provided"
In case you need a reverse proxy for this endpoint:
GOOGLE_REVERSE_PROXY=
##########################
Proxy: To be Used by all endpoints
##########################
PROXY=
##########################
Search:
##########################
ENABLING SEARCH MESSAGES/CONVOS
Requires the installation of the free self-hosted Meilisearch or a paid Remote Plan (Remote not tested)
The easiest setup for this is through docker-compose, which takes care of it for you.
SEARCH=false
REQUIRED FOR SEARCH: MeiliSearch Host, mainly for the API server to connect to the search server.
Replace '<IP_ADDRESS>' with 'meilisearch' if serving MeiliSearch with docker-compose.
MEILI_HOST=http://<IP_ADDRESS>:7700
REQUIRED FOR SEARCH: MeiliSearch HTTP Address, mainly for docker-compose to expose the search server.
Replace '<IP_ADDRESS>' with 'meilisearch' if serving MeiliSearch with docker-compose.
MEILI_HTTP_ADDR=<IP_ADDRESS>:7700
REQUIRED FOR SEARCH: In production env., a secure key is needed. You can generate your own.
This master key must be at least 16 bytes, composed of valid UTF-8 characters.
MeiliSearch will throw an error and refuse to launch if no master key is provided,
or if it is under 16 bytes. MeiliSearch will suggest a secure autogenerated master key.
Using docker, it seems recognized as production so use a secure key.
This is a ready made secure key for docker-compose, you can replace it with your own.
MEILI_MASTER_KEY=********
##########################
User System:
##########################
JWT Secrets
JWT_SECRET=*********
JWT_REFRESH_SECRET=*********
Google:
Add your Google Client ID and Secret here, you must register an app with Google Cloud to get these values
https://cloud.google.com/
GOOGLE_CLIENT_ID=
GOOGLE_CLIENT_SECRET=
GOOGLE_CALLBACK_URL=/oauth/google/callback
Set the expiration delay for the secure cookie with the JWT token
Delay is in millisecond e.g. 7 days is<PHONE_NUMBER>7
SESSION_EXPIRY=(1000 * 60 * 60 * 24) * 7
###########################
Application Domains
###########################
Note: server = backend, client = public (the client is the url you visit)
For the google login to work in dev mode, you will likely need to change DOMAIN_SERVER to localhost:3090 or place it in .env.development
DOMAIN_CLIENT=http://localhost:3080
DOMAIN_SERVER=http://localhost:3080
###########################
Frontend Configuration (Vite):
###########################
Custom app name, this text will be displayed in the landing page and the footer.
VITE_APP_TITLE="LibreChat"
Enable Social Login
This enables/disables the Login with Google button on the login page.
Set to true if you have registered the app with google cloud services
and have set the GOOGLE_CLIENT_ID and GOOGLE_CLIENT_SECRET above
VITE_SHOW_GOOGLE_LOGIN_OPTION=false
Allow Public Registration
ALLOW_REGISTRATION=true
`

Is your colleague also using docker on windows? Add the following line to your Dockerfile:
# ...rest

# You will need to add your VITE variables to the docker-compose file
ENV VITE_APP_TITLE=$VITE_APP_TITLE
ENV VITE_SHOW_GOOGLE_LOGIN_OPTION=$VITE_SHOW_GOOGLE_LOGIN_OPTION
ENV ALLOW_REGISTRATION="true"

# React client build
ENV NODE_OPTIONS="--max-old-space-size=2048"
#...rest

Then build again, make sure to do docker-compose build --no-cache
We are working on handling frontend variables differently, but let me know if this works

ok, that workaround works, thank you :)

A temporary fix was pushed until we redesign the handling for the frontend.
The fix won't require any workarounds and should work with everything in the .env file.


Support also "/" for Parameters

 Issue by jogibear9988
Thursday Nov 21, 2013 at 06:46 GMT
Originally opened as https://github.com/gsscoder/commandline/pull/111

jogibear9988 included the following code: https://github.com/gsscoder/commandline/pull/111/commits

 Comment by gsscoder
Saturday Jun 06, 2015 at 07:50 GMT

This must be discussed...

 Comment by indigotock
Wednesday Jun 24, 2015 at 13:14 GMT

It's common on Windows (maybe others?) for command line arguments to use / instead of (or as well as) -. Here's the a snippet of the output of copy /?:
  source       Specifies the file or files to be copied.
  /A           Indicates an ASCII text file.
  /B           Indicates a binary file.
  /D           Allow the destination file to be created decrypted
  destination  Specifies the directory and/or filename for the new file(s).
  /V           Verifies that new files are written correctly.
  /N           Uses short filename, if available, when copying a file with a
               non-8dot3 name.
  /Y           Suppresses prompting to confirm you want to overwrite an
               existing destination file.
  /-Y          Causes prompting to confirm you want to overwrite an
               existing destination file.
  /Z           Copies networked files in restartable mode.
  /L           If the source is a symbolic link, copy the link to the target
               instead of the actual file the source link points to.

I'm assuming that's what this is about, but I haven't tested the code.
I think it's a good idea! I think the library should be able to follow convention when it can, it would make for a better experience at least.

 Comment by Mizipzor
Wednesday Jun 24, 2015 at 14:08 GMT

While it is common for Windows the library has thus far stuck to the gnu get opt syntax. Changing this is not a decision to be taken lightly, it needs to be done well. The biggest drawback is probably that this will be a step away from the "convention over configuration", something that is listed on the project front page as a feature, since this is something that the user of the library would have to decide upon and specify in code. My guess is that it will be unnecessarily complex to support both implicitly/silently.

 Comment by gsscoder
Wednesday Jun 24, 2015 at 14:32 GMT

@jogibear9988, while I'm open upon adding features to save time on data validation and transformation, I'm quite conservative on syntax.
As @mizipzor states the library implements the basic GNU C getopt() function going beyond only for features said. Now it's a just a link in the bottom of README.md but he used to be the project subtitle.
@jogibear9988 in my opinion *nix style is far more espressive and has its root on getopt(). On the other side the Windows forward slash of defining options clashes with *nix path and I think is a trend born only to differentiate OSes.
Said that should be quite straightforward allow both styles, I think it's not a good idea to allow both at the same time. I suppose that this setting could be expressed in ParserSettings or in a class-wide attribute.
Anyway it's an heavy modification and must be discussed with more people.
I want to add that as always I'm happy of people active interest in this project!
cc/ @nemec @gimmemoore

 Comment by nemec
Wednesday Jun 24, 2015 at 19:26 GMT

I agree with @gsscoder and @mizipzor that adding a '/' option is not in the spirit of the library. One important difference are long options, where Unix doubles up the dash while Windows uses only a single slash for short and long (I'm not sure the pull request linked above handles that distinction, but I haven't compiled it yet).
If it is allowed, it should definitely be a configuration option on the parser that chooses one or the other (not both). The only convention I can think of would be to switch based on which OS is running, but I don't like that idea at all (I prefer getopt style even on Windows).
We may also want to consider adding a Powershell style, too, which is just the Windows style with - instead of /.

 Comment by gsscoder
Wednesday Jun 24, 2015 at 19:49 GMT

@nemec, correct.
About Powershell style  I want to add that recently various *nix tool use -longname or a single hyphen for both short and long options. I see it more as a trend that as a design decision.
I want to add that often people forget the full getopt() spec... For example you can group short options:
$ app -abcd
# also with a value if the last option is not a switch
$ app -abcd10

or feeding a value to a long name using an equal token:
$ app --longname=value

For quote just ones...
A cool idea could be to expose the internal Core namespace to allow the maximum flexibility, but in it's actual state is designed for internal use and absolutely not ready as public API. Exposing this different level of abstraction, will also break the library motto of simplicity.

 Comment by johnddx
Wednesday Feb 10, 2016 at 07:07 GMT

Exposing the internal Core namespace is a good idea, once it's ready, but I don't really like it for solving this problem.
I agree with the axiom of simplicity.  I also see a lot of value in a single library which enables a developer to implement any of the more common CLI conventions, as requirements dictate.  I don't think these points are incompatible.  The number of conventions in common use, and which is being discussed here, is fairly small.  As such I think it's quite reasonable for the library to support multiple conventions without undermining its pillar of simplicity.  The desire for consistency is satisfied in another way:  a developer can use the same parser library regardless of which syntax he employs.  If one is developing a Windows application, they may not be able to conform to a specific set of design choices, and it would be a shame if that means they couldn't use this library as a result.  A library (usually) can't define requirements, requirements tend to dictate which library gets used.
Being the case, I would rather the developer have access to a high-level policy option that allows a choice between a few broad patterns, and which map to a handful of other more detailed options which can also be customized.  For example:

getopt() Syntax (default)

"-" for short option prefix
"--" for long option prefix
short option grouping allowed

Windows Legacy Syntax (e.g. "findstr")

"/" or "-" for short option prefix
long name options disallowed
short option grouping allowed

Windows "dir" Syntax

"/" or "-" for short option prefix
"/" or "-" for long option prefix
short option grouping disallowed

Powershell Syntax

"-" for short option prefix
"-" for long option prefix
short option grouping disallowed

custom syntax

developer shoots self in foot as needed

Since there is a default policy, the complexity of choosing and/or customizing a policy would be hidden until the developer needed it.

Has there been any follow up on this argument? I would like to implement commandlineparser library in my project, however, in to maintain retrocompatibility I need to pass in options with /option prefix.
Is there any workaround I can use in order to achieve that?

Hi, same here. Need to create a new app but need retrocompatibility. I use commandLineParser in all my project, I ll be really mad to need to move to another library "only" because some convention are not supported :(


Many substantial improvements

Completely rewritten InMemoryChannel, supporting retry-on-failure, data collector throttling backoff, partial successes, Flush, and synchronous Flush+Close.
Add tests for channel.
Request logging fixed.
Telemetry properties can be written to. (NOTE NOTE: This will change pretty soon!)
Fix panic on transmission error.
Mostly compatible with existing consumer code.

@jjjordanmsft,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

@OsvaldoRosado


[Issue]: Add toggle to align = sign for formulas

What needs to change?
Add the alignment of the = sign to be the default for formulas. Have an option to opt out of this functionality.
Does this issue relate or depend on other issues?
No response

fixed in #219


booking-api-task-assignation

we are a member of 2 (two)
https://github.com/gealsanchez/booking_api

Hi team,
Wow, you did it 🎉

Your project is complete!  There is nothing else to say other than... it's time to merge it :shipit:
Congratulations! 🎉
To highlight

All cards have descriptions, assignees, and pointings.  The pointings are fair according to the requirement.✔

Optional suggestions
Every comment with the [OPTIONAL] prefix won't stop the approval of this PR. However, I strongly recommend you to take them into account as they can make your code better. Some of them were simply missed by the previous reviewer and addressing them will really improve your application.
Cheers and Happy coding!👏👏👏
Feel free to leave any questions or comments in the PR thread if something is not 100% clear.
Please, remember to tag me in your question so I can receive the notification.

As described in the Code reviews limits policy  you have a limited number of reviews per project (check the exact number in your Dashboard). If you think that the code review was not fair, you can request a second opinion using this form.


Updated model dependency

Coverage remained the same at 84.72% when pulling 588a6688ea8a19c91a31bd1bfabca8dbf5680cb0 on updated-vehicle-report-model into 3994b7f901c1a6359bdf89d19c74798ab2e1feca on master.


Effect of search space boundaries on exploration

(Only boundaries for GP changed in the 2 plots)
Do you have any hints how a change in the boundaries effect exploration that much?
Our understanding was, that boundaries shouldn't effect exploration at all but only act as a limit.

It shouldn't all inputs being equal (the code is deterministic). There are
three main sources for behavior change that come to mind:

Random observation noise can affect exploration.
If you do hyperparameter optimization that can affect exploration
If you're discretizing the space, the behavior can change depending on
the discretization. This could be implicit: e.g., if you have 100 points
per dimension, then changing the domain affects the discretization.

On Mon, 26 Oct 2020 at 17:00, Webbah<EMAIL_ADDRESS>wrote:

[image: grafik]
https://user-images.githubusercontent.com/1822491/97196157-6fa79700-17ac-11eb-9126-940ab900535a.png
(Only boundaries for GP changed in the 2 plots)
Do you have any hints how a change in the boundaries effect exploration
that much?
Our understanding was, that boundaries shouldn't effect exploration at all
but only act as a limit.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/befelix/SafeOpt/issues/7, or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAKGGKFWJ4DVXV3KEHWEX3TSMWMJ7ANCNFSM4S7SMU6Q
.

We have random noise, but it is sampled from a seeded distribution.
Hence, we have a deterministic behavior, i.e. with the same bounds we can reproduce each of the above shown plots exactly.


Fix coins market item

The coins_markets call threw a decode error when I ran it for all pages:
reqwest::Error {
    kind: Decode,
    source: Error("invalid type: null, expected f64", line: 1, column: 1272),
}

As a quick check, I curl'd all pages and found that for all of the following fields, there is at least one coin with a null value:

ath
ath_date
atl
atl_date
circulating_supply
current_price
fully_diluted_valuation
high_24h
last_updated
low_24h
market_cap
market_cap_change_24h
market_cap_change_percentage_24h
market_cap_rank
max_supply
price_change_24h
price_change_percentage_24h
roi
times
total_supply
total_volume

I also know from previous experience that ath_change_percentage and atl_change_percentage can be null (see here)
Also roi is not a f64, but an object containing multiple other fields.

Thank you. Will fix the other issues that occurred in CI and publish a new version today.


OpenVPN: do not use deprecated variables since they are unset

Old legacy settings are replaced by new ones on settings load

[x] Redmine Issue: https://redmine.pfsense.org/issues/13090
[x] Ready for review

Looks good for me.


Use PostgreSQL instead of SQL Server

Obnoxious I can't run SQL Server on Docker for arm64, so here we are.

Accomplished more than just PostgreSQL change - this also includes creation of a Wishlist in its most basic form.


Use 0o for octal literals

Description
Fixes a Rubocop error regarding octal literals
Check List

[ ] All tests pass. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/TESTING.MD

There are some tests that will likely not pass, as they have not been passing on master.

[X] New functionality includes testing.
[X] New functionality has been documented in the README if applicable
[X] The CLA has been signed. See https://github.com/chef-cookbooks/community_cookbook_documentation/blob/master/CONTRIBUTING.MD

We're on cookstyle so this isn't an issue with the cookbook. I'm going to close this out.


Temporal extent does not follow the features specification

The OpenAPI schema for OGC API Features clearly states that the temporal property should be an array, of array of datetime strings. Link. Also see Requirement 17 or examples in the OGC API Features standard.
The current implementation is only an array of strings.

This was written off a draft version during a London OGC API Hackathon in 2019 before the temporal property was changed to an array of arrays.  It will have to be updated.  I have not tracked any spec changes since so let us know if there are any other things you notice.

Thanks for the quick response. I will be sure to create other issues if I find them

The Spatial bbox needed similar fix I made here.


Validate ACR token validity after token password rotation

Which issue this PR addresses:

Fixes ARO-3018
What this PR does / why we need it:
When we rotate ACR tokens via PUCM, it is possible for the token to end up in an ambiguous state, possibly due to a race condition. See slack thread for more context: https://redhat-internal.slack.com/archives/C02ULBRS68M/p1689709898669219
Test plan for issue:
TODO
Is there any documentation that needs to be updated for this PR?
TODO

/azp run e2e

What's the current state of this and can I help get it moving again?


Tutorial for PTVS (django+sql server)

I spent a fair amount of time looking around for a way to get a connection going between Django and Sql server.  Microsoft did a tutorial but it assumes that your running Azure.  I'd like to see one without azure.  Also if possible could the MS staff get the python package used in the tutorial to include the most recent version of django?
(Django MSSQL)
the problem with this package is that it stops at django 1.7
this tutorial uses azure and python 2.7
I cannot find a tutorial anywhere online that uses

python 3.4 or 3.5
-sql server
-Both: windows authentication for sql server and django sign in authentication
-sql server 2014

If there is something out there and I missed it then great! :+1:
Could you also help explain how to find some of the fields for the ODBC connection in the same tutorial?

I don't have any great answers for you right now - some of our documentation has fallen behind the ecosystem, and there's certainly a need for more tutorials here.
@eclectir or @huguesv may be more helpful, or at least be able to poke some people closer to the SQL team to think about this case.

djang-pyodbc-azure claims support for Python 3.5 and Django 1.10:
https://github.com/michiya/django-pyodbc-azure/blob/azure-1.10/setup.py
but it fails to install, either from PyPI or from GitHub, on my Windows machine :(
SQL team has some Django samples here: https://github.com/Azure/azure-sql-database-samples/tree/master/django
@meet-Bhagdev do you additional samples or info for @LeeRuns ?

Sure! Here is a sample app that I wrote: https://github.com/Microsoft/sql-server-samples/tree/master/samples/development-frameworks/django
If you have questions on how to make this app work let me know 👍
Adding @michiya for questions about django-pyodbc-azure on Django 10 and Python 3.5

@meet-bhagdev Is there a way to connect to MSSQL using from Django using windows authentication.
P.S: I am trying to connect to MSSQL from a docker container.

@David-Engel may be more helpful here

@tanzeel-bhatti Windows authentication from a Windows or Linux Docker container? Either one means that you would need to be using Windows integrated authentication because the Microsoft ODBC Driver for SQL Server does not support an option to send a Windows username/password combination via the connection string.
For a Windows container (note, you may encounter encoding issues in Windows 2019 containers, which default to UTF-8), since you can't join a container to a domain, you'd have to set up something like this:
https://success.docker.com/article/modernizing-traditional-dot-net-applications#integratedwindowsauthentication
Even then, I don't know if it will work.
If you are running a Linux container, similar issue. Right now, I don't think there is a way to join a Linux container to a domain but I'm not on the bleeding edge of containers. I know they have been working on ways to get Kerberos authentication working in a container environment, but I don't know if it's there yet. Once the underlying dependency is there, you should be able to apply the existing documentation to your container environment for integrated authentication:
https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/using-integrated-authentication

@David-Engel I am using the python:3.7 based image which is based on a ubuntu(debian) distribution.  My SQLServer does not accept connection from username/password but instead it only allows Windows Authentication.
I have my Djagno DB config something like this below
DATABASES = {     'default': {         'ENGINE': 'sql_server.pyodbc',         'NAME': 'ProdDB',         'USER': '',         'PASSWORD': '',         'HOST': 'MYMSSQL.com', # Or an IP Address that your DB is hosted on         'PORT': '',         'OPTIONS': {             'driver': 'ODBC Driver 17 for SQL Server',         },     } }
I have followed this  and this. I am not sure how these guys were able to connect to the DB.

@tanzeel-bhatti In those links, it doesn't sound like they are running the client in a container. Their clients are probably normal, domain-joined clients. For your service in a Linux container, you ultimately want to generate a keytab file. There are numerous articles written on the subject but you basically want to follow one like this:
https://www.codeproject.com/Articles/1272546/Authenticate-NET-Core-Client-of-SQL-Server-with-In
You might need to read up on Kerberos to understand what's going on, too:
https://help.ubuntu.com/lts/serverguide/kerberos.html
After that, the MS ODBC driver documentation might make more sense:
https://docs.microsoft.com/en-us/sql/connect/odbc/linux-mac/using-integrated-authentication?view=sql-server-2017#deploying-a-linux-or-macos-odbc-driver-application-designed-to-run-as-a-service


Webviz-store should support unnamed arguments

What is meant here is that when calling a webviz-stored function, currently all arguments in the call needs to be kwargs. We should support positional arguments as well.

And defaulted arguments.


Can not install because readme not found

    Complete output from command python setup.py egg_info:     Traceback (most recent call last):       File "<string>", line 1, in <module>       File "C:\Users\bamas\AppData\Local\Temp\pip-install-bqja5nj7\pyscreeze\setup.py", line 10, in <module>         with open("README.md", "r") as fh:     FileNotFoundError: [Errno 2] No such file or directory: 'README.md'

The new release of pyscreeze fails to install.
As workaround try:
pip install pyscreeze==0.1.14
I created a new ticket for this issue too.
https://github.com/asweigart/pyscreeze/issues/37

I can't install pyautogui and pyscreeze

Also having same problem.

For me, the error is gone with the closed ticket asweigart/pyscreeze#37 and the new version of pyscreeze 0.1.18.

I can install pyscreeze, but still can't install pyautogui

Fixed as of (and sometime before) 0.9.38.


[turborepo] Windows CLI doesn't show color highlight properly

What version of Turborepo are you using?
1.10.3
What package manager are you using / does the bug impact?
npm, pnpm, Yarn v1
What operating system are you using?
Windows
Describe the Bug
When using it under Windows default CMD, it doesn't show any highlighted color. How ever, color highlighting with other JS packages work fine.

It works fine with Git Bash:

But not Git bash in VSCode, which is weird
Expected Behavior
Highlight color correctly.
To Reproduce
Run any comnands with Windows 10 CMD
Reproduction Repo
No response

Hey @dzcpy , we weren't able to reproduce this on Win10, OS build 19045.3570 even using<EMAIL_ADDRESS>It does seem to be a known thing that not all Windows CMD.exe doesn't support color escape sequences across the board, but considering that reported this from Win 10, it may be a setting on your end.
Can you check out https://learn.microsoft.com/en-us/windows/console/setconsolemode and try some things? Some things that jump out are ENABLE_VIRTUAL_TERMINAL_PROCESSING and ENABLE_PROCESSED_OUTPUT.
You can also try using the --no-color if that helps get you some output that is easier to read.


MAT-4633 measure group page new design components

MADiE PR
Jira Ticket: MAT-4633
(Optional) Related Tickets:
Summary
All Submissions

[x] This PR has the JIRA linked.
[x] Required tests are included.
[x] No extemporaneous files are included (i.e Complied files or testing results).
[x] This PR is merging into the correct branch.
[ ] All Documentation needed for this PR is Complete (or noted in a TODO or other Ticket).
[ ] Any breaking changes or failing automations are noted by placing a comment on this PR.

DevSecOps
If there is a question if this PR has a security or infrastructure impact, please contact the Security or DevOps engineer assigned to this project to discuss it further.

[x] This PR has NO significant security impact (i.e Changing auth methods, Adding a new user type, Adding a required but vulnerable package).
[x] All CDN/Web dependencies are hosted internally (i.e MADiE-Root Repo).

Reviewers
By Approving this PR you are attesting to the following:

Code is maintainable and reusable, reuses existing code and infrastructure where appropriate, and accomplishes the task’s purpose.
The tests appropriately test the new code, including edge cases.
If you have any concerns they are brought up either to the developer assigned, security engineer, or leads.

Not exactly sure what is the expectation from the story. but
AC 1.5 specifies  - Update color and font of the action buttons (Save, Discard Changes, Cancel) - add specific link

new screen shot:


require fallback

Adding the require fallback to support yarn in PnP mode.
Added workflows to test it.
Note I had to add a new script in package.json because the mjs files do not work with yarn (it doesn't support esm yet)
There is a repetitive warnings in the output
test/thread-management.test.js 2> (node:3755) [MODULE_NOT_FOUND] Error: debug tried to access supports-color (a peer dependency) but it isn't provided by its ancestors; this makes the require call ambiguous and unsound.

caused by some dependencies that have not added the module into their package json.
Not sure it is worth some investigation
Reference https://github.com/pinojs/pino/pull/1113

Done
Note that the workflows did not run into this repository yet

2 workflows awaiting approval

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

2 of 5 (40.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-2.0%) to 85.427%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/worker.js
2
5
40.0%

Totals

Change from base Build<PHONE_NUMBER>:
-2.0%

Covered Lines:
260

Relevant Lines:
289

💛  - Coveralls

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

-3 of 5 (40.0%)  changed or added relevant lines in 1 file are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-2.0%) to 85.427%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/worker.js
2
5
40.0%

Totals

Change from base Build<PHONE_NUMBER>:
-2.0%

Covered Lines:
260

Relevant Lines:
289

💛  - Coveralls


Host inventory multi backend

A backend should have a host inventory.
specinfra-ec2_metadata-tags will be broken by this change. I'll send a PR to it.

CI failed... I'll check out.
FYI: here is multi backend branch: https://github.com/itamae-kitchen/itamae/compare/multi-backend

Cool! Thanks!

Released as v2.24.0.


Content editor

Updates for the Content Editor aimed at ensuring design and functionality matches what we have previously built/used

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

11 of 11 (100.0%)  changed or added relevant lines in 3 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage increased (+0.1%) to 63.124%

Totals

Change from base Build<PHONE_NUMBER>:
0.1%

Covered Lines:
1285

Relevant Lines:
1780

💛  - Coveralls


Animations

Need to check the complexity to implement those animations:

Shadows;
Circle animation (time to spawn new bees)
Line animation (fight scores)
Bee attack animation (attack sprite)

To look for libraries for creating canvas animation:
https://github.com/sergey-pimenov/awesome-web-animation?tab=readme-ov-file#canvas

Sprite animation without libraries:
https://www.youtube.com/watch?v=CY0HE277IBM&list=PLYElE_rzEw_uryBrrzu2E626MY4zoXvx2&ab_channel=Frankslaboratory


Add GET/POST/DELETE for server_server_capabilities

What does this PR (Pull Request) do?

[x] This PR is not related to any Issue
Add server server_capabilities support to the API.

Adds the ability to

GET
POST
DELETE

server_capabilities associations with servers.
Includes tests, API handlers, migrations
Which Traffic Control components are affected by this PR?

Documentation
Traffic Control Golang Client
Traffic Ops

What is the best way to verify this PR?

Apply migrations to db and seed server_capabilities in new table server_capability.
Build new traffic ops API and then associate/get/disassociates those newly seeded server_capability to servers via the new api path /server_server_capabilities
If this is a bug fix, what versions of Traffic Control are affected?

The following criteria are ALL met by this PR

[x] This PR includes tests
[x] This PR includes documentation
[x] This PR does not include an update to CHANGELOG.md
[x] This PR includes any and all required license headers
[x] This PR ensures that database migration sequence is correct
[x] This PR DOES NOT FIX A SERIOUS SECURITY VULNERABILITY (see the Apache Software Foundation's security guidelines for details)

Can one of the admins verify this patch?

also, i didn't see any "changelog" entries written for any of these actions. i.e. search for CreateChangeLogRawErr

The changelog entries are driven/handled by the shared handlers

add to whitelist

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/4425/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/4429/

without reading thru the code does DELETE ensure that no delivery services are currently assigned to the server that require the server capability that is being removed from the server? (confusing sentence)

@mitchell852 makes sense to me :) it does not as we do not have the association on delivery service to server capability yet. Once we do then I will be adding the validation in follow on PR.

@mhoppa - can you give me an example of what the response to this would look like:
GET /server_server_capabilities/?serverCapability=foo
just trying to make sure I have all the data to make a UI to "show all the servers that employ a certain server capability"

yep! @mitchell852 that would look like:
	{
		"response": [
			{
				"lastUpdated": "2019-10-05 22:05:31+00",
				"serverHostName": "foco-1",
				"serverId": 1,
				"serverCapability": "foo"
			},
			{
				"lastUpdated": "2019-10-08 22:05:31+00",
				"serverHostName": "foco-2",
				"serverId": 2,
				"serverCapability": "foo"
			},
			{
				"lastUpdated": "2019-10-10 22:05:31+00",
				"serverHostName": "loveland",
				"serverId": 3,
				"serverCapability": "foo"
			}
		]
	}

well you can fetch a server's details from its hostname. What would help is if a server automatically came with its list of capabilities...

well you can fetch a server's details from its hostname. What would help is if a server automatically came with its list of capabilities...

right but imagine populating a table of servers that utilize capability foo. maybe there are 50 servers, so make 50 api calls to populate the table?

you may need to add "user capabilities" for these new endpoints. i.e.
server-server-capabilities-read
server-server-capabilities-write
see this comment on another PR: https://github.com/apache/trafficcontrol/pull/3966#issuecomment-540061661

Right that's what I'm saying. If you want full server information in this payload, then you've basically created an entirely new endpoint just to add a field to /servers.
I think hostname is probably the best you could ask for - maybe an ID too, not that that's really what a TP user is interested in seeing.

ID and hostname seem fine. That is at least enough information to link to the server page if someone wanted to see a particular server's details, right?

I added this comment to the blueprint regarding the need for bulk assignment (or deletion) of servers to a server capability: https://github.com/apache/trafficcontrol/pull/3972#pullrequestreview-299755840

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/4442/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/4443/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/4501/

Refer to this link for build results (access rights to CI server needed):
https://builds.apache.org/job/trafficcontrol-PR/4502/

Per https://github.com/apache/trafficcontrol/pull/3971#issuecomment-540071587 when we put together the more holistic documentation on server capability we can add the term at that point. For now removed the term reference


Fix for WFLY-16863, Express default standalone configurations with Galleon layers

Issue: https://issues.redhat.com/browse/WFLY-16863
This change re-implement the default configurations with Galleon layers.
Added new tests to cover execution of default configs without inheriting all JBoss Module modules.
For full feature-pack, the gain in filesystem size is around 100MB. 275MB without layers, 165MB for std/std-ha , 175MB for full/full-ha.
For ee feature-pack, the gain in filesystem size is around 100MB. 261MB without layers, 161MB for std/std-ha , 173MB for full/full-ha.
For preview feature-pack, the gain in filesystem size is around 100MB. 275MB without layers, 165MB for std/std-ha ,177MB for full/full-ha.
@bstansberry I am thinking that we should remove the un-used feature_groups (not yet done in this PR). Although one could use them, they are not really part of any API. Keeping them will create maintenance issue (eg: doing a fix in an un-used feature-group).
Link to diff for standalone.xml: https://gist.github.com/jfdenise/ed53e08ef3439daa7807d3b6a5aebcd0

@jfdenise I haven't had time to look at this yet, but +1 to cleaning out and feature group cruft.

@bstansberry , to be able to cleanup I had to express the example configs with layers + feature-groups.
We have one config that is not exactly the same with these changes. The standalone-minimalistic.xml that now contains access-control and audit-log.
I have also removed the example configs defined in ee-9, the example configs in ee-9 are now identical to the one used in wildfly and wildfly-ee feature-packs. I hope that it is OK.
We still have some standalone related feature-groups that are used by domain configurations. I was not able to remove them.

@bstansberry ,
I am done with this refactoring. I feel that using Galleon layers the content of standalone configuration (config.xml files) is much easier to read, the content of each config is explicit. We have less duplication in the ee/full/preview feature-packs.

Un-used feature-groups have been removed.
Introduced 2 layers: standalone-profile and standalone-full-profile.
Default HA configs configure the standalone-profile  and standalone-full-profile layers by excluding "local" layers and including "dist" ones.
WildFly Full now inherits standalone default configs from EE feature-pack and doesn't redefine them. That is possible thanks to the standalone-profile and standalone-full-profile layers defined by the ee feature-pack that full feature-pack extends to add some microprofile layers.
Example config standalone-minimalistic.xml now contains access-control and audit-log. If that is an issue, I can still express them with feature-groups (as they used to be), this will not bring maintenance issue. With the existence of Galleon layers this configuration is perhaps meaningless. Let me know.
EE-9, comply with the existing pattern (galleon-content vs galleon-microprofile-content). standalone-profile and standalone-full-profile are defined in the galleon-microprofile-content in order to add the microprofile Galleon layers.

The only missing Galleon layer I identified  in the default configs could be a jaeger opentracing layer. That is not critical with respect to JBoss Modules provisioning, we are safe there. It would allow to exclude opentracing from the standalone configs, although internally (eg: example configs) we don't need to exclude it.
If we want to better cover the example configs, we could introduce an XTS and RTS Galleon layer, but I guess that it shouldn't block this refactoring. The example configs are not expected to be provisioned with passive+.

Hi @jfdenise -- this is finally coming onto my radar screen...
What I'm going to do with this is build wildfly-dist with and without this and compare the output. Preview too.
I suspect https://issues.redhat.com/browse/WFLY-17004 will be a problem.
Then I'll dig into the changes.

As we discussed earlier, the diffs look ok. Changes in element ordering in the xml, which if unavoidable are something to do in WF 27 (fyi re this @emmartins in case the server migration cares about element ordering in some way).  Then the batch thing which we can chat about in zulip.

@jfdenise I'm not sure of the objective here. This seems ok as a refactor, but doesn't the use of the value 'adjust-standalone-xxx' feature groups in the different config.xml files mean that we aren't expressing the default configurations using layers? We're closer than we were, but I'm unclear on what that gets us.
I'm not saying getting closer than where we were isn't something to do; I'd just like to understand better how this fits into the overall picture.
Some things I completely understand why we wouldn't express via layers; for example the 'welcome-content' stuff. Others I'm less clear.

@bstansberry , the adjustments don't bring new subsystems or depend on some other JBoss Modules that the layer would not bring. Adjustments are layers "tuning" to comply with the existing default configs. We have something similar for the standalone-microprofile default configs.
The goal of this refactoring is to be able to provision a trimmed server for a given default standalone config with the right set of JBoss modules (knowing that we need to fix hibernate-search).
I agree that we could move these adjustments to some new Galleon layers. Having no feature-group at all would allow us to tweak a default config (by excluding some layers).
I could evolve this PR with this suggestion or log new issues to track the new layers.

Thanks @jfdenise. Re evolution, I started writing this comment yesterday, but left off midway at end of my day...
This comment is kind of notes to myself or other who are interested re: what I'm seeing in the various 'adjust-standalone' feature groups.

Add undertow-default-config
a) Add welcome-content resources. I totally get why that's not in a layer.
b) Sets 'default-security-domain=other'. It's feels a bit off, haven't dug in enough to have a sense of what to do about it.

Unset the remoting subsystem endpoint worker attribute. I haven't looked but this feels like something that should be in one of the existing layers.

The remote-naming, ejb3-db-pool and ejb-remote feature groups. My impression is this is because the 'ejb' layer also brings in the 'messaging-activemq' layer which is not wanted in standalone.xml. Perhaps we should make that dep excludable.

Add ejb3-iiop. Initially adding a layer for that was part of the EJB layers plans. We didn't do it; I forget why not. Perhaps just to reduce scope.

Adding infinispan-local-server or infinispan-dist-server. Those are part of the singleton-local and singleton-ha layers so I'm not sure what's the story with these two.

Add the messaging-activemq-ha feature group to standalone-full-ha.

Add undertow-default-config
a) Add welcome-content resources. I totally get why that's not in a layer.
b) Sets 'default-security-domain=other'. It's feels a bit off, haven't dug in enough to have a sense of what to do about it.

Unset the remoting subsystem endpoint worker attribute. I haven't looked but this feels like something that should be in one of the existing layers.

You mean updating the remoting layer? It appears that wildfy-ee-galleon-pack redefines the remoting feature_group that remoting layer uses. This could be done there.

The remote-naming, ejb3-db-pool and ejb-remote feature groups. My impression is this is because the 'ejb' layer also brings in the 'messaging-activemq' layer which is not wanted in standalone.xml. Perhaps we should make that dep excludable.

That would work except for the ejb3-mdb feature-group that ejb layer brings that is not in standalone configs.

Add ejb3-iiop. Initially adding a layer for that was part of the EJB layers plans. We didn't do it; I forget why not. Perhaps just to reduce scope.

Ok.

Adding infinispan-local-server or infinispan-dist-server. Those are part of the singleton-local and singleton-ha layers so I'm not sure what's the story with these two.

infinispan-dist-server is actually a left-over, using singleton-ha layer is enough. I can remove it.
We can't use the singleton-local layer in standalone config, singleton subsystem is not present in the current standalone configs.

Add the messaging-activemq-ha feature group to standalone-full-ha.

You mean to add the feature-group directly in the standalone-full-ha config and not transitively through the adjust-standalone-full-ha-config feature-group? Would you see a benefit to this change?

@jfdenise  Note that my previous comment was basically just a list of what I saw, as a way to organize discussion. So if what I said wasn't clear about what to do, it's because I didn't know. ;)

Add undertow-default-config
a) Add welcome-content resources. I totally get why that's not in a layer.
b) Sets 'default-security-domain=other'. It's feels a bit off, haven't dug in enough to have a sense of what to do about it.
Unset the remoting subsystem endpoint worker attribute. I haven't looked but this feels like something that should be in one of the existing layers.

You mean updating the remoting layer? It appears that wildfy-ee-galleon-pack redefines the remoting feature_group that remoting layer uses. This could be done there.

That sounds likely. I haven't looked into why the remoting feature_group does that. But my instinct is either it doesn't need to, or the layer itself should already do it. I suspect there's some no longer important historical reason for this one.

The remote-naming, ejb3-mdb-pool and ejb-remote feature groups. My impression is this is because the 'ejb' layer also brings in the 'messaging-activemq' layer which is not wanted in standalone.xml. Perhaps we should make that dep excludable.

That would work except for the ejb3-mdb feature-group that ejb layer brings that is not in standalone configs.

Let's see what @chengfang and @tadamski say about that.  This is what that feature group brings:
<feature spec="subsystem.ejb3">
        <param name="default-resource-adapter-name" value="${ejb.resource-adapter-name:activemq-ra.rar}"/>
        <param name="default-mdb-instance-pool" value="mdb-strict-max-pool"/>
    </feature>

I'm not an expert but the 'default-mdb-instance-pool' feels harmless, given the config does have the pool resource. The 'default-resource-adapter-name' sounds more problematic.

Add ejb3-iiop. Initially adding a layer for that was part of the EJB layers plans. We didn't do it; I forget why not. Perhaps just to reduce scope.

Ok.

Adding infinispan-local-server or infinispan-dist-server. Those are part of the singleton-local and singleton-ha layers so I'm not sure what's the story with these two.

infinispan-dist-server is actually a left-over, using singleton-ha layer is enough. I can remove it. We can't use the singleton-local layer in standalone config, singleton subsystem is not present in the current standalone configs.

@pferraro Does the 'infinispan-local-server' feature group bring any value to standalone.xml if the singleton subsystem isn't present?

Add the messaging-activemq-ha feature group to standalone-full-ha.

You mean to add the feature-group directly in the standalone-full-ha config and not transitively through the adjust-standalone-full-ha-config feature-group? Would you see a benefit to this change?

For this one I didn't mean anything; I was just listing what the 'adjust-xxx' feature groups were doing and didn't have any vague thoughts to add on to this item. :-)

@bstansberry

Does the 'infinispan-local-server' feature group bring any value to standalone.xml if the singleton subsystem isn't present?

It is only required by capability references (e.g. the singleton subsystem).
The only remaining cache-container without any capability references that should exist by default is "hibernate".

@pferraro I suppose a benefit of having it in the OOTB config even though the singleton subsystem isn't is it makes it easier to add the subsystem via CLI, xml editing etc.

Hi Brian, the migration tool does not cares about XML element order. Thanks for the notice.

On 15 Sep 2022, at 16:25, Brian Stansberry @.***> wrote:
As we discussed earlier, the diffs look ok. Changes in element ordering in the xml, which if unavoidable are something to do in WF 27 (fyi re this @emmartins https://github.com/emmartins in case the server migration cares about element ordering in some way). Then the batch thing which we can chat about in zulip.
—
Reply to this email directly, view it on GitHub https://github.com/wildfly/wildfly/pull/15966#issuecomment-1248259081, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAEDY6EQHKFVHYKBPAAPN5DV6M5YDANCNFSM57IEGRPQ.
You are receiving this because you were mentioned.

Resync with main branch. Added micrometer layer in preview FP.
Aligned implementation with WildFly proposal: https://github.com/wildfly/wildfly-proposals/pull/497

Resynced with main branch:

Removed embedded broker from preview feature-pack configs.
Removed metrics from preview feature-pack configs.

Resynced with main branch. Impact on ec2 example configs.

/retest

/rest

/retest

@pferraro , we are wandering if removing the infinispan-local-server feature-group from the standalone.xml and standalone-full.xml configuration would be ok with you. There is no singleton subsystem in these 2.  @bstansberry , in relation to our discussion.

@chengfang , this PR introduces the usage of the jberet Galleon layer to define the standalone default configurations (standalone, standalone-full, standalone-ha and standalone-full-ha). This introduces a difference with today configurations, the jberet subsystem is now secure using the "ApplicationDomain" elytron security domain. This is what the jberet Galleon layer is doing.
Is it OK with you to introduce this change in our default configurations? Thank-you. @bstansberry @fjuma FYI.

@pferraro , we are wandering if removing the infinispan-local-server feature-group from the standalone.xml and standalone-full.xml configuration would be ok with you. There is no singleton subsystem in these 2. @bstansberry , in relation to our discussion.

The capabilities provided by that feature-group are only required by the singleton subsystem - so this should be ok.

@jfdenise batch-jberet subsystem has a security-domain element that defines the default security domain to use. Does your change interfere with this existing configuration?

Hi @chengfang
The does not interfere with the ability to configure that attribute. It changes its value in the OOTB standalone.xml and domain.xml files.
If you look in our current standard OOTB configs, the batch-jberet subsystem's security-domain attribute is not set. (The xml element is not present.)
If you provision a slimmed server and specify the batch-jberet Galleon layer, then the xml has
<security-domain name="ApplicationDomain"/>

This PR has the effect of aligning the standard OOTB configs with what you would get if a user created configs using the Galleon layers. So the effect is all the OOTB standalone.xml and domain.xml variants will have set security-domain="ApplicationDomain".  @jfdenise and I are looking for your approval of that change.

@bstansberry @jfdenise Adding jberet-batch security-domain to OOTB configuration looks good to me.

@pferraro , it appears that we have 6 tests that expect the server cache to be present in the standalone and standalonefull configs:

org.jboss.as.test.integration.ee.injection.resource.infinispan.InfinispanCdiTestCase
org.jboss.as.test.integration.ee.injection.resource.infinispan.InfinispanInjectionTestCase
org.jboss.as.test.integration.ee.injection.resource.infinispan.InfinispanResourceRefTestCase
org.jboss.as.test.clustering.single.singleton.SingletonServiceTestCase
org.jboss.as.test.clustering.single.registry.RegistryTestCase
org.jboss.as.test.clustering.single.provider.ServiceProviderRegistrationTestCase

@jfdenise FYI re https://issues.redhat.com/browse/WFLY-17791, which I filed to keep track of things to look into that shouldn't block this. Feel free to edit that with others you may want to track.

@bstansberry I squashed part of the commits, kept the commit for WFLY-17778 fix.

Thanks @jfdenise, @pferraro and @chengfang!


Bridging header should use relative path

When you dragged the bridging header into the Test target config, it used the full path for that file on your machine.     That path should be changed to a relative path, i.e.:
SimpleTipCalculatorTests/SimpleTipCalculatorTests-Bridging-Header.h

Would you like to submit a pull request that corrects that issue?


[opentelemetry-demo] Update demo chart to 0.6.0-beta

Fixes https://github.com/open-telemetry/opentelemetry-helm-charts/issues/426
There are errors coming from recommendation service for me using the current version as well as this version. Need to investigate.

Ok, so I have confirmed that the errors I'm seeing on the recommendation service is an issue with the current version and not new. I will make a separate issue for that and I don't think it should block this PR, but I defer to any reviewer who disagrees.

@joshleecreates no need to block the bump if it's an issue with the demo itself and not it's usage in k8s. The issue appears in docker compose as well?

@joshleecreates no need to block the bump if it's an issue with the demo itself and not it's usage in k8s. The issue appears in docker compose as well?

It does not occur in docker compose. It does occur with the current main commit of the helm chart.

Thanks for creating the issue. I think we can move forward with the bump then and prioritize fixing the issue in a separate PR.


Refinement list gets populated and empty again when entering search page directly from URL

🐛 Current behavior
Currently, when entering the search page directly from the URL, the refinement list gets populated, and then, it gets clean again. There's no change on our side, the query is still present on the response (so, it didn't get lost), and the only difference in the response from each time, is the items value.
simplescreenrecorder-2024-07-23_12.52.56.webm
In QA/PROD, this is the behavior:

It's calling 5 times in debugger
In the first time, items is empty
Only in the last time that items get empty
In connectRefinementList.js:150:

first time, items is empty: status loading
second time, items populated: status is not included
third time, items populated: status loading
fourth time, items populated: status stalled
fifth time, items is empty: status idle

I've also tried to update the packages (4.73.2 and 4.19.0), but it only worked for local env, not other environments. We validated and the package was updated on those environments.
In local, this is the behavior (that's the "expected", since it gets the items populated and not empty):

It's calling 6 times in debugger
In the first time, items is empty
Second to last time, items are populated
In connectREfinementList.js:150:

first time, items is empty: status loading
second time, items populated: status is not included
third time, items populated: status loading
fourth time, items populated: status stalled
fifth time, items populated: status loading
sixth time, items populated: status idle

🔍 Steps to reproduce

Go to https://nuts.com/search/instant?query=cashews
Check the box on the left side, responsible for rendering the filters
Check that it will populate and then clean the list of facets

Live reproduction
https://nuts.com/search/instant?query=cashews
💭 Expected behavior
The items shouldn't be clear after they are populated.
simplescreenrecorder-2024-07-23_13.04.56.webm
Package version
instantsearch.js: ^4.37.3, vue-instantsearch: ^4.17.5
Operating system
No response
Browser
No response
Code of Conduct

[X] I agree to follow this project's Code of Conduct

Has this always happened or only since a certain version?

This hasn't always happened, we are not sure where this started, but we believe it was when we updated the vue to 3.4.31. I can help with the stack traces and debugging the nuts website

The best way to get to a solution here is first a minimal reproducible example, do you think you could make that? thanks!


Failed to resolve: com.google.ar:core:1+

any tips on trouble shooting this issue?

Having the same issue, any help appreciated

I had more success with this fork: https://github.com/kashimAstro/ofxARCore
I had to boost the SDK version from 25 to at least 26 in the examples though.


Update nose test results when debugging.

Create workspace
Create a folder with tests directory
Create a file named tests\test_one.py with the following content:

import unittest
import sys

class test_one(unittest.TestCase):
    def test_this(self):
        print("ONE")
        self.assertTrue(True)

Enable the test framework of nose tests

Run a test (works with green icon indicating test has passed)

Debug a test (works and passes (as indicated by the "Debug Console" output but icon won't be updated)

Similar to  #1043 but for nose tests instead of pytests
This issue (alongside #1043) is expected to be fixed in https://github.com/microsoft/vscode-python/pull/15432 - a separate issue created as per comment request

Thanks for creating a separate issue for this. I added "needs PR" to mark this issue as ready to be worked on. PRs welcome.


Builder: expire recruit invitation before running the matching system

We should stop adding/removing users to/from the reviewers group.

I'm not sure where to do this, may be we can ask the PCs of a date for the assignment and use it to set the expdate del recruitment?
I'm not sure if this issues is needed, when we validate that only tilde ids can be used to run the paper matching.


System tests

... rebased

I gave the php version topic a thought and came to the decision: Let's drop PHP5 and HHVM. While doing that let's add nightly so we get tests on the upcoming 7.2.
Does this seem good to you? :wink:

Perfect!
Am 18.10.2017 17:02 schrieb "Benjamin Zikarsky"<EMAIL_ADDRESS>
I gave the php version topic a thought and came to the decision: Let's
drop PHP5 and HHVM. While doing that let's add nightly so we get tests on
the upcoming 7.2.
Does this seem good to you? 😉
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/bzikarsky/react-gearman/pull/29#issuecomment-337621522,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAUQZ8knt21VWEq4vlD-i0UvNJ9sYSpAks5sthMOgaJpZM4P9qfD
.


Review commented code

There are a lot of insert into logs statements in the code as comments.

Reviewed, all the comments are for debug purposes


doc is 403 Forbidden

https://docs.sciml.ai/EasyModelAnalysis/stable/  is 403 Forbidden

See https://github.com/SciML/EasyModelAnalysis.jl/issues/71.

This should be fixed in tonight's build.


add role_preference

Similar to multifactor_preference, it would be great to have a role_preference as well.
1 - AWS-WPIT_EC2-S3-RDS_Admin
2 - AWS-WPIT_DevAdmin
Choose a Role ARN to use: 2

This would prevent one from having to choose the Role ARN each time for certain AWS accounts.

Nevermind- looks like you can just set okta_aws_role_to_assume instead.


How to edit the font size in social.html?

Acknowledge the following

[yes] I carefully read and followed the Getting Started guide.
[yes] I read through FAQ and searched through the past issues, none of which addressed my issue.
[yes] The issue I am raising is a potential bug in al-folio and not just a usage question.  [For usage questions, please post in the Discussions instead of raising an issue.]
A clear and concise description of what the bug is.

Thank you for this wonderful template!
I was wondering how to adjust the font size in social.html? It is too big for me. The file _base.scss can only adjust the icon size, so I treid to adjust the size by the codes font size=2px, but it does not work.
Thanks in advanced!

This line is what you were looking for.

The HTML code is in the file _layouts/about.html:

          {%- if page.social %}

                {% include social.html %}

                {{ site.contact_note }}

          {%- endif %}

You can change the contact-icons font size with:
.social .contact-icons {
    font-size: 2rem;
}


Use K8n ConfigMap as ConfigSource

Signed-off-by: Phillip Kruger<EMAIL_ADDRESS>

@gabemontero @Michkov this approach allows us to configure the sidecar directly from the config map, thequarkus-kubernetes-config extension directly access the config from the kube API.
The other way to do it would be to mount the config in the sidecar but this approach seems a lot simpler as it does not require any YAML changes. Do either of you have any concerns with this approach?

@gabemontero @Michkov this approach allows us to configure the sidecar directly from the config map, thequarkus-kubernetes-config extension directly access the config from the kube API.
The other way to do it would be to mount the config in the sidecar but this approach seems a lot simpler as it does not require any YAML changes. Do either of you have any concerns with this approach?

I like the simplicity here vs. mounting the configmap.  Neat quarkus extension.
Questions (trying to perform due diligence PR review) to make sure we are covered:

is there retry semantics / config with this extension to deal with weird / infrequent things like momentary API server throttling?
if something weird happens like the config map is deleted right after the sidecar is launched, and before the quarkus extention can fetch it, do we think it will fail in a way that a customer could decipher?

Both of those items are covered by core k8s if we went down the mount the config map approach.
And just out of curiosity since this is a draft PR
/test jvm-build-service-in-repo-e2e

Closing here, will include this in the fallback PR


possible typo in second post

first of all, great post! didn't know it's already this viable to create a full-stack rust website now
noticed a possible typo when reading the second post, should BlogIndex be BlogPost instead here?
https://github.com/kcking/implfuture.dev/blob/91db72da5cc95ef50256b61ba1ab677d185a1091/src/blog/post2.mdx?plain=1#L119-L122

Thanks! Also good catch, fixed in b6f31159ffdaabf108e1bad5f353e561febb14ea


cdecl: 16.4.1 -> 17.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/paul-j-lucas/cdecl/releases.
meta.description for cdecl is: Composing and deciphering C (or C++) declarations or casts, aka ''gibberish.''
meta.homepage for cdecl is: https://github.com/paul-j-lucas/cdecl
Updates performed

Version update

To inspect upstream changes
Impact
Checks done

built on NixOS
The tests defined in passthru.tests, if any, passed
found 17.0 with grep in /nix/store/7dg1p9brfb83rr2h0zcxxzns0x985vad-cdecl-17.0
found 17.0 in filename of file in /nix/store/7dg1p9brfb83rr2h0zcxxzns0x985vad-cdecl-17.0

Rebuild report (if merged into master) (click to expand)

2 total rebuild path(s)

2 package rebuild(s)

First fifty rebuilds by attrpath

cdecl

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/7dg1p9brfb83rr2h0zcxxzns0x985vad-cdecl-17.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A cdecl https://github.com/r-ryantm/nixpkgs/archive/ae29f53a69506aa55ba9ff6ee64545c40dee24a7.tar.gz

Or:
nix build github:r-ryantm/nixpkgs/ae29f53a69506aa55ba9ff6ee64545c40dee24a7#cdecl

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/7dg1p9brfb83rr2h0zcxxzns0x985vad-cdecl-17.0
ls -la /nix/store/7dg1p9brfb83rr2h0zcxxzns0x985vad-cdecl-17.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review --extra-nixpkgs-config '{ allowInsecurePredicate = x: true; }' run on x86_64-linux 1

2 packages built:

cdecl
cdecl.man

Maintainer pings
cc @Sigmanificient for testing.

@NixOS/nixpkgs-merge-bot merge


コンテントスクリプトのURLパターンが全て網羅されていない問題を修正

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

0 of 0   changed or added relevant lines in 0 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage remained the same at 0.0%

Totals

Change from base Build<PHONE_NUMBER>:
0.0%

Covered Lines:
0

Relevant Lines:
20

💛  - Coveralls


flash zoom

Hi, when falling back to flash, it seems as though the flash player zooms in too much.  Is there a way to zoom out some with flash settings?
Thanks
Wessel

Sorry, there is no zoom setting in Flash, alas (at least not one that I know of).  This is likely caused by the fact that Adobe uses a different video driver than HTML5, so some web cameras appear slightly different.  It can also be caused by Flash's algorithm for resizing the camera to fit your DIV.  Try changing your width/height to be perfect 4:3 or 16:9 ratio and see if that helps.


Fails to read last page

Reading from the store using \Rxnet\EventStore\EventStore::readEventsForward fails to read the last page of events. I've narrowed it down to this method \Rxnet\EventStore\EventStore::readEvents. Specifically the observable's takeWhile. This method exits as soon as the stream reaches the end or if it has read the total count of events  requested and exists without passing forward the current set of events if any. This happens even if the last page of event is the first page. So if you have less than 10 events it will not read any.
I've prepared an example:

Run php examples/write.php. Take note of the last event written or connect to the web ui at localhost:2113.
Copy the snippet below to examples/readForward.php.
Run php examples/readForward.php
See the last "received" event is either 10 less than the total available or none if the total is less than 10.

<?php

use EventLoop\EventLoop;

require __DIR__.'/../vendor/autoload.php';

$eventStore = new \Rxnet\EventStore\EventStore();
$eventStore->connect()
    ->subscribe(function() use ($eventStore) {
        echo "connected \n";
        $eventStore->readEventsForward('domain-test.fr')
            ->subscribe(function (\Rxnet\EventStore\EventRecord $record) {
                echo "received {$record->getId()}  {$record->getNumber()}@{$record->getStreamId()} {$record->getType()} created at {$record->getCreated()->format('c')}\n";
            });
    }, function (\Exception $e) {
        echo $e->getMessage();
    });

EventLoop::getLoop()->run();

Below is a very crude possible fix I've implemented. I've researched and I haven't found a better way to use observable operators instead of using flags.
diff --git a/src/Rxnet/EventStore/EventStore.php b/src/Rxnet/EventStore/EventStore.php
index 48f0a89..4243af5 100644
--- a/src/Rxnet/EventStore/EventStore.php
+++ b/src/Rxnet/EventStore/EventStore.php
@@ -538,6 +538,7 @@ class EventStore
         // OnDemand ? onBackpressureBuffer ?
         return Observable::create(function (ObserverInterface $observer) use ($messageType, $query) {
             $end = false;
+            $stop = false;
             $maxPossible = 10; //4096
             $max = ($query instanceof ReadStreamEvents) ? $query->getMaxCount() : self::POSITION_LATEST;

@@ -559,7 +560,8 @@ class EventStore
                     return Observable::of($event);
                 })
                 // If more data is needed do another query
-                ->doOnNext(function (ReadStreamEventsCompleted $event) use ($query, $correlationID, &$end, &$asked, $max, $maxPossible, $messageType) {
+                ->doOnNext(function (ReadStreamEventsCompleted $event) use ($query, $correlationID, &$end, &$stop, &$asked, $max, $maxPossible, $messageType) {
+                   $stope = $end;
                     $records = $event->getEvents();
                     $asked -= count($records);
                     if ($event->getIsEndOfStream()) {
@@ -567,7 +569,7 @@ class EventStore
                     } elseif ($asked <= 0 && $max != self::POSITION_LATEST) {
                         $end = true;
                     }
-                    if (!$end) {
+                    if (!$stop && count($records) > 0) {
                         $start = $records[count($records) - 1];
                         /* @var ResolvedIndexedEvent $start */

@@ -589,8 +591,8 @@ class EventStore
                     }
                 })
                 // Continue to watch until we have all our results (or end)
-                ->takeWhile(function () use (&$end) {
-                    return !$end;
+                ->takeWhile(function () use (&$stop) {
+                    return !$stop;
                 })
                 // Format EventRecord for easy reading
                 ->flatMap(function (ReadStreamEventsCompleted $event) use (&$asked, &$end) {
@@ -608,4 +610,4 @@ class EventStore
                 ->subscribe($observer);
         });
     }
-}
\ No newline at end of file
+}

Thanks for the bug report perfect to fix :)
I've used an other method and do a fix to keep event in correct order

I still see an issue here when try to do anything after a readForward, the observable never ends in this case so it's stuck on an infinite loop. It's very simple to prove by subscribing to the observable and trying to do anything on the subscribe.
In the snippet below, the "Read: " echo inside the subscription never executes.
            $eventStore
                ->readEventsForward('domain-test.fr')
                ->do(function (\Rxnet\EventStore\EventRecord $record) {
                    echo "received {$record->getId()}  {$record->getNumber()}@{$record->getStreamId()} {$record->getType()} created at {$record->getCreated()->format('c')}\n";
                })
                ->toArray()
                ->subscribe(
                    function (array $records) {
                        echo 'Read: ' . count($records) . " events.\n";
                    }
                );

fixed for real in release 2.2.2 thanks for the report :)

Shouldn't the PHP requirement be "php":"^7.0.0"?

Oooops you're right ! just changed

@Vinceveve I appreciate your fast responses and your work done on this library. The lates solution is beautiful and I'm learning a lot from it  and from the library about many different architectures.
With that said, I still have an issue with the latest solution. I'll try to explain my use case to see if we can replicate in an example and get this done once for all.
I need to write a given number of events and then read them. This chain of operations could go on as much as I want. Here is another crude example of what I'm trying to achieve:
<?php

use EventLoop\EventLoop;
use Ramsey\Uuid\Uuid;
use Rxnet\EventStore\Data\WriteEventsCompleted;
use Rxnet\EventStore\NewEvent\JsonEvent;

require __DIR__ . '/../vendor/autoload.php';

$eventStore = new \Rxnet\EventStore\EventStore();
$eventStore->connect()
    ->subscribe(
        function () use ($eventStore) {
            echo "connected \n";
            $write5 = \Rx\Observable::range(0, 5)
                ->flatMap(
                    function () use ($eventStore) {
                        echo 'Write: ';

                        return $eventStore->write('domain-test.fr', [
                            new JsonEvent('/truc/chose', ['id' => Uuid::uuid4()]),
                        ]);
                    }
                )
                ->flatMap(
                    function (WriteEventsCompleted $eventsCompleted) {
                        echo "Last event number {$eventsCompleted->getLastEventNumber()} on commit position {$eventsCompleted->getCommitPosition()} \n";

                        return \Rx\Observable::of($eventsCompleted);
                    }
                )
                // Wait for all writes
                ->toArray()
                ->do(
                    function (array $eventsCompleted) {
                        echo 'Wrote: ' . count($eventsCompleted) . " events.\n";
                    }
                );

            $readAll = $eventStore->readEventsForward('domain-test.fr')
                ->do(
                    function (\Rxnet\EventStore\EventRecord $record) {
                        echo "received {$record->getId()}  {$record->getNumber()}@{$record->getStreamId()} {$record->getType()} created at {$record->getCreated()->format('c')}\n";
                    }
                )
                // Wait for all reads
                ->toArray()
                ->do(
                    function (array $records) {
                        echo 'Read: ' . count($records) . " events.\n";
                    }
                );

            $readAll
                ->concatMapTo($write5)
                ->concatMapTo($readAll)
//                ->concatMapTo($readAll)
//                ->concatMapTo($readAll)
//                ->concatMapTo($readAll)
//                ->concatMapTo($readAll)
//                ->concatMapTo($readAll)
//                ->concatMapTo($readAll)
//                ->concatMapTo($readAll)
//            $write5
//                ->concatMapTo($readAll)
                ->subscribe(
                    function () {
                        echo "stopping\n";
                        EventLoop::getLoop()->stop();
                    },
                    function ($e) {
                        echo $e->getMessage();
                    },
                    function () {
                        EventLoop::getLoop()->stop();
                    }
                );

        });

EventLoop::getLoop()->run();

Here are some of the issues:

If I execute just the read I get twice the number of events back to back (in order). Example, if I have 20 events, I'll get something like this:

php examples/writeAndRead.php
connected
received 617bb337e5094075a10b45fc53091ad5<EMAIL_ADDRESS>/truc/chose created at 2018-07-21T00:19:50+00:00
...
received c276bc175bf14644bc8b848394ee40df<EMAIL_ADDRESS>/truc/chose created at 2018-07-23T13:17:19+00:00
received 617bb337e5094075a10b45fc53091ad5<EMAIL_ADDRESS>/truc/chose created at 2018-07-21T00:19:50+00:00
...
received c276bc175bf14644bc8b848394ee40df<EMAIL_ADDRESS>/truc/chose created at 2018-07-23T13:17:19+00:00
Read: 40 events.
stopping

Next, if I try to concat 2 reads I get the same result as before, reads 40 events, but the second read reads nothing:

php examples/writeAndRead.php
connected
...
Read: 40 events.

Read: 0 events.
stopping

All other combinations have issues. Again, I may be using the library wrong and any help is appreciated but, I was able to use a custom version of the method \Rxnet\EventStore\EventStore::readEvents shown below and everything works perfectly for my use case.
    protected function readEvents(Message $query, $messageType)
    {
        // TODO backpressure, wait for event's array to be readed completely before asking for more in stream
        // OnDemand ? onBackpressureBuffer ?
        return Observable::create(function (ObserverInterface $observer) use ($messageType, $query) {

            $end = false;
            $page = 0;
            $pageSize = 10;
            $offset = ($query instanceof ReadStreamEvents) ? $query->getFromEventNumber() : 0;
            $count = ($query instanceof ReadStreamEvents) ? $query->getMaxCount() : self::POSITION_LATEST;
            $total = self::POSITION_LATEST;

            $query->setMaxCount($count);
            if ($count >= $pageSize) {
                $query->setMaxCount($pageSize);
            }

            $correlationID = $this->writer->createUUIDIfNeeded();

            $this->writer->composeAndWrite($messageType, $query, $correlationID)
                // When written wait for all responses
                ->merge($this->readBuffer->waitFor($correlationID, -1))
                ->do(function () use ($messageType, $correlationID, $query, &$page, $pageSize, $offset, $count) {
                    $page++;
                    $newQuery = clone $query;

                    if ($messageType == MessageType::READ_STREAM_EVENTS_FORWARD) {
                        $newQuery->setFromEventNumber($offset + ($page * $pageSize));
                    } else {
                        $newQuery->setFromEventNumber($offset - ($page * $pageSize));
                    }

                    if (($newQuery->getFromEventNumber() + $pageSize) > ($offset + $count)) {
                        $newQuery->setMaxCount(($newQuery->getFromEventNumber() + $pageSize) - ($offset + $count));
                    }

                    $this->writer->composeAndWrite($messageType, $newQuery, $correlationID);
                })
                ->takeWhile(function () use (&$end) {
                    return !$end;
                })
                // Throw if we have an error message
                ->do(function (ReadStreamEventsCompleted $event) {
                    if ($error = $event->getError()) {
                        throw new \Exception($error);
                    }
                })
                // Save current total events.
                ->do(function (ReadStreamEventsCompleted $event) use (&$total) {
                    $total = $event->getLastEventNumber();
                })
                // Format EventRecord for easy reading
                ->concatMap(function (ReadStreamEventsCompleted $event) use (&$end, &$total, $offset, $page, $pageSize, $count) {
                    $end = $event->getIsEndOfStream() || $event->getNextEventNumber() >= $total || ($offset + ($page * $pageSize) > ($offset + $count));

                    /* @var ReadStreamEventsCompleted $event */
                    $records = [];
                    /* @var \Rxnet\EventStore\EventRecord[] $records */
                    $events = $event->getEvents();
                    foreach ($events as $item) {
                        /* @var \Rxnet\EventStore\Data\ResolvedIndexedEvent $item */
                        $records[] = new EventRecord($item->getEvent());
                    }

                    return Observable::fromArray($records);
                })
                ->subscribe($observer);

        });
    }


Document with code sample a production way of sharing the API client instance across the app + can this be the same as the Authentication context

The API Client is instantiated (both for autorest and otc) and it can keep track of authentication tokens and automatically add that to the header as required. Both clients generate wrappers for calling the API endpoints.
Using React context we could pass the API client (I need to critique this after the initial implementation, but on first thoughts it seems to be a legitimate option).
An reference implementation to be provided and this ticket needs to be revisited.

Study the sample Auth Context provider in React Router DOM documentation to make a judgement call.

A first cut implementation in the first project trialing labs proves to feel right:
import { createContext } from "react";
import { AcaciaApiClient } from 'api/otc';

// Application level context
export interface AppContextInterface {
    apiClient: AcaciaApiClient;
}

export const AppContext = createContext<AppContextInterface | null>(null);


Support SQL Server via freetds

See https://github.com/bigbinary/aapc7atlis/issues/1265

The tiny_tds gem is needed to connect to MS SQL Server.
It's a C-extension which needs freetds installed.
Setup a sqlserver recipe which installs the correct native deps.

Fixed in https://github.com/bigbinary/boxy-rails/commit/336bd60d50b28e9d5ddfa0a9a2bf3a400902d384


Add cpu/ram usage for containers in Heron UI

The related design doc can be found here: https://docs.google.com/document/d/1CaDVVifcWqViRO96tmePK5dwhOhYnhwjhMRuImg-aOs/edit#heading=h.rfm62inflf7w

https://github.com/apache/incubator-heron/pull/3375


Improve hybrid transport certificate testing

Issue:
The transport certificate testing wasn't working accurately. HealthChecker, for example was looking for the hybrid transport certificate even if the computer was not configured as SendingTransportServers or ReceivingTransportServers. We also showed a warning if TLSCertificateName wasn't set on a send connector. This is a valid use-case as Exchange server allows implicit or explicit configuration. With an implicit configuration, Exchange Server looks for the best matching certificate is selected based on the Fqdn set on the connector.
Resolve #1932
Resolve #1931
Resolve #2035
Fix:
Excluded the server from some of the checks related to TLS certificate if it doesn't exist in the SendingTransportServers or ReceivingTransportServers collection. Improved the TLSCertificateCheck to only show a red error if the TLSCertificateName is not set and the Fqdn is not set on the connector (computers Fqdn is used in this scenario and this could be an internal one).
Validation:
Lab

/azp run

/azp run


Heavy Payload lead to stuck orchestration

Hello, we met a problem with sql provider as the payload is stored in table when he is too big it's truncated. and after that we have some timeout and nothing is processed.
I think we should use the azure storage way to handle it by file in that case.

@bhugot what's the size of your payload? The SQL provider uses varchar(MAX) for storing payloads, which supports up to 2 GB. Do you have a payload that's larger than this? Azure Storage may not be a great choice either for payloads this large.

After more analyse it seems it s in fact more a timeout in that case

TaskOrchestrationDispatcher-e8f908058dee4e5982ca5d1d14ad63e5-0: Unhandled exception with work item '04f96af8-39f6-4f63-8e15-e63936e2ea3d': Microsoft.Data.SqlClient.SqlException (0x80131904): Execution Timeout Expired.  The timeout period elapsed prior to completion of the operation or the server is not responding.
 ---> System.ComponentModel.Win32Exception (258): The wait operation timed out.
   at Microsoft.Data.SqlClient.SqlConnection.OnError(SqlException exception, Boolean breakConnection, Action`1 wrapCloseInAction)
   at Microsoft.Data.SqlClient.TdsParser.ThrowExceptionAndWarning(TdsParserStateObject stateObj, Boolean callerHasConnectionLock, Boolean asyncClose)
   at Microsoft.Data.SqlClient.SqlCommand.InternalEndExecuteNonQuery(IAsyncResult asyncResult, Boolean isInternal, String endMethod)
   at Microsoft.Data.SqlClient.SqlCommand.EndExecuteNonQueryInternal(IAsyncResult asyncResult)
   at Microsoft.Data.SqlClient.SqlCommand.EndExecuteNonQueryAsync(IAsyncResult asyncResult)
   at System.Threading.Tasks.TaskFactory`1.FromAsyncCoreLogic(IAsyncResult iar, Func`2 endFunction, Action`1 endAction, Task`1 promise, Boolean requiresSynchronization)
--- End of stack trace from previous location ---
   at DurableTask.SqlServer.SqlUtils.WithRetry[T](Func`1 func, SprocExecutionContext context, LogHelper traceHelper, String instanceId, Int32 maxRetries) in /_/src/DurableTask.SqlServer/SqlUtils.cs:line 496
   at DurableTask.SqlServer.SqlUtils.WithRetry[T](Func`1 func, SprocExecutionContext context, LogHelper traceHelper, String instanceId, Int32 maxRetries) in /_/src/DurableTask.SqlServer/SqlUtils.cs:line 503
   at DurableTask.SqlServer.SqlUtils.ExecuteSprocAndTraceAsync[T](DbCommand command, LogHelper traceHelper, String instanceId, Func`2 executor) in /_/src/DurableTask.SqlServer/SqlUtils.cs:line 438
   at DurableTask.SqlServer.SqlOrchestrationService.CompleteTaskOrchestrationWorkItemAsync(TaskOrchestrationWorkItem workItem, OrchestrationRuntimeState newRuntimeState, IList`1 outboundMessages, IList`1 orchestratorMessages, IList`1 timerMessages, TaskMessage continuedAsNewMessage, OrchestrationState orchestrationState) in /_/src/DurableTask.SqlServer/SqlOrchestrationService.cs:line 375
   at DurableTask.Core.TaskOrchestrationDispatcher.OnProcessWorkItemAsync(TaskOrchestrationWorkItem workItem) in /_/src/DurableTask.Core/TaskOrchestrationDispatcher.cs:line 551
   at DurableTask.Core.TaskOrchestrationDispatcher.OnProcessWorkItemSessionAsync(TaskOrchestrationWorkItem workItem) in /_/src/DurableTask.Core/TaskOrchestrationDispatcher.cs:line 194
   at DurableTask.Core.WorkItemDispatcher`1.ProcessWorkItemAsync(WorkItemDispatcherContext context, Object workItemObj) in /_/src/DurableTask.Core/WorkItemDispatcher.cs:line 373
ClientConnectionId:a44b295e-5fe9-4952-8566-be45f2e88e22
Error Number:-2,State:0,Class:11
ClientConnectionId before routing:43d4b49d-060a-40a0-abe9-2a9df4786ec6
Routing Destination:b8c44c89e538.tr604.westeurope1-a.worker.database.windows.net,11044

Backing off for 1 seconds until 5 successful operations

I have upscale database dtu and it's now ok. I will try to find the reason of the timeout but maybe a to big insert

Hello I m back on this problem. We have some batch orchestration that are loading massive amount of data like 500K string , then call another orchestration for each one of them. It was working fine on Azure Storage but it's going IDLE with mssql. The payload is inserted in the table but nothing is done with it. I suppose because of the timeout. Maybe it should be a parameter that allow to change timeout of a command would solve this

@bhugot There's a massive performance issue in microsoft.data.sqlclient when reading large fields with async methods. If the payload is large it's probably tripping over that issue.
https://github.com/dotnet/SqlClient/issues/593

Wow, thanks @kevbry for mentioning this! I'm very much open to using the sync overloads for the background* reads that we do from SQL. There really isn't a possibility for thread-pool starvation since parallelism is already throttled, so it feels like an easy performance win with little downside.
*By background, I'm talking about all SQL reads driven my IOrchestrationService methods. Anything called by IOrchestrationServiceClient should still use async since those calls are typically made by threads owned by the app.

@cgillum I haven't done any profiling to see if it's actually the cause here, but seems possible. SqlUtil in this project seems to be using SqlClient in a similar way to the app we had that tripped over that same bug.

 They're looking for samples in the sqlclient issue I mentioned earlier.