Onboarding check list

Summary
This PR introduces the UI component for the onboarding checklist, that would be shown to first admin users. It will be shown in all of our products, hence the render in root and fixed positioning. Tested with Playbooks and it renders as needed.
Ticket Link
https://mattermost.atlassian.net/wiki/spaces/GSI/pages/2271182849/Onboarding+Task+List
https://community-daily.mattermost.com/boards/workspace/fpbb7orqpiyfxqgg6fcu91y5xo/b6ropkdiowj8eugbt8kifrew79h/v1uasiye9zjg1fjfnbhq7muih6w/cwrz8edk5dfg8pg36crfa198itr
Screenshots

Release Note
NONE

Thanks a lot @matthewbirtch for the thorough feedback it really helped me understand the design a bit better. Apologies for not showing the completed screen i missed adding the logic for it. I addressed all of your points but I still have some work to do with adjusting the completed animation based on the trigger. If you like you can take another look. After adjusting the paddings per the points above, I noticed that the container's height is smaller compared to the design. Should we keep it this way?
The links and buttons currently won't work with dismissing the checklist I need to clarify where to store the user preference, and align with Boards and playbooks on this. And I will also remove the "Getting started" section when that is handled. Again thank you so much I am really grateful for the thorough feedback.

Test server creation failed. See the logs for more information.

Can't test this right now @nevyangelova ☝

@matthewbirtch i fixed the issue :) note: don't dismiss the checklist because it won't show up again :D

I can't see the task list on this PR anymore. I assume someone may have dismissed it or completed it and now we can't get it back. What do I need to do to reset it?

@matthewbirtch you probably have to remove and re-add the test server label so a new spinwick is created where the sys admin hasn't completed the list

I can't see the task list on this PR anymore. I assume someone may have dismissed it or completed it and now we can't get it back. What do I need to do to reset it?

@matthewbirtch @nevyangelova happening because of this condition https://github.com/mattermost/mattermost-webapp/pull/9727#discussion_r803933717

@matthewbirtch Could you please approve this will be Merging this pr to unblock pr dependent on this? (have changed show condition so that it doesn’t interfere with anything on the master). Changes requested here will be done via separate pr.

e2e-test

Triggering e2e testing with options:
<nil>

A pipeline with the same environment variables is already running.
Please cancel it first with /e2e-cancel, or specify different environment variables.


OOM issue at prometheus 2.18.0

Hi Team,
Here to update ,we are facing OOM issue , once after upgrading prometheus to 2.18.0.
All of sudden , we are seeing spike in memory and reaching more than limit whatever we have specified.
post that, container will restart and will get the false alerts.
Not seeing any error in the logs , other than restart logs.
And we are using dedicated node for this to run prometheus in Kubernetes.
And disk space is now 66% and we have 500GB of total space.
What could be the reason or how to debug this issue? Please help us here.
EKS version -- 1.14
Prometheus version -- 2.18.0
Below are the logs :
level=info ts=2020-10-27T06:31:17.396Z caller=main.go:337 msg="Starting Prometheus" version="(version=2.18.0, branch=HEAD, revision=a12e96299dcd159ea09b260f1a21e7e4b86e011d)"
level=info ts=2020-10-27T06:31:17.396Z caller=main.go:338 build_context="(go=go1.14.2, user=root@7fbcff55abdb, date=20200505-14:26:04)"
level=info ts=2020-10-27T06:31:17.396Z caller=main.go:339 host_details="(Linux 4.14.181-140.257.amzn2.x86_64 #1 SMP Wed May 27 02:17:36 UTC 2020 x86_64 prometheus-prod-prometheus-server-5688bd7769-xrsrt (none))"
level=info ts=2020-10-27T06:31:17.397Z caller=main.go:340 fd_limits="(soft=1048576, hard=1048576)"
level=info ts=2020-10-27T06:31:17.397Z caller=main.go:341 vm_limits="(soft=unlimited, hard=unlimited)"
level=info ts=2020-10-27T06:31:17.398Z caller=query_logger.go:79 component=activeQueryTracker
level=info ts=2020-10-27T06:31:17.399Z caller=main.go:677 msg="Starting TSDB ..."
level=info ts=2020-10-27T06:31:17.399Z caller=web.go:523 component=web msg="Start listening for connections" address=<IP_ADDRESS>:9090
level=info ts=2020-10-27T06:31:17.402Z caller=repair.go:59 component=tsdb msg="Found healthy block" mint=1588053600000 maxt=1588636800000 ulid=01E7H5KPWT66H8PK549SPHDMJ7
level=info ts=2020-10-27T06:31:17.403Z caller=repair.go:59 component=tsdb msg="Found healthy block" mint=1588636800000 maxt=1589220000000 ulid=01E82HS5EJ9WW34XGN83WPEQRX
level=info ts=2020-10-27T06:31:17.404Z caller=repair.go:59 component=tsdb msg="Found healthy block" mint=1589220000000 maxt=1589803200000 ulid=01E8KXZBSMVA7D592S051QNQH6
level=info ts=2020-10-27T06:31:17.406Z caller=repair.go:59 component=tsdb msg="Found healthy block" mint=1589803200000 maxt=1590386400000 ulid=01E95A5E1Q8KCQKPG0ZKB1QRP6
level=info ts=2020-10-27T06:31:17.407Z caller=repair.go:59 component=tsdb msg="Found healthy block" mint=1590386400000 maxt=1590969600000 ulid=01E9PPBGNYR73Z97V1V38B7SV5
level=info ts=2020-10-27T06:31:17.408Z caller=repair.go:59 component=tsdb msg="Found healthy block" mint=1590969600000 maxt=1591552800000 ulid=01EA82H5042JTYAB8Z24RY2G9E
level=info ts=2020-10-27T06:31:17.409Z caller=repair.go:59 component=tsdb msg="Found healthy block" mint=1591552800000 maxt=1592136000000 ulid=01EASEQ60C4J84ZEY9R1QSASKS
level=info ts=2020-10-27T06:31:17.410Z caller=repair.go:59 component=tsdb msg="Found healthy block" mint=1592136000000 maxt=1592719200000 ulid=01EBATWN0KEX63VMFH12XGV83M
level=info ts=2020-10-27T06:31:17.411Z caller=repair.go:59 component=tsdb msg="Found healthy block" mint=1592719200000 maxt=1593302400000 ulid=01EBWE35327YZVVB1KGTJ9NPJX
level=info ts=2020-10-27T06:31:17.412Z caller=repair.go:59 component=tsdb msg="Found healthy block" mint=1593302400000 maxt=1593885600000 ulid=01ECDT970HG6WBZTQVKJFKPRAE
level=info ts=2020-10-27T06:31:17.414Z caller=repair.go:59 component=tsdb msg="Found healthy block" mint=1593885600000 maxt=1594468800000 ulid=01ECZ6GREX8ZPWJB00K1BJ74BX
level=info ts=2020-10-27T06:31:17.415Z caller=repair.go:59 component=tsdb msg="Found healthy block" mint=1594468800000 maxt=1595052000000 ulid=01EDGJSABWS48E4GWZ5WBVHAQM
level=info ts=2020-10-27T06:31:17.416Z caller=repair.go:59 component=tsdb msg="Found healthy block" mint=159505

It makes more sense to ask questions like this on the prometheus-users mailing list rather than in a GitHub issue. On the mailing list, more people are available to potentially respond to your question, and the whole community can benefit from the answers provided.


Workspace trajectory planner with Greedy IK

Follows a workspace path exactly at robot.GetDOFResolutions.

I just thought of a potential concern.
Do we need to have some sort of UpdateWorld function call inside the loop right after we step the trajectory forward? For example, if we're opening a door, we need to first follow the arc of the circle but then also need to step the door forward so that the next IK check has the updated world to collision check against.
In general, do we have a programmatic way to do this? It seems like something that other planners might need too.

@psigen and I had a chat about the above comment. He suggested we make this a separate discussion point and focus this PR on the planner. I agree.

The implementation looks good to me. The time stepping code is quite elegant! :smile:
@siddhss5 Could you make an issue for that discussion?


Remove squares around brackets in code?

Okay, I know this is going to sound so silly, but is there a way to disable bracket highlighting & matching (or replace with underscores) in Elixir code sections in Livebook???

The cursor is almost invisible if next to a bracket with a square around it.
It's just plain distracting (to me :) )

ps Livebook is amazing!!! Thank you so much for this!!!
pps looks like the simplest thing is to just be able to disable it somehow?
https://microsoft.github.io/monaco-editor/api/interfaces/monaco.editor.ieditoroptions.html#matchbrackets
Also, there are plugins for VS Code that do this, e.g. https://github.com/rafamel/subtle-brackets

Okay, so if this bothers anyone else, here is the quick fix:
edit assets/webpack.config.js
change section with MonacoWebpackPlugin to:
      new MonacoWebpackPlugin({
        languages: ["markdown", "elixir"],
        features: ["!bracketMatching"] // <--- add this
      }),

then run:
mix dev.setup
mix dev.build
MIX_ENV=prod mix escript.build
./livebook server

Ahhh. So much better ;)

Hey @madasebrof, sorry for the late reply!
Would it help if we changed the whole background like this?

as compared to

diff --git a/assets/js/cell/live_editor/theme.js b/assets/js/cell/live_editor/theme.js
index 361b72dc..2105e499 100644
--- a/assets/js/cell/live_editor/theme.js
+++ b/assets/js/cell/live_editor/theme.js
@@ -43,6 +43,8 @@ const theme = {
     "editorSuggestWidget.selectedBackground": "#2c313a",
     "input.background": "#1b1d23",
     "input.border": "#181a1f",
+    "editorBracketMatch.border": "#282c34",
+    "editorBracketMatch.background": "#3e4451",
   },
 };

As per https://github.com/Microsoft/vscode/issues/19534, the configuration is quite limited. We could probably replicate what the extension does, but I think that would be an overkill code-wise.


Error running

Thank you for your dedication!!!
I seem to have run into a issue. I have some doubts as to my setting up config.
supervisorctl restart dramiel  runs nicely.
But when I try to talk to to the bot "!help" get nothing. Went to log error and below over and over.
PHP Fatal error:  Call to a member function sendMessage() on a non-object in /var/www/html/src/plugins/onTick/periodicStatusCheck.php on line 122
PHP Notice:  Undefined index: guildID in /var/www/html/src/plugins/onMessage/auth.php on line 79
PHP Notice:  Undefined index: periodicCheck in /var/www/html/src/plugins/onTick/authCheck.php on line 107

Here are the parts of my config that I have changed.
`"token" => "XxXxXxX0Xxx1MTExNjI5MzE0.XxXXxX.BdRCYqokTqTSGU1yU_gm0uUWutA"`

Have checked this 3 times.. This is from https://discordapp.com/developers/applications/me/
"My Applications" and the "APP BOT USER" and token below.
    "user" => "xxxxxxxxxx",
    "pass" => "xxxxxxxxxx",

$config["eve"] = array(
    "apiKeys" => array(
        "user1" => array(
            "keyID" => "123456789",
              "vCode" => "XXXX",   `

(Main Char api "Char info+Standings)
           "characterID" => 1234           (Char ID from Discord. Tried ID for char from zkill but no difference)
When I turn on the zkill by adding
 "allianceID" => 1234567,            (Alliance iD I get from zkill did not add one for corp)
Error changes to
PHP Fatal error:  Call to a member function sendMessage() on a non-object in /var/www/html/src/plugins/onTick/periodicStatusCheck.php on line 122
PHP Notice:  Undefined index: guildID in /var/www/html/src/plugins/onMessage/auth.php on line 79
PHP Notice:  Undefined index: periodicCheck in /var/www/html/src/plugins/onTick/authCheck.php on line 107

I have added the bot a few times. I did notice that it does not show up under "Authorised Applications".
https://discordapp.com/oauth2/authorize?&client_id=xxx&scope=bot
xxx = Client/Application ID from https://discordapp.com/developers/applications/me/
Did not set up auth  yet.
Thank you!!

You need to set a channel for the bot to report server downtimes.
// what channel for eve notifications/also the channel for tq status alerts
"notifications" => array(
    "channelID" => 0
),

That will solve the issue. I'll add something right now to make sure the bot doesn't die if that isn't set

it will now throw an error instead of killing the bot
[2016-07-08 01:37:59] Dramiel.INFO: TQ Status Check Failed - Add a channel ID to the notifications section in the config. [] []


Shifting datepicker after change height

Steps to reproduce:

Open datepicker on top.
Switch to a month that has another week count than previous.
Return to previous

Actual result: trying to click on month selector is failed because of the datepicker shifts. Only second click let change month.
Expected result: the first click changes a month.
Seems like the datepicker updates position on the first click
The bug reproduces on the demo page:

What version are you using?  This bug is a dupe (https://github.com/Hacker0x01/react-datepicker/issues/361) but comment on the other one if it's not resolved with the latest version.

Actually, I'm seeing this on the demo page too.  Re-opening


Support urls with non-ascii characters by setting encode-url as an option.

try fixing #64

Why it's closed?

I'm not sure why he closed it, but I would not have merged it anyway. the v0.8 branch uses URL(), which is not only a standard, but not prone to bugs like the encdoeURI.


docs: Created stories for BuildTable component to document different component states.

Created stories for BuildTable  component to document different component states.
Task from #7641
Default

Empty

Loading

Error

:heavy_check_mark: Checklist

[x] A changeset describing the change and affected packages. (more info)
[ ] Added or updated documentation
[ ] Tests for new functionality and regression tests for bug fixes
[x] Screenshots attached (for UI changes)
[x] All your commits have a Signed-off-by line in the message. (more info)

@benjdlambert I've re created #7655 as I ran into some issue. It should now be ready for review 🙂


Fix: Remove null locations in the error message

Fix #478
The page loads some scripts multiple times, which results in the duplicate messages. It makes sense but looks like duplicate evaluation, should we add a filter similar to what we did to jsdom  in https://github.com/sonarwhal/sonar/pull/468?

It makes sense but looks like duplicate evaluation, should we add a filter similar to what we did to jsdom in #468?

I don't think we should. If it is a script or a css then the browser will evaluate it again (that's what seems to happen here). Maybe we should update the behavior of jsdom to only cache resources that are not scripts or css? This will match more closely the behavior of chrome. If we go down that path we need to add tests for duplicate resources on a page and how they should be handled.
@sonarwhal/contributors thoughts?


Add a way to update body tag attributes (e-mail support)

Use react-side-effect to create a component that will allow child components to update body tag attributes. This will allow e-mail components to update attributes for server-side rendering.

:+1:


Cannot call terminate on OSX with dill

Example:
import time
from mpire import WorkerPool

def proc_func():
    time.sleep(1)

if __name__ == "__main__":
    pool = WorkerPool(4, start_method="spawn", use_dill=True)
    pool.apply_async(proc_func)
    pool.terminate()

Traceback:
$ python crash.py
Traceback (most recent call last):
  File "/Users/dion/codes/prequod/crash.py", line 10, in <module>
    pool.terminate()
  File "/Users/dion/.virtualenvs/science/lib/python3.10/site-packages/mpire/pool.py", line 1035, in terminate
    self._worker_comms.drain_queues()
  File "/Users/dion/.virtualenvs/science/lib/python3.10/site-packages/mpire/comms.py", line 643, in drain_queues
    [self.drain_and_join_queue(q) for q in self._task_queues]
  File "/Users/dion/.virtualenvs/science/lib/python3.10/site-packages/mpire/comms.py", line 643, in <listcomp>
    [self.drain_and_join_queue(q) for q in self._task_queues]
  File "/Users/dion/.virtualenvs/science/lib/python3.10/site-packages/mpire/comms.py", line 660, in drain_and_join_queue
    process.start()
  File<EMAIL_ADDRESS>line 121, in start
    self._popen = self._Popen(self)
  File<EMAIL_ADDRESS>line 224, in _Popen
    return _default_context.get_context().Process._Popen(process_obj)
  File<EMAIL_ADDRESS>line 288, in _Popen
    return Popen(process_obj)
  File<EMAIL_ADDRESS>line 32, in __init__
    super().__init__(process_obj)
  File<EMAIL_ADDRESS>line 19, in __init__
    self._launch(process_obj)
  File<EMAIL_ADDRESS>line 47, in _launch
    reduction.dump(process_obj, fp)
  File<EMAIL_ADDRESS>line 60, in dump
    ForkingPickler(file, protocol).dump(obj)
  File "/Users/dion/.virtualenvs/science/lib/python3.10/site-packages/multiprocess/queues.py", line 305, in __getstate__
    return Queue.__getstate__(self) + (self._cond, self._unfinished_tasks)
  File "/Users/dion/.virtualenvs/science/lib/python3.10/site-packages/multiprocess/queues.py", line 61, in __getstate__
    context.assert_spawning(self)
  File "/Users/dion/.virtualenvs/science/lib/python3.10/site-packages/multiprocess/context.py", line 373, in assert_spawning
    raise RuntimeError(
RuntimeError: JoinableQueue objects should only be shared between processes through inheritance

Unfortunately, up till now there's no macOs support yet. This issue has also been reported in https://github.com/sybrenjansen/mpire/issues/91 and there's an open PR that addresses this one issue. However, I cannot say everything will work after that one is merged, not until I get my hands on a mac or have set up a VM. I will try to do this in the near future.

This should already work on master, as I just tested it. But full macos support is coming soon, so stay tuned.


build: update pnpm

I just updated pnpm and recreated all the lockfiles
templates are unchanged because they already have 6.1 lockfileVersion apparently

ooc what version did you upgrade to? we should make sure we're all on the same version so the lockfile doesn't keep jumping around

ooc what version did you upgrade to? we should make sure we're all on the same version so the lockfile doesn't keep jumping around

8.6.1 (latest)


Enable GitHub Actions

This create a GitHub Actions file that's a combination of the GitHub Action file in the api repository and the actions that were being performed in the build.sh file.  vendor/bin/security-checker doesn't work anymore so I didn't move it over. I still need to get PHPStan and composer-require-checker installed and running which I will do in another PR unless you want it here. The API repository is uploading results to codecov but the project was deleted do you want that here?
Closes #912

We can go ahead without codecov on this repo. We can add code coverage reporting in later.
Given the above, looks like we're a readme tweak or two away from being merge-able, on first glance.

Also, let's run build.sh directly in Actions rather than deleting it, for a little more portability.

Finally, if you don't mind squashing fix commits down for a cleaner history, would be appreciated.


Pushing latest to live

@sankethka,
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

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/TOC.yml
:white_check_mark:Succeeded

docs-ref-conceptual/create-an-azure-service-principal-azure-cli.md
:white_check_mark:Succeeded
View

docs-ref-conceptual/media/interactive-azure-cli/defaults.png
:white_check_mark:Succeeded
View

docs-ref-conceptual/media/interactive-azure-cli/descriptions-and-examples.png
:white_check_mark:Succeeded
View

docs-ref-conceptual/media/interactive-azure-cli/examples.png
:white_check_mark:Succeeded
View

docs-ref-conceptual/media/interactive-azure-cli/gestures.png
:white_check_mark:Succeeded
View

docs-ref-conceptual/media/interactive-azure-cli/webapp-create.png
:white_check_mark:Succeeded
View

docs-ref-conceptual/release-notes-azure-cli.md
:white_check_mark:Succeeded
View

For more details, please refer to the build report.
Note: If you changed an existing file name or deleted a file, broken links in other files to the deleted or renamed file are listed only in the full build report.


at - Added a function to ctrlClick for times when you perhaps want to…

… select multiple items in a list box.

Awesome thanks!  I will get it this pulled in this weekend and release a new build.

Cool,
I thought about making it more of a holdClick key element type deal so you could also do it for Alt, Shift, etc.  What are your thoughts?  ctrlClick seems to be the most common, but figured I would ask you thoughts.
p.s.  What type of food sounds good for lunch?
Sincerely,
Andrew Taylor
GameStop | Andrew Taylor | Advanced Engineer - eCommerce  |<PHONE_NUMBER> Office |<PHONE_NUMBER> Cell | Skype (ataylorm) | 625 Westport Parkway, Grapevine, TX 76051 |  Powertotheplayers!
From: Chris Holt<EMAIL_ADDRESS>Sent: Thursday, March 03, 2016 9:21 AM
To: lefthandedgoat/canopy<EMAIL_ADDRESS>Cc: Andrew Taylor<EMAIL_ADDRESS>Subject: Re: [canopy] at - Added a function to ctrlClick for times when you perhaps want to… (#239)
Awesome thanks! I will get it this pulled in this weekend and release a new build.
—
Reply to this email directly or view it on GitHubhttps://github.com/lefthandedgoat/canopy/pull/239#issuecomment-191812425.

For now the specific one for ctrl is fine.  As more are needed we can add them and as we see a pattern create the right abstraction.
For lunch I am easy no real preference.

You can download this now!
https://www.nuget.org/packages/canopy/0.9.46
Thanks again for your contribution!


exporters/core: store_direct: use flow's tag name as printed filename

To ease debugging using the direct storer, use the flow's tag name as
the dummy filename.
Example output (with secadvisor transformer and encoder):
--- my_dirname/internal ---
{
        "data": [
                {
                        "UUID": "b87c1a5fe29b85dc",
                        "LayersPath": "Ethernet/IPv4/TCP",
                        "Version": "1.0.8",
                        "Status": "UPDATED",
                        "Network": {
                                "Protocol": "IPV4",
...
...
...
                }
        ]
}

--- my_dirname/egress ---
{
        "data": [
                {
                        "UUID": "4b9cc309b204a8ae",
                        "LayersPath": "Ethernet/IPv4/UDP/DNS",
                        "Version": "1.0.8",
                        "Status": "ENDED",
                        "FinishType": "Timeout",
                        "Network": {
                                "Protocol": "IPV4",
...

@hunchback please review; not urgent.

moved to skydive-flow-exporter repo


Add more emotions

Currently it seems to track 5 different levels of either positivity or negativity. Being able to select an emotion from a list as well as recording the reason behind the emotion would be a great enhancement to this project.

Hey there, thanks for the issue. i know its been a long time since you made this issue and im sorry for the delay. i am resuming the updates and maintaining the app.
i agree with you mood monitoring has a lot of potential to make it even wider. i will look into it 😁
oh also have i mentioned that i am fully re-designing the app and adding an api to it so that its an online application?
i also made a discord community would love to see you there too.
you can find the link in my github bio.😉

Hi Nima,
I'm so happy this app is still being maintained: thank you very much!
Will there also remain an option to use it offline & make local backups?

hey @gnu1dea im so happy to see that users didn't lose their hope on me and my apps and you are still waiting for me to maintain the application.
im so thankful for that.
as for keeping the option of saving everything offline, the main idea of making it online was to get around the challenges of the offline data saving and the way backing everything up worked and was a little hard and challenging.
but i guess if there is enough demand on user base to have the option in the app we shall have it.
but i need to be more in touch with the community and have interactions.


Add Topics

In GSSoC'24, GitHub Topics will help the discoverability of your project.
I see that you already have great topics on your repository!
I would recommend adding the name of the company like the software you use to build like "vs-code, ghdesktop" to improve your discoverability.
If you are happy with the topics you have, feel free to close this issue. 👍

Hi @VGandhi27, I would like to add categories of food. Please assign it to me.

Hi @VGandhi27 @Princegupta101 , I would like to add categories of food along with their recipes. Please assign it to me.

I request you to kindly please assign this issue to me. @sanjay-kv
Please add labels also in this issue @Princegupta101 @VGandhi27


Set better default parameters for scipy lbfgs-b

Nice bit of fiddling :+1: (even if your git-foo is lacking!)


Springfox not generating different swagger entries for operations with same base path, but one endpoint has query parameters

Springfox doesn't generate correctly the swagger doc for a simple case like this one:
GET /api/departments  - Gets all department
GET /api/departments?name=IT - Gets a department with name passed as query parameter
This is the Spring Controller:
@ApiOperation(value = "Gets all departments", notes = "", tags = {"departments"})
@RequestMapping(value="/departments", produces=MediaType.APPLICATION_JSON_VALUE, method=RequestMethod.GET)
public List<Department> getAllDepartments(){
       ...
}

@ApiOperation(value = "Gets a department by name", notes = "", tags = {"departments"})
@RequestMapping(value="/departments", params="name", produces=MediaType.APPLICATION_JSON_VALUE, method=RequestMethod.GET)
public Department getDepartmentByName(@RequestParam String name){
    ...
}

The generated swagger file only contains the GET /api/departments entry, not a trace of the one with the query filter.

The problem comes from:
springfox.documentation.swagger2.mappers.ServiceModelToSwagger2Mapper.mapApiListings()
protected Map<String, Path> mapApiListings(Multimap<String, ApiListing> apiListings) {
    Map<String, Path> paths = newHashMap();
    for (ApiListing each : apiListings.values()) {
      for (ApiDescription api : each.getApis()) {
        paths.put(api.getPath(), mapOperations(api, Optional.fromNullable(paths.get(api.getPath()))));
      }
    }
    return paths;
}

There are two ApiDescription, both of them have the same path /departments. But since io.swagger.models.Path only has one attribute private Operation get, it doesn't support this case.
Any ideas?

After digging into this, maybe this is a swagger spec limitation and we can't define for a same path multiple instances of the same operation. Is this right?

That is correct. Once we add support in the spec for supporting RFC 6570, it should work as you'd expect it to. Here is the issue that relates to the problem.
Until then, if you don't care about swagger-ui, there is support that is in incubation, where you enableUrlTemplating in your docket, that will atleast render the operations true to your service implementation.

There is an active thread with Swagger very closely related to this having to do with content negotiation.  https://github.com/OAI/OpenAPI-Specification/issues/146
While the swagger spec and swagger UI do not yet support a correlation between the content type and the response schema, it does support the listing of multiple "produces" attributes.
Until this is finalized the in a swagger release, would you support a new issue and pull request to merge, rather than overwrite paths if they differ only by their produces values?
Also, it seems that RAML does support this currently.  @dilipkrish I've noticed that you've commented this is not something you have bandwidth to contribute, are you aware of anyone else who may be considering a RAML mapping contribution?

@codecounselor this issue has nothing to do with content negotiation. This has to do with multiple endpoints that differ based on query parameters. e.g. findByEmail method that looks like this find?email={email} and  /findByZip method that looks like this /find?zip={zip}. If you don't use the rfc6570 feature that springfox supports one of those paths would be lost because it only supports up-until /find
Now on your request, not sure what you're proposing, but if it makes sense to be part of the library for sure we encourage PRs. If you do plan on working on it, do share your design/ideas in an issue. This will help whet the idea and also make sure its in line with the direction of this library.
The RAML support, Im not sure there is any support that supports runtime introspection. I know there are some maven/gradle plugins that do support build time specification generation. The hard part to support this is already done. Just that we'd need someone who knows RAML well enough to help with writing the mapping layer.

As @dilipkrish mentioned this is not about content negotiation. If I have multiple mapped methods for a single GET /path with different parameters to distinguish betweeen the implementations. From API side they are all one endpoint. The operations should be merged (ServiceModelToSwagger2Mapper.mapOperations()) instead of overwrite each other. Currently only one mapping is documented, all others are dropped.
I am not clear how to handle different response types (from produces) here, at least all of them have to occur to produces. In the response I would expect kind of "any of" which may have to wait for OpenAPI 3 support.

Same problem here. 6 years later.

i use to have an endpoint with different operations based on the value of one  two endpoints has different operations based on the value of some parameter. For example, /find?by=zip&search={zip} and /find?by=email&search={email} on that case, I change @chengda solution to append to the path the fixed part of the params.
  @Bean
  @Order(SwaggerPluginSupport.SWAGGER_PLUGIN_ORDER)
  public ApiListingBuilderPlugin getApiPathEnrichPlugin() {
    return new ApiListingBuilderPlugin() {
      @Override
      public void apply(final ApiListingContext apiListingContext) {
        final ApiListing build = apiListingContext.apiListingBuilder().build();
        final List<ApiDescription> apis = build.getApis();
        if (apis != null) {
          apiListingContext.apiListingBuilder()
              .apis(apis.stream().map(SwaggerConfig.this::rename).collect(Collectors.toList()));
        }
      }

      @Override
      public boolean supports(final DocumentationType documentationType) {
        return true;
      }
    };
  }

  @SuppressWarnings("deprecation")
  private ApiDescription rename(ApiDescription api) {
    final List<Operation> operations = api.getOperations();
    final StringBuilder params = new StringBuilder();
    if (operations.size() == 1) {
      final Operation operation = operations.get(0);
      for (final Parameter parameter : operation.getParameters()) {
        final AllowableValues allowableValues = parameter.getAllowableValues();
        final List<String> options = allowableValues instanceof AllowableListValues
            ? ((AllowableListValues) allowableValues).getValues()
            : Arrays.asList();
        if (Boolean.TRUE.equals(parameter.isRequired()) && options.size() == 1) {
          params.append("&" + parameter.getName() + "=" + options.get(0));
        }
      }
    }
    return new ApiDescription(api.getGroupName().orElse(null),
        api.getPath() + (params.length() > 0 ? "?" + params.substring(1) : ""), api.getSummary(),
        api.getDescription(), api.getOperations(), api.isHidden());
  }

For new version of springfox,  I modify some codes,  it's like this:
`
@Bean
@Order(SwaggerPluginSupport.SWAGGER_PLUGIN_ORDER)
public ApiListingBuilderPlugin apiListingBuilderPlugin() {
return new ApiListingBuilderPlugin() {
@Override
public void apply(ApiListingContext apiListingContext) {
List apis = apiListingContext.apiListingBuilder().build().getApis();
ImmutableList.Builder builder = ImmutableList.builder();
if (apis != null) {
apis.forEach(api -> builder.add(
new ApiDescription(
api.getGroupName().get(),
api.getPath() + "?_unique=" + api.getOperations().get(0).getUniqueId(),
api.getSummary(),
api.getDescription(),
api.getOperations(),
api.isHidden()
)));
apis = builder.build();
apiListingContext.apiListingBuilder().apis(apis);
}
}
        @Override
        public boolean supports(DocumentationType documentationType) {
            return true;
        }
    };
}

`
It's  more generic than my previous solution.


Float32! arguments to typed functions appear incorrect

Passing two float32! arguments to a typed function appears to generate incorrect results:
Code

Red/System []

print ["declarations" lf]

myfunc: function [
    [typed]
    count [integer!]
    list [typed-value!]
		return: [float32!]
		/local
		  a [float32!]
		  b [float32!]
	][
	 a: as float32! list/value
	 list: list + 1
	 b: as float32! list/value
	 a + b
	]

print ["started" lf]

y: myfunc as-float32 1.0 as-float32 2.0

if y =  as-float32 3.0 [print ["3.0" lf]]
if y <  as-float32 3.0 [print ["< 3.0" lf]]
if y >  as-float32 3.0 [print ["> 3.0" lf]]

print ["finished" lf]

Output
declarations
started
< 3.0
finished

Your example does not do what you think it should do because you are passing only one argument to myfunc instead of two. You need to add square brackets to pass several arguments to a variadic or typed function, like this:
y: myfunc [as-float32 1.0 as-float32 2.0]

Doing so, will make your program correctly output 3.0 instead of < 3.0.

Oops I forgot the [] !!!


Accounting base models initial

описания можно взять из соседнего реквеста, я там старался более-менее подробно описывать все свойства

Codecov Report

Merging #2 into master will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##            master        #2   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files            1         1
  Lines            3         3
=========================================
  Hits             3         3

Continue to review full report at Codecov.

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


pyzmq make the logging.handler.WatchedFileHandler write log to stdout

pyzmq version >= 13.1.0
write log to WatchedFileHandler syslog, while send to stdout
formater = logging.Formatter("%(message)s")
handler = WatchedFileHandler('msg_dir')
handler.setFormatter(formater)
logger = logging.getLogger('msg-%s' % log_type)
logger.addHandler(handler)
logger.setLevel(logging.INFO)

when use pyzmq >= 13.01
logger.info("hello")

while print to stdout hello

I'm sorry, I don't understand the question, or even if there is one. What happens now and what do you want to happen that's different?

import os
import sys
import zmq
import json
import time
import Queue
import logging
import traceback
from cStringIO import StringIO
from zmq.eventloop.ioloop import IOLoop, PeriodicCallback
from zmq.eventloop.zmqstream import ZMQStream
from logging.handlers import WatchedFileHandler, SysLogHandler
formater = logging.Formatter('%(asctime)-15s xxxxx[%(process)d:%(thread)d]:
%(message)s')
syslog = SysLogHandler(address='/dev/log',
facility=SysLogHandler.LOG_LOCAL3)
syslog.setFormatter(formater)
console = logging.StreamHandler(sys.stdout)
console.setFormatter(formater)
log = logging.getLogger(name)
log.setLevel(logging.DEBUG)
log.addHandler(syslog)
log.addHandler(console)
data_queue = Queue.Queue(1000)
LOG_DIR = 'test_a'
POST_DIR = 'test_p'
LOG_TYPE_PUB_PATH = 'xxxxx'
LOG_TYPES_PERSISTENT = ['A', 'B', 'C']
ZMQ_RCV_HWM_SIZE = 500
def get_logger(log_dir, log_type='access'):
prefix = os.path.join(log_dir, log_type)
formater = logging.Formatter("%(message)s")
handler = WatchedFileHandler(prefix)
handler.setFormatter(formater)
logger = logging.getLogger('varnishlog-%s' % log_type)
logger.addHandler(handler)
logger.setLevel(logging.INFO)
return logger
LOG_PERSISTENT_STATUS = {
"recv_blocks": 0,
"recv_bytes": 0,
}
post_key = 'C'
loggers = {key: get_logger(LOG_DIR, log_type=key) for key in
LOG_TYPES_PERSISTENT if key != post_key}
if post_key in LOG_TYPES_PERSISTENT:
loggers[post_key] = get_logger(POST_DIR, log_type=post_key)
io_bufs = {key: StringIO() for key in LOG_TYPES_PERSISTENT}
io_bufs_time = {key: time.time() for key in LOG_TYPES_PERSISTENT}
def recv_msg(msg):
try:
try:
LOG_PERSISTENT_STATUS['recv_blocks'] += 1
except:
LOG_PERSISTENT_STATUS['recv_blocks'] = 1
    try:
        LOG_PERSISTENT_STATUS['recv_bytes'] += len(msg[1])
    except:
        LOG_PERSISTENT_STATUS['recv_bytes'] = len(msg[1])

    try:
        LOG_PERSISTENT_STATUS[msg[0]] += len(msg[1])
    except:
        LOG_PERSISTENT_STATUS[msg[0]] = len(msg[1])

    loggers[msg[0]].info(msg[1])
except:
    log.error("%s" %

''.join(traceback.format_exception(*sys.exc_info())))
if name == 'main':
loop_instance = IOLoop.instance()
ctx = zmq.Context.instance()
sock = ctx.socket(zmq.SUB)
sock.set_hwm(ZMQ_RCV_HWM_SIZE)
sock.connect(LOG_TYPE_PUB_PATH)
for key in LOG_TYPES_PERSISTENT:
if isinstance(key, str):
sock.setsockopt(zmq.SUBSCRIBE, key)
elif isinstance(key, unicode):
sock.setsockopt_string(zmq.SUBSCRIBE, key)
else:
log.warn("... to set subscribe error:%s" % key)
sock = ZMQStream(sock, loop_instance)
sock.on_recv(recv_msg)
loop_instance.start()
when execute it, pyzmq >= 13.1.0 while print to stdout
2015-11-26 17:36 GMT+08:00 Min RK<EMAIL_ADDRESS>
I'm sorry, I don't understand the question, or even if there is one. What
happens now and what do you want to happen that's different?
—
Reply to this email directly or view it on GitHub
https://github.com/zeromq/pyzmq/issues/760#issuecomment-159858538.

--
石涵

When I run your code (after disabling the syslog bits, which don't work) and send messages on a PUB socket, I get the following logged to stdout:
INFO:varnishlog-A:hi
INFO:varnishlog-B:hello again

I'm afraid I still do not know what you are asking for.

It is this phenomenon
Under the right circumstances should write directly to the file, rather
than a re-export to stdout
2015-11-26 18:40 GMT+08:00 Min RK<EMAIL_ADDRESS>
When I run your code (after disabling the syslog bits, which don't work)
and send messages on a PUB socket, I get the following logged to stdout:
INFO:varnishlog-A:hi
INFO:varnishlog-B:hello again
I'm afraid I still do not know what you are asking for.
—
Reply to this email directly or view it on GitHub
https://github.com/zeromq/pyzmq/issues/760#issuecomment-159874160.

--
石涵

I think I understand now. Python uses log propagation, so the root logger is alsohandling messages from your logger. Tornado (the IOLoop) initializes the root logger if it hasn't been done already with logging.basicConfig(). You can either disable the root logger explicitly:
logging.getLogger().addHandler(logging.NullHandler())

or disable propagation from your loggers:
logger.propagate = False


open62541 build failure on both x86 and x64

Host Environment

OS: Windows 10
Compiler: Microsoft Visual C++ 2019

To Reproduce
Steps to reproduce the behavior:
./vcpkg install open62541:x86-windows
or
./vcpkg install open62541:x64-windows
Failure logs
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:127 (message):
Command failed: ninja -v
Working Directory: D:/dev/C++/_vcpkg/vcpkg/buildtrees/open62541/x64-windows-rel/vcpkg-parallel-configure
Error code: 1
See logs for more information:
D:\dev\C++_vcpkg\vcpkg\buildtrees\open62541\config-x64-windows-out.log
Call Stack (most recent call first):
installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_configure.cmake:407 (vcpkg_execute_required_process)
ports/open62541/portfile.cmake:23 (vcpkg_cmake_configure)
scripts/ports.cmake:142 (include)
AND
CMake Error at scripts/cmake/vcpkg_execute_required_process.cmake:127 (message):
Command failed: ninja -v
Working Directory: D:/dev/C++/_vcpkg/vcpkg/buildtrees/open62541/x86-windows-rel/vcpkg-parallel-configure
Error code: 1
See logs for more information:
D:\dev\C++_vcpkg\vcpkg\buildtrees\open62541\config-x86-windows-out.log
Call Stack (most recent call first):
installed/x64-windows/share/vcpkg-cmake/vcpkg_cmake_configure.cmake:407 (vcpkg_execute_required_process)
ports/open62541/portfile.cmake:23 (vcpkg_cmake_configure)
scripts/ports.cmake:142 (include)
config-x64-windows-out.log
config-x86-windows-out.log
stdout-x64-windows.log
stdout-x86-windows.log

rename the folder to cpp instead of C++. Also that is an upstream issues not strictly a vcpkg issue.

@JamMika, could you try the suggestion provided by Neumann-A?
Falilures:
CMake Error at CMakeLists.txt:1534 (if):
  if given arguments:

    "D:/dev/C++/_vcpkg/vcpkg/buildtrees/open62541/x64-windows-rel/src_generated/open62541/config.h" "MATCHES" "D:/dev/C++/_vcpkg/vcpkg/buildtrees/open62541/src/v1.2.2-bb014958a9.clean/deps"

  Regular expression
  "D:/dev/C++/_vcpkg/vcpkg/buildtrees/open62541/src/v1.2.2-bb014958a9.clean/deps"
  cannot compile

-- Configuring incomplete, errors occurred!
See also "D:/dev/C++/_vcpkg/vcpkg/buildtrees/open62541/x64-windows-rel/CMakeFiles/CMakeOutput.log".
RegularExpression::compile(): Nested *?+.
RegularExpression::compile(): Error in compile.

Thank you. The suggestion from Neumann worked well.
For your information I have sent the ticket to open62541 project as well, they can fix CMakeLists issue with ++.


try fix last deployed release

Signed-off-by: Jason Liew<EMAIL_ADDRESS>

#6850 comment

Hi @jason-liew. Would you mind writing a unit test to cover the case you are trying to fix? That would be much appreciated. Have a look at storage_test.go for ideas. Thanks!

Hi, @bacongobbler unit test updated. Thanks.

some similar pr has been merged


feat: track ignored tests

Motivation
Closes #1123
filters "ignored" tests and include them in the test output.
what should the test output look like?
just
[IGNORED] <skip|ingore>testFuzz(uint256) ?

Solution

I think [SKIP] is better (works w/ pass and fail)

+1 Skip

Ah good point, it would be nice to support contract-level skips too, but contract SkipMyContract would be a new naming approach + seems more likely to clash with a real contract name than a test prefix. I'd be ok with it, but could also be an argument to go the cheatcode route instead.

this adds `skip[tT]est.*´ naming convention to identify skipped test
output is now:
Running 1 test for src/dummy.sol:DummyTest
[SKIP] skipTestAnother()
[SKIP] skiptestCall()
[PASS] testCall() (gas: 179)
Test result: ok. 1 passed; 0 failed; 2 skipped; finished in 3.27ms

that's a good point
will revise

No it's only the start of the test function: testSkip*. However you bring up a good point separately: it would make something like testFail not skippable :( Not sure

it is now test(.*)[sS]kip
for contracts, this means we should stick to <name>TestSkip

No it's only the start of the test function: testSkip*. However you bring up a good point separately: it would make something like testFail not skippable :( Not sure

it would need to be testSkipFail then.
but not sure, I'd expect it to be either at the start or end

Some issues the naming convention approach may cause:

forge-std has a test called testSkip to test it's skip helper method, so that will need to be renamed
Maker has a parameter named skip and a corresponding test named test_cage_skip
Fei has a test called testQueueSkipCycle
I didn't find any that were testSkip* but I may have missed some

Found with
https://sourcegraph.com/search?q=context:global+function+test(.*)[sS]kip+lang:Solidity+&patternType=regexp

thanks for this.
I don't have strong feelings about this convention, changing this would only require changing the TestFunctionExt::is_test_skipped impl
but I guess we narrowed it down to

testSkip.*
test(.*)Skip

following the convention for Fuzz, testSkip(Fuzz|Fail) would make sense

Based on existing tests it seems testSkip.* makes the most sense. Though I do feel a cheatcode would be simpler UX since it doesn't require remembering the nuances on the ordering/naming, and makes --match-test simpler to use also

Feel like we want this to be with a cheatcode. Also we got a bunch of things going on at the same time so vote close and reprioritize separately

sg, is not a critical feature so closing and turn this into cheatcode


Added support for EPUB3

Description
This pull requests adds support for building EPUB3 versions of the RISC-V ISA manuals. To achieve this, asciidoctor-epub3 extension has been used.
Motivation
eBook readers are convenient devices for reading. They are based on e-Ink screens, reducing fatigue while reading. EPUB3 is an open standard eBook format supported by a wide range of hardware readers. It is also well supported by asciidoctor through the aforementioned extension, making it an ideal file format for RISC-V ISA manuals.
Testing
Manually built using Ubuntu 24.04 and viewed files on PocketBook InkPad 3.
Known issues
Some eBook readers are not capable of rendering embedded images. The solution to this problem is disabling embedded image altogether. The README.md file provides more details on how to achieve this.
Related pull requests
riscv-docs-base-container-image: #12

@wmat I think we need to partially revert this.  Trying to build this within the usual docker container, the build fails because of a lack of asciidoctor-epub3.

Nevermind.  I see the docker container has been updated accordingly and I just needed to download a newer version.  In case anyone else stumbles across this, don't forget to docker pull docker.io/riscvintl/riscv-docs-base-container-image:latest

Nevermind once again.  The epub build is still broken inside the docker container, but for a different reason:
asciidoctor: WARNING: riscv-privileged.adoc: invalid reference to unknown anchor: LP_INST
(sass):384: Invalid US-ASCII character "\\xE2" (Sass::SyntaxError)

I'll disable building epubs within the docker container for now.

Probably you've run cd build && make. You need to run export LANG=C.utf8; cd build && make as suggested by the README.md and workflow files.

The command “make docker” is supposed to just work, regardless of environment. So you have not fixed up the Makefile properly. When you have, let us know.


KAFKA-15886: Always specify directories for new partition registrations

When creating partition registrations directories must always be defined.
If creating a partition from a PartitionRecord or PartitionChangeRecord from an older version that does not support directory assignments, then DirectoryId.MIGRATING is assumed.
If creating a new partition, or triggering a change in assignment, DirectoryId.UNASSIGNED should be specified, unless the target broker has a single online directory registered, in which case the replica should be assigned directly to that single directory.
Committer Checklist (excluded from commit message)

[ ] Verify design and implementation
[ ] Verify test coverage and CI build status
[ ] Verify documentation (including upgrade notes)

@cmccabe @pprovenzano please take a look

@soarez : BrokerLifecycleManagerTest.testAlwaysSendsAccumulatedOfflineDirs seems to be failing -- can you update this with the latest from trunk?


Workaround for IME on Linux.

X11(fixes #29):

    Workaround for supporting input method frameworks like SCIM,
    IBus, Fcitx, etc.

    The locale is set when the application starts.

    Workaround for input when the input context within the specified
    input method is not available.

Wow, that seems awesome! Though the commit title is not descriptive and the clang-format is not happy. Can you fix the issues and amend the commit? Check the PR workflow doc for help if needed.

Thanks. I have just amended the commit with the commands in that page.

Wow, this is awesome!
I'm doing the same thing yesterday but you g0t it and better progress then mine.

Tested with fcitx, it works fine.

Apologies, I had to revert this. It seems to not be sending echo in the inputkey events properly.
X11 is pretty complex and i'm not sure how the IME stuff works, so would be glad if you can give a check to this and attempt PR again when fixed.

for more clarification, echo events are being sent, but are absent the echo property

Sorry, I hadn't check the old code sending echo. It seemed that the old implementation didn't check the type of the event after KeyRelease. The next event may not be KeyPress when the IME is activated. I will try to fix it and attempt PR again.

@sowfelicity If you fix that please tell me as #9366 is base on this functionality.

No problem.


GPU device not found on Ubuntu 14.04

I have installed tensorflow python3 version using virtual environment on Ubuntu 14.04. There are three GPUs (Tesla K20c) available on the server that i work on.
On the tensorflow webpage it says: "In general you do not have to specify CPUs or GPUs explicitly. TensorFlow uses your first GPU, if you have one, for as many operations as possible."
When i checked the examples provided on Using GPUs about using multi-GPUs
import tensorflow as tf
Creates a graph.
c = []
for d in ['/gpu:1', '/gpu:2']:
with tf.device(d):
a = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[2, 3])
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2])
c.append(tf.matmul(a, b))
with tf.device('/cpu:0'):
sum = tf.add_n(c)
Creates a session with log_device_placement set to True.
sess = tf.Session(config=tf.ConfigProto(log_device_placement=True))
Runs the op.
print(sess.run(sum))
the following error was displayed:
I tensorflow/stream_executor/dso_loader.cc:101] successfully opened CUDA library                                    libcublas.so.7.0 locally
I tensorflow/stream_executor/dso_loader.cc:101] successfully opened CUDA library                                    libcudnn.so.6.5 locally
I tensorflow/stream_executor/dso_loader.cc:101] successfully opened CUDA library                                    libcufft.so.7.0 locally
I tensorflow/stream_executor/dso_loader.cc:93] Couldn't open CUDA library libcud                                   a.so. LD_LIBRARY_PATH: :/usr/local/cuda/lib64
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:121] hostname: dmlserver
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:146] libcuda reported vers                                   ion is: Not found: was unable to find libcuda.so DSO loaded into this program
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:257] driver version file c                                   ontents: """NVRM version: NVIDIA UNIX x86_64 Kernel Module  346.96  Sun Aug 23 2                                   2:29:21 PDT 2015
GCC version:  gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)
"""
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:150] kernel reported versi                                   on is: 346.96
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1060] LD_LIBRARY_PATH: :/                                   usr/local/cuda/lib64
I tensorflow/stream_executor/cuda/cuda_gpu_executor.cc:1061] failed to find libc                                   uda.so on this system: Failed precondition: could not dlopen DSO: libcuda.so; dl                                   error: libcuda.so: cannot open shared object file: No such file or directory
I tensorflow/stream_executor/dso_loader.cc:101] successfully opened CUDA library                                    libcurand.so.7.0 locally
I tensorflow/core/common_runtime/local_device.cc:40] Local device intra op paral                                   lelism threads: 16
E tensorflow/stream_executor/cuda/cuda_driver.cc:481] failed call to cuInit: CUD                                   A_ERROR_NO_DEVICE
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:114] retrieving CUDA diagn                                   ostic information for host: dmlserver
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:121] hostname: dmlserver
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:146] libcuda reported vers                                   ion is: Not found: was unable to find libcuda.so DSO loaded into this program
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:257] driver version file c                                   ontents: """NVRM version: NVIDIA UNIX x86_64 Kernel Module  346.96  Sun Aug 23 2                                   2:29:21 PDT 2015
GCC version:  gcc version 4.8.4 (Ubuntu 4.8.4-2ubuntu1~14.04)
"""
I tensorflow/stream_executor/cuda/cuda_diagnostics.cc:150] kernel reported versi                                   on is: 346.96
I tensorflow/core/common_runtime/gpu/gpu_init.cc:127] DMA:
I tensorflow/core/common_runtime/direct_session.cc:58] Direct session inter op p                                   arallelism threads: 16
Device mapping: no known devices.
I tensorflow/core/common_runtime/direct_session.cc:134] Device mapping:
Traceback (most recent call last):
File "/usr/lib/python3.4/site-packages/tensorflow/python/client/session.py", l                                   ine 428, in _do_run
target_list)
tensorflow.python.pywrap_tensorflow.StatusNotOK: Invalid argument: Cannot assign                                    a device to node 'Const_3': Could not satisfy explicit device specification '/g                                   pu:2'
[[Node: Const_3 = Constdtype=DT_FLOAT, value=Tensor<type: float shape:                                    [3,2] values: 1 2 3...>, _device="/gpu:2"]]
During handling of the above exception, another exception occurred:
Traceback (most recent call last):
File "checking_2.py", line 15, in
print(sess.run(sum))
File "/usr/lib/python3.4/site-packages/tensorflow/python/client/session.py", l                                   ine 368, in run
results = self._do_run(target_list, unique_fetch_targets, feed_dict_string)
File "/usr/lib/python3.4/site-packages/tensorflow/python/client/session.py", l                                   ine 444, in _do_run
e.code)
tensorflow.python.framework.errors.InvalidArgumentError: Cannot assign a device                                    to node 'Const_3': Could not satisfy explicit device specification '/gpu:2'
[[Node: Const_3 = Constdtype=DT_FLOAT, value=Tensor<type: float shape:                                    [3,2] values: 1 2 3...>, _device="/gpu:2"]]
Caused by op 'Const_3', defined at:
File "checking_2.py", line 8, in
b = tf.constant([1.0, 2.0, 3.0, 4.0, 5.0, 6.0], shape=[3, 2])
File "/usr/lib/python3.4/site-packages/tensorflow/python/ops/constant_op.py",                                    line 165, in constant
attrs={"value": tensor_value, "dtype": dtype_value}, name=name).outputs[0]
File "/usr/lib/python3.4/site-packages/tensorflow/python/framework/ops.py", li                                   ne 1834, in create_op
original_op=self._default_original_op, op_def=op_def)
File "/usr/lib/python3.4/site-packages/tensorflow/python/framework/ops.py", li                                   ne 1043, in init
self._traceback = _extract_stack()
Don't understand what the problem is? Need URGENT help!!!

See my comments at: https://github.com/tensorflow/tensorflow/issues/808#issuecomment-178854998

@caisq  i followed the first three steps in the comments you referred me to and ended up with this:
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
cudaGetDeviceCount returned 35
-> CUDA driver version is insufficient for CUDA runtime version
Result = FAIL
what to do next?

@kibtes Did you try "sudo ./deviceQuery"?

@caisq  yes this is the result of it
root@dmlserver:/home/dmlserver/NVIDIA_CUDA-7.0_Samples/bin/x86_64/linux/release# sudo ./deviceQuery
./deviceQuery Starting...
CUDA Device Query (Runtime API) version (CUDART static linking)
cudaGetDeviceCount returned 35
-> CUDA driver version is insufficient for CUDA runtime version
Result = FAIL

@kibtes  As the error message says "-> CUDA driver version is insufficient for CUDA runtime version", you need to check the version of your NVIDIA driver.
sudo apt --installed list | grep nvidia
Most likely you'll need to uninstall the current one, and install a later version. I ran int a similar situation before. I uninstalled nvidia-340 and installed nvidia-352.

Closing since it looks like it's a system environment issue.

123

怎么解决，没找到方法


[Docs] Example code in "Previous()" doesn't work

Previous() in documentation
→ Commonly used as part of a link to return to the most recent non-active passage
[[Return|previous()]]

This example code sends the player to a passage called previous() instead of the most recent non-active passage.
As a possible replacement, the section could refer to the <<return>> macro and/or use the code below:
<<link "Return" `previous()`>> <</link>>

@cygni-a
The "Created missing passages that are referenced in Markup Links" feature of the Twine 2.x application's Passage Editor doesn't distinguish between a Standard Markup link like [[Link Text|Target Passage Name]] and a Non-standard Markup link like your [[Return|previous()]] example, so that feature mistakenly creates a Passage named previous().
If you manually delete the Passage named previous() from your project then the [[Return|previous()]] example will work correctly.

@greyelf
You're right! Thank you for explaining that.
In that case, I change my suggestion to have the example code include a note with the caveat that one has to delete the Passage previous() and ignore the broken link that causes to appear. And/or include the proposed <<link>> code anyway as an alternate example that doesn't result in a broken link in the editor.

Or better yet--get Twine to document or fix its quirky behavior since that is where the issue is no SugarCube. If you use a different tool (not Twine, e.g., tweego, etc.) you never see this issue. Yet one more reason to not like Twine (it does not really understand and process the TwineScript--that is what the story format does--but it still tries to act based on it in some ways).

This is more of a, longstanding, Twine 2 issue and really does need to addressed there.
That said, I do have a few other "daft Twine 2 behavior ahead" warnings elsewhere, so adding something to that effect here wouldn't be out of place.


Support for new Rich Text blocks and elements (rich_text_list, rich_text_quote, ...)

Is there interest for adding support for https://api.slack.com/reference/block-kit/blocks#rich_text to the blockkit library?
I might be able to send a PR for it. Since it's a sizable addition, I wanted to check in first and see if there's support or if someone else is already working on it.

Hi! I actually planned to add support for Rich Text Blocks myself, but I'd be more than glad if you could contribute this feature. Please feel free to send a PR!

@imryche Cool either way. Please don't let me hold you up if you want to work on it. If I find the time and make some headway, I'll drop another comment so we don't duplicate effort.


reviewdog: this is not PullRequest build.

Hi!
I'm trying to integrate reviewdog with checkstyle and Github actions. I keep getting the "reviewdog: this is not PullRequest build." from reviewdog, even though it is a PR and other reviewdog actions are working.
Link to PR: https://github.com/Meemaw/Insight/pull/75/files#diff-fbb14557164bb96f182ecff206e2a57cR8
Link to check: https://github.com/Meemaw/Insight/pull/75/checks?check_run_id=682434835#step:7:9

What was the issue with this? I've started seeing this in my CI pipelines with no new changes to logic.


Update README.md

I deleted a question (unanswered) that did not help beginners

👍

The answer is btw 2 times and going for a 3rd ;)


LepIndex - Infrasubspecific names with wrong authorship

The valid name as shown under relationships is displaying the authorship of the name of record and not the senior name. Examples:
(1)	“scheidenbaueri Gschwandner 1924” is an invalid name with the senior name as “Deilephila elpenor Linnaeus 1758”. In TW it shows the senior name as “Deilephila elpenor elpenor Gschwandner, 1924”.
(2)	“costimaculata Bang-Haas 1938” is an invalid name with the senior name as “Marumba quercus [Denis & Schiffermüller] 1775”. In TW it shows the senior name as “Marumba quercus Bang-Haas, 1938”.
There are over 6,000 infrasubspecies names in the full dataset.

This is view interface issue, data in the database are correct


Issue with k8s.io/docs/tutorials/kubernetes-basics/scale/scale-interactive/

This is a...

[ ] Feature Request
[x] Bug Report

Problem:
On the tutorial where it shows how to scale things, it says, "This confirms that 2 Pods were terminated." However, I think going from 3 replicas to 2 replicas means that one replica was terminated and 2 replicas still exist.
Proposed Solution:
Say, "This confirms that 1 Pod were terminated."
Page to Update:
https://kubernetes.io/...

Oops, it's 4 -> 2. I'm wrong.


Implement syscall 601

According to the PS4 wiki, this one is 'sys_mdbg_service'.
Reached after #484, after writing false in the dipsw ioctl.

@ultimaweapon Red-prig says that we shouldn't be reaching this, so I assume this is probably caused by the module not being loaded as seen in #487.


tailwind.config.js isn't getting read by extension

This extension looks very useful! Our tailwind.config.js is the root directory of our repo, but unfortunately isn't getting pulled in by this extension. Is our tailwind config configured unconventionally?
tailwind.config.js.txt

Do you get an error? A message to say it can not be read/found? Can you provide a link to the repo?

I ran the file you attached on a local repo and it is working as expected:

Thanks for looking into this. Unfortunately the repo is private, so I can't link to it. But here are a few screenshots from VS Code. BTW - I'm on a Mac (unsure if that makes a difference).

I have not tested it on a mac.
Can you try to open developer tools Help -> Toggle Developer Tools and then click on the extension icon in sidebar. Check if there any errors related to the extension in developer tools and let me know.

@abdul-alhasany here you go...

Thanks. I will try to debug it.
What version of tailwind are you using?

Tailwind v2.2.16

I think this is the issue. Try to upgrade to 3.0.0 (or preferably the latest) and check.

I won't be able to do that right away, but will spin up a sandbox later this week to explore upgrading to see if it solves the issue.

Same issue for tailwind.config.ts -- seems we're not even looking for .ts files?

@gaurangrshah Yours is a different issue. Yes, .ts is not looked for. If you have a sample repo I can try to implement it for .ts config.

@abdul-alhasany It would be great with support for tailwind.config.ts. Here's an example repo I found just now https://github.com/FinnDore/tailwind-ts-config-prettier

@KnifeFed This should be fixed in 0.0.8. Please check and let me know.


Will the unicode panic be fixed?

Note: currently panics when using compound characters

This may prevent production usage of the crate.
Are there any plans for fixing it?

I am planning on fixing it soon, thanks for reminding me :)

Fixed in 9dfb7c17eac386530f382cb47bb71f337a7bbbcf


Console .prefab doesn't receive inputs in fresh scene

When following the getting started instructions and adding the console to a new scene, the console will show but will seem frozen (doesn't accept any inputs or clicks). Also tried generating commands first in the new scene. Demo scene does work correctly though.
Exporting the prefab from the demo doesn't work either, so it seems like there might be a step missing?
Edit: The scene needs to have an EventSystem and an InputModule for this to work.

Added EventSystem and InputModule to the prefab to fix this issue.


[WIP] Fix Mac finding gfortran

This change is

One guess for what's happening is that the most recent Homebrew version of GCC has changed since we cached our build of Ipopt.

My local testing supports the above statement. If that's the case, the cache key could include the version of gfortran. Or we could install an older versions of gcc, such as gcc@8 that is less likely to be updated.

Ready for review


[Show and tell] I MADE ICON BOUNCE THING LETS GOOOO

What is your question?
no discussions = nowhere to post the show and tell.
https://user-images.githubusercontent.com/96075081/161294938-b0b1f685-6397-435d-ac28-8c9a055d762e.mp4
i will be adjusting them so...

Sick!

that's very cool

"Show and Tell" isn't a thing, please don't do posts like this on github issues cuz as you can see it's already flooded with shitty posts


Update for 6.2

Hi,
Wondering if this plugin will be updated for 6.2?
Thank you

I'd like to know too! I hope it is, it's one of my favorite plugins since I found it in 6.1.
Thank you very much ^-^

Since I have been away from FFXIV for a long time, it takes time to update, but let's do it.

Oh, I don't know what to do, so I can't do maintenance.
I'm sorry.


[Q] Logging from multiple threads

Hi, thank you very much for this amazing tool!
I have a question: when logging from different threads, I get a RuntimeError: "dictionary changed size during iteration", see also this pull request: https://github.com/wandb/client/pull/110.
I have found a workaround, I share it here, it might be helpful to others. The solution for me was to log with wandb in one thread and with tensorboard in the other thread, and of course setting sync_tensorboard=True.
My question for the future: is there a better way to deal with multithreading logging?
Thank you again!
Eugenio

Hey @chisarie, currently wandb.log is not thread safe.  We'll leave this ticket open as we may eventually make it thread safe.

All right, thank you :)

Hi! What's the state of this?

@epignatelli we're currently focussing our efforts on multiprocessing and haven't circled back to multithreading.  Can you share a little more about your usecase and maybe provide some example code as to what wandb api calls you want to parallelize in a single process?

This issue has gone stale and we are now closing it. Please comment to reopen.

It might be easier to add thread safety if there were a context manager interface:
from wandb import init_context_manager:

with init_context_manager(settings=...) as wandb_session:
    wandb_session.log(...)

Any progress on this? I have a microservice that does metadata lookups, and the client currently does not appear to be thread safe


Icon invisible if not on darkmode

Menu bar icon is almost invisible on macOS when not running in Dark Mode

hmm the outline indeed got 'removed' or wasn't visible. The SVG was very low resolution so my changes made in Illustrator didn't really catch on to it. Update the SVG canvas size and did somefixup on the icon should be much better now with v0.2.4


Add monitor IP to API results.

While creating a Gateway Prometheus Exporter for OPNSense, I was interested in which IP was being monitored by dping, not just the name of the gateway. This PR exposes that information through the API.

@hb0nes looks good, thanks


Autofind homebrew installation path

[setup.py] check for Homebrew-installed SuiteSparse and automatically construct correct Include and Library paths

@AaronDJohnson the tests are failing for Python 3.6, because in that version subprocess.run() does not yet support capture_output argument (docs). I can make it backward compatible, but it might be less elegant.

actually it's even nicer this way, I think :)


FFMPEG import error

How to reproduce these conditions

clone git repo for firebase/function-samples
cd ffmpeg project
firebase add
firebase deploy
ERROR

Sample name or URL where you found the bug
https://github.com/firebase/functions-samples/blob/Node-8/ffmpeg-convert-audio/functions/index.js
Failing Function code used (including require/import commands at the top)
const functions = require('firebase-functions');
const gcs = require('@google-cloud/storage')();
const path = require('path');
const os = require('os');
const fs = require('fs');
const ffmpeg = require('fluent-ffmpeg');
const ffmpeg_static = require('ffmpeg-static');

Steps to set up and reproduce

clone git repo for firebase/function-samples
cd ffmpeg project
firebase add
firebase deploy
ERROR

Sample data pasted or attached as JSON (not an image)

Security rules used

Debug output
Errors in the console logs
Screenshots
Expected behavior
Deploy successfully to Firebase Cloud Functions!

Actual behavior
ERROR - module import fails for firebase cloud storage

You can check issue #472
TLDR - change lines 19 & 57 with:
const gcs = require('@google-cloud/storage');
const bucket = new gcs.Storage().bucket(fileBucket);


the setting up the local environment should be part of the imls website guide tree

to avoid confusion, setting up a local environment should be part of the IMLS web section, just so it's clear those are instructions for running a local version of the IMLS website and not confused with the Workbench stuff.

Moved the local-env portion under the IMLS website


DAO Option with Base91 encoding in Beacon Message

Added APRS Datum and Precision Option to Beacon Message.
This offers two more digits Precision for Lat/Lon in Position Reports.
Spec: http://www.aprs.org/aprs12/datum.txt
I Hope this was implemented ok? Seems to work.
Got some great help from:
https://metacpan.org/dist/Ham-APRS-FAP/source/FAP.pm

closing #18


[BUG] Workers not restarting after stop

We have a local rr build to run our services with such config file
rpc:
  listen: tcp://<IP_ADDRESS>:6001

server:
  # Worker starting command, with any required arguments.
  #
  # This option is required.
  command: "php ./vendor/bin/rr-worker start --refresh-app --relay-dsn tcp://<IP_ADDRESS>:6001"

  # User name (not UID) for the worker processes. An empty value means to use the RR process user.
  #
  # Default: ""
  user: ""

  # Group name (not GID) for the worker processes. An empty value means to use the RR process user.
  #
  # Default: ""
  group: ""

  # Worker relay can be: "pipes", TCP (eg.: tcp://<IP_ADDRESS>:6001), or socket (eg.: unix:///var/run/rr.sock).
  #
  # Default: "pipes"
  relay: tcp://<IP_ADDRESS>:6001

  # Timeout for relay connection establishing (only for socket and TCP port relay).
  #
  # Default: 60s
  relay_timeout: 60s

logs:
  # default
  mode: development
  level: debug
  encoding: console
  output: stdout
  err_output: stdout
  channels:
    http:
      mode: development
      level: debug
      encoding: console
      output: stdout
    server:
      mode: development
      level: debug
      encoding: console
      output: stdout
    rpc:
      mode: development
      level: debug
      encoding: console
      output: stdout

http:
  address: "<IP_ADDRESS>:80"
  # middlewares for the http plugin, order matters
  middleware: ["static", "gzip", "headers"]
  # uploads
  uploads:
    forbid: [".php", ".exe", ".bat"]
  trusted_subnets:
    [
        "<IP_ADDRESS>/8",
        "<IP_ADDRESS>/8",
        "<IP_ADDRESS>/12",
        "<IP_ADDRESS>/16",
        "::1/128",
        "fc00::/7",
        "fe80::/10",
    ]
  # headers (middleware)
  headers:
    cors:
      allowed_origin: "*"
      allowed_headers: "*"
      allowed_methods: "GET,POST,PUT,PATCH,DELETE"
      allow_credentials: true
      exposed_headers: "Cache-Control,Content-Language,Content-Type,Expires,Last-Modified,Pragma"
      max_age: 600
  # http static (middleware)
  static:
    dir: "public"
    forbid: [".php"]
  pool:
    # default - num of logical CPUs
    num_workers: 4
    # default 0 - no limit
    max_jobs: 1
    # default 1 minute
    allocate_timeout: 60s
    # default 1 minute
    destroy_timeout: 60s
    # supervisor used to control http workers
    supervisor:
      # watch_tick defines how often to check the state of the workers (seconds)
      watch_tick: 1s
      # ttl defines maximum time worker is allowed to live (seconds)
      ttl: 0
      # idle_ttl defines maximum duration worker can spend in idle mode after first use. Disabled when 0 (seconds)
      idle_ttl: 10s
      # exec_ttl defines maximum lifetime per job (seconds)
      exec_ttl: 10s
      # max_worker_memory limits memory usage per worker (MB)
      max_worker_memory: 100
  ssl:
    # host and port separated by semicolon (default :443)
    address: :443
    redirect: false
    # ssl cert
    cert: /ssl-cert/self-signed.crt
    # ssl private key
    key: /ssl-cert/self-signed.key
  # HTTP service provides HTTP2 transport
  http2:
    h2c: false
    max_concurrent_streams: 128
  # Automatically detect PHP file changes and reload connected services (docs:
  # https://roadrunner.dev/docs/beep-beep-reload). Drop this section for this feature disabling.
  reload:
    # Sync interval.
    #
    # Default: "1s"
    interval: 1s

    # Global patterns to sync.
    #
    # Default: [".php"]
    patterns: [ ".php" ]

    # List of included for sync services (this is a map, where key name is a plugin name).
    #
    # Default: <empty map>
    services:
      server:
        # Directories to sync. If recursive is set to true, recursive sync will be applied only to the directories in
        # "dirs" section. Dot (.) means "current working directory".
        #
        # Default: []
        dirs: [ "." ]

        # Recursive search for file patterns to add.
        #
        # Default: false
        recursive: true

        # Ignored folders.
        #
        # Default: []
        ignore: [ "vendor" ]

        # Service specific file pattens to sync.
        #
        # Default: []
        patterns: [ ".php", ".go", ".md" ]
      http:
        # Directories to sync. If recursive is set to true, recursive sync will be applied only to the directories in
        # "dirs" section. Dot (.) means "current working directory".
        #
        # Default: []
        dirs: [ "." ]

        # Recursive search for file patterns to add.
        #
        # Default: false
        recursive: true

        # Ignored folders.
        #
        # Default: []
        ignore: [ "vendor" ]

        # Service specific file pattens to sync.
        #
        # Default: []
        patterns: [ ".php", ".go", ".md", ".js", ".css", ".json" ]

Actually, it runs Laravel bridged workers. Due to Laravel Nova not compatible with async (it spawns a lot of DB connections and stores some settings in static vars outside the app container), we decided to set max_jobs: 1 until problem is solved.
I expected to see this happen: explanation
As for now, I receive error in browser:
1 error occurred:
	* supervised_exec_with_context: Timeout: context deadline exceeded

Errortrace, Backtrace or Panictrace
gb_admin | 2021-04-01T10:25:27.127Z     WARN    server  server/plugin.go:208    no free workers in pool {"error": "static_pool_exec_with_context: NoFreeWorkers:\n\tworker_watcher_get_free_worker: no free workers in the container, timeout exceed"}
gb_admin | github.com/spiral/roadrunner/v2/plugins/server.(*Plugin).collectEvents
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.1/plugins/server/plugin.go:208
gb_admin | github.com/spiral/roadrunner/v2/pkg/events.(*HandlerImpl).Push
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.1/pkg/events/general.go:37
gb_admin | github.com/spiral/roadrunner/v2/pkg/pool.(*StaticPool).getWorker
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.1/pkg/pool/static_pool.go:230
gb_admin | github.com/spiral/roadrunner/v2/pkg/pool.(*StaticPool).execWithTTL
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.1/pkg/pool/static_pool.go:175
gb_admin | github.com/spiral/roadrunner/v2/pkg/pool.(*supervised).Exec.func1
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.1/pkg/pool/supervisor_pool.go:99

Hello @vpatrikeev. I'm not sure, that I completely understand you. But some observations:

I see that you are using the default configuration for the logs, for the supervisor, and so on. Just note, that the default configuration isn't designed to be used as-is. Also, I see that the supervisor will restart your worker every 10s.
The worker should process requests, if you block the worker and you have only 1 worker, the next request will wait until the worker will be freed. But in the case of a blocked worker, the RR2 will wait for the allocation_timeout time and send you an error, that worker can not be allocated, because it's still blocked internally.

Also, what kind of Stop do you mean?
It will be really helpful if you provide some steps to reproduce.

@48d90782 Забыл, что ребята вы наши и можно по-русски)
Да, конфигурации пока дефолтный для многих настроек.
Вопрос в следующем - стоит max_jobs: 1. То есть после 1 запроса варке должен остановиться.
А новый воркер на замену не поднимается?

(по русски тут нельзя, прости, вдруг проблема будет еще у кого, поэтому язык общения в тикете - английский)

@48d90782 Забыл, что ребята вы наши и можно по-русски)
Да, конфигурации пока дефолтный для многих настроек.
Вопрос в следующем - стоит max_jobs: 1. То есть после 1 запроса варке должен остановиться.
А новый воркер на замену не поднимается?

If you want to discuss some point, welcome to our discord server in the roadrunner -> russian channel.

@48d90782 Забыл, что ребята вы наши и можно по-русски)
Да, конфигурации пока дефолтный для многих настроек.
Вопрос в следующем - стоит max_jobs: 1. То есть после 1 запроса варке должен остановиться.
А новый воркер на замену не поднимается?

This question is (English):
max_jobs is set to 1. After the request, the worker should be stopped. Does a new worker for a replacement get up?
Yes, the old worker, after the response, should be terminated (killed) and replaced with the new one.

@vpatrikeev Also, could you please update your RR2 to version 2.0.3, because we updated the mechanism of killing workers by max_jobs reached event.

As I can see, it appears not to get up. (I updated RR to 2.0.3)

Here is my docker-compose
version: '3.2'

services:
  app: &app-service
    build:
      context: .
      dockerfile: ./Dockerfile
    container_name: "${SERVICE_SLUG:-gb_service_template_app}"
    restart: on-failure
    volumes:
      - ./docker/app-entrypoint.sh:/app-entrypoint.sh:ro
      - .:/app
    env_file:
      - .env
    ports:
      - "${APP_PORT:-80}:80"
      - "${APP_PORT_SSL:-443}:443"
    command: 'rr serve -c /app/.rr.local.yml'
    networks:
      - app-network
      - gb-service

  queue:
    <<: *app-service
    container_name: "${SERVICE_SLUG_QUEUE:-gb_service_template_queue}"
    environment:
      STARTUP_DELAY: 5
    command: 'php /app/artisan queue:work --memory=64'
    ports: []

networks:
  app-network:
    driver: bridge
  gb-service:
    name: 'gb-service'
    driver: bridge

And Dockerfile
FROM composer:2 AS composer
FROM spiralscout/roadrunner:2.0.3 AS roadrunner

FROM php:8.0.3-alpine

ENV \
    COMPOSER_ALLOW_SUPERUSER="1" \
    COMPOSER_HOME="/tmp/composer" \
    OWN_SSL_CERT_DIR="/ssl-cert" \
    OWN_SSL_CERT_LIFETIME=1095 \
    PS1='\[\033[1;32m\]\[\033[1;36m\][\u@\h] \[\033[1;34m\]\w\[\033[0;35m\] \[\033[1;36m\]# \[\033[0m\]'

# persistent / runtime deps
ENV PHPIZE_DEPS \
    build-base \
    autoconf \
    libc-dev \
    pcre-dev \
    openssl \
    pkgconf \
    cmake \
    make \
    file \
    re2c \
    g++ \
    gcc

# repmanent deps
ENV PERMANENT_DEPS \
    postgresql-dev \
    git \
    openssh

COPY --from=composer /usr/bin/composer /usr/bin/composer
COPY --from=roadrunner /usr/bin/rr /usr/bin/rr

RUN set -xe \
    && apk add --no-cache ${PERMANENT_DEPS} \
    && apk add --no-cache --virtual .build-deps ${PHPIZE_DEPS} \
    # https://github.com/docker-library/php/issues/240
    && apk add --no-cache --repository http://dl-3.alpinelinux.org/alpine/edge/community gnu-libiconv \
    && docker-php-ext-configure opcache --enable-opcache \
    && docker-php-ext-configure pdo_pgsql \
    && docker-php-ext-configure bcmath --enable-bcmath \
    && docker-php-ext-install -j$(nproc) \
        sockets \
        pdo_pgsql \
        opcache \
        bcmath \
    && pecl install -o -f redis \
            && rm -rf /tmp/pear \
            && docker-php-ext-enable redis \
    && ( mkdir -p ${OWN_SSL_CERT_DIR} \
        && cd ${OWN_SSL_CERT_DIR} \
        && openssl genrsa -passout pass:x -out self-signed.key 2048 \
        && cp self-signed.key self-signed.key.orig \
        && openssl rsa -passin pass:x -in self-signed.key.orig -out self-signed.key \
        && openssl req -new -key self-signed.key -out cert.csr \
            -subj "/C=RU/ST=RU/L=Somewhere/O=SomeOrg/OU=IT Department/CN=example.com" \
        && openssl x509 -req -days ${OWN_SSL_CERT_LIFETIME} -in cert.csr -signkey self-signed.key -out self-signed.crt \
        && ls -lh ) \
    && apk del .build-deps \
    && rm -rf /app /home/user ${COMPOSER_HOME} /var/cache/apk/* \
    && mkdir /app /home/user ${COMPOSER_HOME} \
    && ln -s /usr/bin/composer /usr/bin/c

COPY ./docker/php.ini /usr/local/etc/php/php.ini
COPY ./docker/opcache.ini /usr/local/etc/php/conf.d/opcache.ini
COPY ./docker/app-entrypoint.sh /app-entrypoint.sh

WORKDIR /app

COPY ./auth.* /app/
COPY ./composer.* /app/

RUN set -xe \
    && composer install --no-interaction --no-ansi --prefer-dist --no-scripts --no-autoloader \
    && composer install --no-interaction --no-ansi --prefer-dist --no-scripts --no-dev\
    && chmod -R 777 /home/user ${COMPOSER_HOME}

COPY . /app

RUN set -xe \
    && chmod +x /app-entrypoint.sh

EXPOSE 80
EXPOSE 443

# DO NOT OVERRIDE ENTRYPOINT IF YOU CAN AVOID IT! @see <https://github.com/docker/docker.github.io/issues/6142>
ENTRYPOINT ["/app-entrypoint.sh"]
CMD ["rr", "serve", "-c", "/app/.rr.yml"]

It is all built on top of Laravel 8 app using your roadrunner-laravel package

@vpatrikeev Could you please turn on debug mode in the logs:
logs:
  mode: development
  level: debug
  encoding: console
  output: stdout
  err_output: stdout

And paste here the error output?

@tarampampam Could you please help me with the roadrunner-laravel package?

gb_admin | 2021-04-01T12:04:08.000Z     WARN    server  server/plugin.go:208    no free workers in pool {"error": "static_pool_exec_with_context: NoFreeWorkers:\n\tworker_watcher_get_free_worker: no free workers in the container, timeout exceed"}
gb_admin | github.com/spiral/roadrunner/v2/plugins/server.(*Plugin).collectEvents
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.3/plugins/server/plugin.go:208
gb_admin | github.com/spiral/roadrunner/v2/pkg/events.(*HandlerImpl).Push
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.3/pkg/events/general.go:37
gb_admin | github.com/spiral/roadrunner/v2/pkg/pool.(*StaticPool).getWorker
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.3/pkg/pool/static_pool.go:229
gb_admin | github.com/spiral/roadrunner/v2/pkg/pool.(*StaticPool).execWithTTL
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.3/pkg/pool/static_pool.go:176
gb_admin | github.com/spiral/roadrunner/v2/pkg/pool.(*supervised).Exec.func1
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.3/pkg/pool/supervisor_pool.go:99

First 4 requests were successful, due to num_workers: 4
But after each I see in console:
582Z     ERROR   server  server/plugin.go:235    worker_watcher_wait: signal: killed; process_wait: signal: killed
gb_admin | github.com/spiral/roadrunner/v2/plugins/server.(*Plugin).collectEvents
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.3/plugins/server/plugin.go:235
gb_admin | github.com/spiral/roadrunner/v2/pkg/events.(*HandlerImpl).Push
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.3/pkg/events/general.go:37
gb_admin | github.com/spiral/roadrunner/v2/pkg/worker_watcher.(*workerWatcher).wait
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.3/pkg/worker_watcher/worker_watcher.go:235
gb_admin | github.com/spiral/roadrunner/v2/pkg/worker_watcher.(*workerWatcher).Watch.func1
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.3/pkg/worker_watcher/worker_watcher.go:44
gb_admin | 2021-04-01T12:03:52.294Z     DEBUG   server  server/plugin.go:220    worker constructed      {"pid": 55}
gb_admin | 2021-04-01T12:03:52.651Z     DEBUG   http    http/plugin.go:119      200 GET http://<IP_ADDRESS>:10081/nova/login {"remote": "<IP_ADDRESS>", "elapsed": "592.3817ms"}
gb_admin | 2021-04-01T12:03:52.659Z     ERROR   server  server/plugin.go:235    worker_watcher_wait: signal: killed; process_wait: signal: killed
gb_admin | github.com/spiral/roadrunner/v2/plugins/server.(*Plugin).collectEvents
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.3/plugins/server/plugin.go:235
gb_admin | github.com/spiral/roadrunner/v2/pkg/events.(*HandlerImpl).Push
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.3/pkg/events/general.go:37
gb_admin | github.com/spiral/roadrunner/v2/pkg/worker_watcher.(*workerWatcher).wait
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.3/pkg/worker_watcher/worker_watcher.go:235
gb_admin | github.com/spiral/roadrunner/v2/pkg/worker_watcher.(*workerWatcher).Watch.func1
gb_admin |      github.com/spiral/roadrunner/v2@v2.0.3/pkg/worker_watcher/worker_watcher.go:44

I guess, that you don't free up the worker. So, it's blocked inside your PHP worker code and not sending a response back. If that possible, could you paste here (for sure, without sensitive information) your worker code?

It is a standard Laravel-roadrunner worker:
#!/usr/bin/env php
<?php

declare(strict_types=1);

\define('RR_WORKER_START', \microtime(true));

\ini_set('display_errors', 'stderr');

/*
|--------------------------------------------------------------------------
| Register The Auto Loader
|--------------------------------------------------------------------------
|
| Composer provides a convenient, automatically generated class loader
| for our application. We just need to utilize it! We'll require it
| into the script here so that we do not have to worry about the
| loading of any our classes "manually". Feels great to relax.
|
*/

$loaded = false;

foreach (['../../..', '../..', '..', 'vendor', '../vendor', '../../vendor'] as $path) {
    if (\is_file($autoload_file = __DIR__ . '/' . $path . '/autoload.php')) {
        require $autoload_file;
        $loaded = true;
        break;
    }
}

if ($loaded !== true) {
    \fwrite(\STDERR, 'Composer autoload file was not found. Try to install project dependencies' . PHP_EOL);
    exit(1);
}

/*
|--------------------------------------------------------------------------
| Find Application Base Path
|--------------------------------------------------------------------------
|
| This file can be located in package `./bin` directory, used as a symbolic
| link or something else. In this case we will try to find application
| base directory using the most obvious application locations.
|
*/

/** @var string|null $base_path */
$base_path = null;

foreach (['../../../..', '../../..', '../..', '..', '../vendor/laravel/laravel'] as $path) {
    if (\is_file(__DIR__ . '/' . $path . '/bootstrap/app.php')) {
        $base_path = (string) \realpath(__DIR__ . '/' . $path);
        break;
    }
}

/*
|--------------------------------------------------------------------------
| Create And Run Console Application
|--------------------------------------------------------------------------
|
| Symfony console component is a nice wrapper around worker CLI options.
|
*/

$app = new \Symfony\Component\Console\Application(
    'RoadRunner worker',
    \Composer\InstalledVersions::getPrettyVersion('spiral/roadrunner-laravel')
);

$app->add(new \Spiral\RoadRunnerLaravel\Console\Commands\StartCommand(
    new \Spiral\RoadRunnerLaravel\Worker(),
    $base_path
));

$app->run();

Do you receive responses for the first 4 requests (if num_workers=4)?

Yes i do

If you receive a response, it's just not possible to block after that. If the RR sees, that MaxNumJobs reached, it kills the worker and it's not possible from the process POV to bypass os.Kill signal. You should see in the logs (debug) Worker destructed -> Worker constructed.
We can help you, but we need the full sample of code, which we can run and reproduce the issue. Some technical details:

Here you receive a response: https://github.com/spiral/roadrunner/blob/master/pkg/pool/static_pool.go#L194
Before receiving a response, the worker marked as reached_max_jobs_number: https://github.com/spiral/roadrunner/blob/master/pkg/pool/static_pool.go#L215
Then, if the worker not in the ready state (we know, that the worker in the ReachedMaxJobs state) it's killed: https://github.com/spiral/roadrunner/blob/master/pkg/worker_watcher/worker_watcher.go#L177

For sure, I'll try to reproduce this behavior, but it seems, that the problem is somewhere else.

I tried to reproduce the problem, but without success (inside package spiral/roadrunner-laravel v4.0.1). RR config:
rpc:
  listen: tcp://<IP_ADDRESS>:6001

server:
  command: "php ./bin/rr-worker start --refresh-app --relay-dsn tcp://<IP_ADDRESS>:6666"
  relay: "tcp://<IP_ADDRESS>:6666"
  env:
    - APP_KEY: "base64:+hY09mlBag/d7Qhq2SjE/i2iUzZBS1dGObLqcHZU2Ac="
  relay_timeout: 10s

http:
  address: <IP_ADDRESS>:22622
  middleware: ["headers", "static", "gzip"]
  pool:
    num_workers: 2
    max_jobs: 1
    supervisor:
      exec_ttl: 5s
  static:
    dir: "./vendor/laravel/laravel/public"
    forbid: [".php"]

And then in 3 terminals next was executed. In first:
$ rr serve -c ./.rr.yaml
...
2021-04-01T13:08:22.434Z        DEBUG   container/serve.go:20   called Serve on the vrtx        {"vrtx id": "http.Plugin"}
2021-04-01T13:08:22.434Z        DEBUG   container/serve.go:14   preparing to calling Serve on the Vertex        {"vrtx id": "rpc.Plugin"}
2021-04-01T13:08:22.434Z        DEBUG   RPC     rpc/plugin.go:86        Started RPC service     {"address": "tcp://<IP_ADDRESS>:6001", "services": ["informer", "resetter"]}
2021-04-01T13:08:22.434Z        DEBUG   container/serve.go:20   called Serve on the vrtx        {"vrtx id": "rpc.Plugin"}
2021-04-01T13:08:27.501Z        DEBUG   server  server/plugin.go:222    worker destructed       {"pid": 309}
2021-04-01T13:08:28.578Z        DEBUG   server  server/plugin.go:220    worker constructed      {"pid": 326}
2021-04-01T13:08:28.578Z        DEBUG   http    http/plugin.go:119      200 GET http://<IP_ADDRESS>:22622/ {"remote": "<IP_ADDRESS>", "elapsed": "1.112063093s"}
2021-04-01T13:08:34.895Z        DEBUG   server  server/plugin.go:222    worker destructed       {"pid": 316}
2021-04-01T13:08:35.970Z        DEBUG   server  server/plugin.go:220    worker constructed      {"pid": 336}
2021-04-01T13:08:35.970Z        DEBUG   http    http/plugin.go:119      200 GET http://<IP_ADDRESS>:22622/ {"remote": "<IP_ADDRESS>", "elapsed": "1.127410345s"}

Second (many-many times):
$ curl http://<IP_ADDRESS>:22622
...
                    <div class="ml-4 text-center text-sm text-gray-500 sm:text-right sm:ml-0">
                        Laravel v8.32.1 (PHP v8.0.3)
                    </div>
                </div>
            </div>
        </div>
    </body>
</html>

And third:
$ rr workers -i

+---------+-----------+---------+---------+--------------------+
|   PID   |  STATUS   |  EXECS  | MEMORY  |      CREATED       |
+---------+-----------+---------+---------+--------------------+
|     326 | ready     |       0 | 23 MB   | 1 minute ago       |
|     336 | ready     |       0 | 23 MB   | 1 minute ago       |
+---------+-----------+---------+---------+--------------------+

And all works as expected. Maybe problem on your application side? Maybe something blocks execution process?

I am trying on a fresh laravel app with laravel/nova installed. If max_jobs=0, everything works fine

I see no worker destructed logs

@tarampampam I found one interesting moment. My worker relay dsn is just the same as rpc, as you can see in my config

Can it be the case?

Of course :D Change them!

@pvs9 Did it work for you?

@48d90782 Yes, now workers constructing as needed


Untyped prometheus metrics not reported

Agent 6.12.1 - Commit: 8ded3a9 - Serialization version: 4.7.1, Running Amazon Linux 2
datadog.yaml:
process_config:
  enabled: "true"
collect_ec2_tags: true
use_dogstatsd: true
dogstatsd_port: 8125
bind_host: localhost
disable_file_logging: true
api_key: ******************
logs_enabled: true

prometheus.d/conf.yaml:
nstances:
  - prometheus_url: http://localhost:8080/metrics
    namespace: "pulsar"
    metrics:
      - "*"
    health_service_check: true

Steps to reproduce the issue:

Configure a prometheus endpoint to scrape without any type overrides
Run datadog agent

Describe the results you received:
Datadog agent no longer reports metrics with no type as "gauge". This was not the behavior in previous versions of the agent.
Describe the results you expected:
Metrics without a type to appear in the dashboard.
Additional information you deem important (e.g. issue happens only occasionally):
This https://github.com/DataDog/integrations-core/blob/38a6d70c594a62b9443ed296cc4ee88602d5fc51/prometheus/datadog_checks/prometheus/data/conf.yaml.example#L55 implies that the previous behavior was seen as a bug. "Fixing" this and forcing a type override is a breaking change for many users and presents several problems:

It broke our metrics reporting and caused a dangerous condition for support of our product
type_overrides seems to not support regex/wildcards. It is unreasonable to expect users with thousands of metrics to scrape to configure all of these one by one.
The application that is reporting the metrics may change and start reporting its type. This creates an unnecessary coupling between code and configuration of the agent and assumes that a devops team has specific details of the code base.

@mathewmoon thanks for the bug report. I see you've also opened a ticket and we've reached out there for more information. I'm going to close this to keep all discussion in one place.

@jeremy-lq I think leaving this open would be important for others who run into this error as well as providing resolution tracking.

I agree. Very possible I'm hitting the same issue (still troubleshooting though). I can of course go ahead and create a new support ticket, but why if I can track the status here?

@okdas The workaround for us was type_overrides in our Prometheus config. Less than ideal since we require an override for each metric and there are alot, but it gets us back up.

I have the same Issues
Already spent few days to understand what the problem is.
Prometheus and Grafana get metrics and datadog don't 😿. Sad news for users of the dog.

@jeremy-lq where can I track the status of this bug?

@mathewmoon Hi, I noticed you are working on Apache Pulsar and Datadog integration right? I have met a problem but I have no idea what the problem is, I have an issue #6273. Have you encountered it before?

The Datadog docs should call this out
https://www.datadoghq.com/blog/monitor-prometheus-metrics/
"This basic setup includes the Prometheus endpoint, a namespace that will be prepended to all collected metrics, and the metrics you want the Agent to scrape. You can use * wildcards to pull in all metrics that match a given pattern, and you can also map existing Prometheus metrics to custom metric names. "
Unless the metrics are untyped....

The Datadog docs should call this out
https://www.datadoghq.com/blog/monitor-prometheus-metrics/
"This basic setup includes the Prometheus endpoint, a namespace that will be prepended to all collected metrics, and the metrics you want the Agent to scrape. You can use * wildcards to pull in all metrics that match a given pattern, and you can also map existing Prometheus metrics to custom metric names. "
Unless the metrics are untyped....

I opened a case with Datadog support to see if a solution was available for this issue.
Support pointed out a very useful config param which can be used to give the agent a type for untyped metrics, allowing them to be scraped. Specifically type_overrides as documented here:
https://docs.datadoghq.com/integrations/guide/prometheus-host-collection/#parameters-available
Support also pointed me to this config file example (its unchanged in master I've liked to the release here only to avoid broken links for future readers):
https://github.com/DataDog/integrations-core/blob/7.32.0/prometheus/datadog_checks/prometheus/data/conf.yaml.example#L55-L61
We are using Datadog Kubernetes auto-discovery, my working test config is as follows:
podAnnotations:
  ad.datadoghq.com/telegraf.check_names: '["openmetrics"]'
  ad.datadoghq.com/telegraf.init_configs: '[{}]'
  ad.datadoghq.com/telegraf.instances: |
    [
      {
        "prometheus_url": "http://%%host%%:9273/metrics",
        "namespace": "testing_nov15",
        "metrics": ["*"],
        "type_overrides": {"net_response_result_code" : "gauge", "net_response_response_time" : "gauge"}
      }
    ]

Hopefully this helps the next reader who makes it here.

@trastle @jhovell @cleanshavenalex @augustgerro
Hi All!
In Agent 7.26.0 we released the OpenmetricsBaseCheckV2 implementation. You can try out the new implementation of the Openmetrics integration by utilizing the openmetrics_endpoint configuration option.
OpenmetricsV2 is not backwards compatible to OpenmetricsV1, some options were renamed or combined for better usability. For instance, the default submission types for Prometheus counters/histograms are more accurate (instead of opt-in configuration flags).
The metrics option now supports regex matching and overriding the metric types.

There is still no wildcard support in type_overrides

The regex support in metrics will allow you to override types with general matches.
Here's an example of changes you would make in your annotations to take advantage of OpenmetricsV2.
podAnnotations:
  ad.datadoghq.com/telegraf.check_names: '["openmetrics"]'
  ad.datadoghq.com/telegraf.init_configs: '[{}]'
  ad.datadoghq.com/telegraf.instances: |
    [
      {
        "openmetrics_endpoint": "http://%%host%%:9273/metrics",
        "namespace": "testing_nov15",
        "metrics": [".+", {"net_response_.+": {"type": "gauge"}],
      }
    ]

You can read more about OpenmetricsBaseCheckV2 here: https://datadoghq.dev/integrations-core/base/openmetrics/

Just wanted to say that this information should be in the docs here: https://docs.datadoghq.com/containers/kubernetes/prometheus/
It would have saved me so much time :C

@palmobar same here... @ChristineTChen can you please raise in datadog internally change for doc to document it exactly where @palmobar pointed?


[WC-1512]: add htmlelement documentation

Added documentation for the upcoming HTML Element widget

@ConnorLand, the docs ready to be reviewed :)


Rebase new APIs and patches about shared mode to crosswalk-14

@rakuco Please help to review and merge

LGTM. All commits are cherry-picked except commit https://github.com/lincsoon/crosswalk/commit/36d6c6a1b8cc59139283de4180bbcfc2a9a98571, which is explained with reasonable reason.

alright. I have no idea about that code, so I'm trusting you guys


Feature nick

I would like to add my html file

Please accept my changes. I made a branch called feature-nick and added a test.html file