Empty body with async-http-client

After upgrading to 0.21.2 I am seeing a lot of empty body errors while using async-http-client as the client backend.
Caused by: org.http4s.MalformedMessageBodyFailure: Malformed message body: Invalid JSON: empty body
	at org.http4s.jawn.JawnInstances$.defaultJawnEmptyBodyMessage(JawnInstances.scala:42)
	at org.http4s.jawn.JawnInstances.jawnEmptyBodyMessage(JawnInstances.scala:17)
	at org.http4s.jawn.JawnInstances.jawnEmptyBodyMessage$(JawnInstances.scala:16)
	at org.http4s.circe.package$.jawnEmptyBodyMessage(package.scala:3)
	at org.http4s.circe.CirceInstances.$anonfun$jsonDecoderByteBufferImpl$1(CirceInstances.scala:41)
	at scala.util.Either.flatMap(Either.scala:352)
	at cats.data.EitherT.$anonfun$subflatMap$1(EitherT.scala:365)
	at scala.Function1.$anonfun$andThen$1(Function1.scala:85)
	at cats.effect.IO$Map.apply(IO.scala:1504)
	at cats.effect.IO$Map.apply(IO.scala:1502)
	at cats.effect.internals.IORunLoop$.cats$effect$internals$IORunLoop$$loop(IORunLoop.scala:142)

I suspect that something in #3261 causes the body to be emptied before it is read in some cases?

@djspiewak, are you seeing anything of the sort?  I think you're one of the heavier users of the AHC backend.

CI failure looks related?

are you seeing anything of the sort?

Hmm, definitely not. I'm also a bit surprised by OP. Nothing in the change I made seems to be capable of causing a body to be emptied unless you mess up the Resource somehow. Like, for example, if you take the request Resource and just use(IO.pure(_)) on it, and then read the body, you must definitely will see emptiness. But if you're doing that, then your code is broken, and was only working before because the outer Resource was not correctly closing anything.

Also @rossabaker that CI failure does look related, at least at first glance. What I'd be really curious to see is if the test suite is correctly keeping body-reading within the Resource scope, or if it's applying use incorrectly.

Nope, it's a very boring test:
       "POST a normal body" in {
          val uri = Uri.fromString(s"http://${address.getHostName}:${address.getPort}/echo").yolo
          val req = POST("This is normal.", uri)
          val body = client.expect[String](req)
          body must returnValue("This is normal.")
        }

I don't recall ever seeing it fail before this PR, and it's failing often (but not reliably) now.

What's the definition of returnValue?

An ancient helper adapted from Specs2's Task support.  Roughly translates to body.unsafeRunTimed(timeout) must_== ("This is normal.").

If that's all it is… I really don't understand how it would fail like this.

Just to add. We've been seeing this for a couple of weeks in three separate Microservices. I only just tracked it down today to being this issue. Services that are absolutely fine running at scale on 0.21.1 start to return intermittent empty body responses on 0.21.2.

I think it's fair to say this is a real legit thing. I'm happy to throw in as much time as I can to track it down, since it seems very likely that my change introduced it. :-/
For anyone who is experiencing this issue… If you can give me as much information as possible about what's going on, it'll help a lot:

How are you sequencing the body and the request? Particularly, are you using .compile.resource on the body? Are you doing some streamy things on the body within the outer Resource? Are you just useing them all down to IO?
Have you done an lsof to see what the sockets are doing as this is happening?
It's intermittently happening, so roughly what percentage are you seeing?
What kind of body are you looking at?

Also thinking about this, I may have an idea of what could be causing this. I'll fiddle around with a branch on it as soon as I can. More information is really helpful though.

This problem doesn't occur when using jdk http client, it happens only with async-http-client in our case.

We are using expect, not .compile.resource.
About 1 in 5 requests fail, it seems.

@djspiewak There appears to be a race-condition between when the async callback is called from onStream and when it is called from onCompleted.
If onCompleted is invoked before the callback invocation from onStream, the Response passed to the callback will have an empty body, if onStream wins it will have the subscriber-backed body.

@wemrysi That's exactly what I'm thinking as well. What I'm pondering right now is the best way to correct this. In theory, a body-less response will never invoke onStream (according to the AHC docs anyway), so it feels like we have to have something in onCompleted. I can't see a way around creating yet another Ref to manage this fiddly bit of state. :-/

Re: https://github.com/http4s/http4s/issues/3293#issuecomment-612663360, @wemrysi, are you able to add a test (even if it's pseudo-code) explaining how to reproduce it? I know you mentioned it's a race condition, but I'm asking for my own understanding. Thanks

@kevinmeredith I don't have a test that reliably reproduces this, though existing tests in the http4s suite are failing intermittently due to the problem.
Here's an example of a scenario that would trigger the problem

An HTTP message with a small entity body is received.
onStream is called
The callback invocation in onStream is forked and started, onStream completes because runAsync
async-http-client processes the entity body
onCompleted is called prior to the async callback from (3) completing, which completes the callback with response having an empty body
The async callback from (3) completes, having no effect because of (5)

it comes down to whether the forked callback from (3) runs before onCompleted is called.


Large Bundle Size

I have imported these two components -
import { DxChartModule } from 'devextreme-angular/ui/chart';
import { DxPieChartModule } from 'devextreme-angular/ui/pie-chart';
On my bundle size devextreme is 637 KB and devextreme-angular is 224 KB. Funny thing is initially I had short url's which imported whole package but even after changing the url to the long ones(like above), it still contributes the same to my bundle size. Is there any way to reduce it?

Duplicate of https://github.com/DevExpress/devextreme-angular/issues/811

Are you also importing DX components like DxChartComponent from "devextreme-angular/ui"? There shouldn't be import { DxFoo } from 'devextreme-angular' anywhere in your app.
What's the gzipped size?

Hi @sheshit,
@jerousseau is right. This is a duplicate of the #811 issue. In our RoadMap, we have plans to split DevExtreme into modules. Please stay tuned to our Blog posts and What's new articles.


Remove labeled break

When building bundles with e.g. Parcel (which uses terser) or UglifyJS minification fails:
@parcel/optimizer-terser: Undefined label scan

  /Users/zef/git/noot/webapp/node_modules/@lezer/common/dist/index.js:1441:34
    1440 |                     if (!cursor.parent())
  > 1441 |                         break scan;
  >      |                                  ^ Undefined label scan
    1442 |                     if (overlay && !--overlay.depth) {
    1443 |                         let ranges = punchRanges(this.ranges, overlay.ranges);

To circumvent this, I have replaced this particular labeled break with a return which, from what I can deduce should be 100% equivalent to the break (in this case). Both the break and return would effectively jump out of the outer for loop and immediately return (with no value).

Sorry, but if your tools can't handle JavaScript, I feel you should fix/replace the tools, not send PRs to your dependencies to avoid certain features in their code.


Wrong accuracy with masking

As far as I understand, it seems that accuracy doesn't take into account possible timesteps masking (through sample_weight).
In Sequential model, categorical accuracy is computed as:
train_accuracy = T.mean(T.eq(T.argmax(self.y, axis=-1), T.argmax(self.y_train, axis=-1)))

while a more correct approach will take into account mask:
if mask is not None:
    train_accuracy = T.mean(T.eq(T.argmax(self.y, axis=-1)[mask.nonzero()],
                       T.argmax(self.y_train, axis=-1)[mask.nonzero()]))

However, I see in theano documentation that it won't work, and indeed it doesn't :)
Any intention/idea how to fix it?

Apparently, I was wrong, and accuracy is indeed correct... (the masking is done in weighted_objective)


Highlight merge conflicts in monaco like in VSCode

I am integrating the monaco-editor into an Electron app for three-way merge, so I want to highlight merge conflict blocks in VSCode style. Since VSCode itself is based on monaco, I think it is feasible.

monaco-editor version: 0.17.1
**Browser:**Chromium
OS: Windows10
The screenshot of the tool:

The expected result:

I check the API doc and find a related one that might be useful: colorizeModelLine(model: ITextModel, lineNumber: number, tabSize?: number): string., but I still do not know how to do that because examples are absent. Can anyone give me a hint?

I have managed to achieve this by the following code:
 this.editor.deltaDecorations(
        this.editor.getModel().getAllDecorations(),
        [{
            range: new monaco.Range(
              conflictBlock.right_start,
              0,
              conflictBlock.right_end,
              0
            ),
            options: {
              isWholeLine: true,
              className: 'rightLineDecoration',
              marginClassName: 'rightLineDecoration'
            }
          }]
      )

It looks like:

Complete code at: https://github.com/Symbolk/IntelliMerge-UI


2D - Wavepotentials don't set radians/degree  decision in constructor!

Needed to fix this manually after construction.

fixed :)


can't able to select the edit options [BUG]

i have entered some text, let's say an example
example: "Hello this is my text[i want to add some text with bold or italic without giving space after Text word]" i can't able to do.  But i can able to edit after giving space after the word.

Hi @shootlens,
Thank you for reporting the bug.
To understand it better could you please help me with the following. I appreciate if you could share the screen recording.

To Reproduce
Steps to reproduce the behavior:

Go to '...'
Click on '....'
Scroll down to '....'
See error

Expected behavior
A clear and concise description of what you expected to happen.
Screenshots
If applicable, add screenshots to help explain your problem.
Desktop (please complete the following information):

OS: [e.g. iOS]
Browser [e.g. chrome, safari]
Version [e.g. 22]

Smartphone (please complete the following information):

Device: [e.g. iPhone6]
OS: [e.g. iOS8.1]
Browser [e.g. stock browser, safari]
Version [e.g. 22]

Flutter Doctor
Please run flutter doctor in the terminal and add the  log here.
Additional context
Add any other context about the problem here.
Thanks :)

Hello @shootlens,
I am closing this issue, please feel free to reopen if you still see any issues.
Thanks :)


License?

Hello,
I'm curious about the source code license. Can you add one to the project?

PSXE is now licensed under the terms of the MIT license

Thanks.


PDF with Image

how to add Image to PDF generated ??

Hi thujohn, I could not put image in the PDF document, followed all the tutorials I could find but it still generates an error 'file_put_contents ()'


Add test for conveter device argument in Evaluator

Add test for the cupy backend.
ChainerX is not supported.

Jenkins CI test (for commit 54adc5ffb03d4666e9ab6c3acc339c600b5ee7f1, target branch master) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)

Please check test result.

Fixed. PTAL

jenkins, test this please.

Jenkins, test this please.

Jenkins CI test (for commit 4851720aa06b642df7a9392940c7ce3a76ead29c, target branch master) failed with status FAILURE.
(For contributors, please wait until the reviewer confirms the details of the error.)

The Jenkins failure is unrelated to the PR.

LGTM!


Improved async documentation

Fixed some code examples to be correct, or more minimal.
Tried to use the shorter "sync" and "async" more often, especially in the async topic guide which introduces "async" at the top. It was still mixing them.
Split some sentences up to improve readability and translatibility. This especially meant dropping semicolons.

@andrewgodwin


Small update to help.

Changes the order of the examples and slightly modifies the output.
Examples:
  # Create a URL with a specific name by automatically detecting the port used by the image
  odo url create example

  # Create a URL for the current component with a specific port
  odo url create --port 8080

  # Create a URL with a specific name and port
  odo url create example --port 8080

  # Create a URL with a specific name and port for component frontend
  odo url create example --port 8080 --component frontend

Found this while looking at https://github.com/openshift/odo/issues/1772 doc requirements.

/approve

/retest

 ++ '[' 1 -eq 0 ']'
++ sleep 3
++ for i in '{1..40}'
++ oc login -u developer -p developer
++ '[' 1 -eq 0 ']'
++ sleep 3
++ '[' false == false ']'
++ echo 'Failed to login as developer'
++ exit 1
Failed to login as developer
make[1]: *** [configure-installer-tests-cluster] Error 1
make[1]: Leaving directory `/go/src/github.com/openshift/odo'
make: *** [openshiftci-presubmit-e2e] Error 2

Seems cluster is not responsive within the number of try
/test integration

/lgtm


Recycle nodes in unbounded channels

In order to reduce the rate of allocation/deallocation in unbounded channels, we should keep some number of removed nodes for quick recycling.
Here's an idea for how we might implement this:

Each unbounded channel keeps a lock-free stack of removed nodes.

If a receive operation removes a node, we should push it onto the stack. However, if the stack is larger than the live queue, that means we're wasting a lot of memory. In such cases we should deallocate the removed node as well as deallocate one node from the stack.

If a send operation needs a new node, it should first try popping one from the stack. And if the stack is empty, just allocate a fresh node.

This is a pretty advanced optimization with questionable benefits. I'm not sure whether it's worth it anymore.


Improve error for incorrect model name

Describe the bug
If using an incorrect model name, e.g. gpt-3-turbo instead of gpt-3.5-turbo, it returns 404. Would it be possible to catch these routes to return a response with "unsupported model name requested". And/or use the model names instead of string for the typescript definition instead of string to catch this?
To Reproduce
openai.createChatCompletion({
        model: 'gpt-3-turbo',
        messages,
})

Code snippets
No response
OS
macOS
Node version
v18.12.1
Library version
v3.2.1

Our upcoming v4 includes better error message delivery: https://github.com/openai/openai-node/discussions/182


Spacing control

I just found this repo.   Very nice!  Much appreciated!
Normally, I have this for a prompt:
PS1='[\u@\h \w]\$ '

Using what was provided here, I created this prompt:
PS1='[\u@\h \w]\['\$txtcyn'\]'\$git_branch'\['\$txtred'\]'\$git_dirty'\['\$txtrst'\]\$ '

However, I'd prefer to have a space before the name of the git branch.  If I insert one into PS1, I always have a space after the normal closing bracket and the $.
So what I did was this:
PS1='[\u@\h \w]\['\$txtcyn'\]'\$git_space\$git_branch'\['\$txtred'\]'\$git_dirty'\['\$txtrst'\]\$ '

The git_space is an empty string when git_branch is empty and contains one space when git_branch is non-empty.  I did this by first setting PROMPT_COMMAND to my own script that will inspect $git_branch and assign $git_space appropriately.  It works, but I'd prefer to see if I could have something added to the repo so I don't have to do that as an extension.
Would you entertain this change, just adding two git_space assignments?
find_git_branch() {
  # Based on: http://stackoverflow.com/a/13003854/170413
  local branch
  if branch=$(git rev-parse --abbrev-ref HEAD 2> /dev/null); then
    if [[ "$branch" == "HEAD" ]]; then
      branch='detached*'
    fi
    git_branch="($branch)"
    git_space=" "
  else
    git_branch=""
    git_space=""
  fi
}

One could then insert a space before and/or after the repo name as I have done in my PS1 example above.  Some might want the same kind of thing between the branch name and $git_dirty.  So perhaps we might have $git_branch_space and $git_dirty_space.
I'd be happy to do a PR is this would be of interest.

I also like to have a space in my prompt. I hard-coded it.
This is a neat solution to what I can only imagine is a common problem.

+1 Nice suggestion. I was going down the path of creating git_space as a separate function using the output of this:
git rev-parse --git-dir > /dev/null 2>&1
but I think your solution is just as effective.

I changed the PR to just a README recommendation explaining lethosor's response to use shell variable expansion in the PS1 prompt instead of having explicit space variables in the code. Thanks!
https://github.com/jimeh/git-aware-prompt/pull/61

I think @jonathandandries PR documenting @lethosor works great.  I'll close this.


7zip 22+ extracts timestamps, which messes with buildsystems

After upgrading to 7zip 22, it extracts timestamps that are in archives, which is undesirable. I reported a similar issue for linux at #33714 a while ago, which got fixed. Unfortunately, it doesn't seem there is any equivalent flag to -DD in 7zip, so it unconditionally extracts timestamps which results in build failures due to some sources not being rebuilt because the timestamp has gone backwards (or is just in the past)
Link to someone else running into something similar: https://sourceforge.net/p/sevenzip/discussion/45797/thread/816678c1b5/
I believe the relevant variable in 7zip is CArchiveExtractCallback::Write_MTime, which is unconditionally set to true.
Possible fixes here are

Downgrade 7zip
Send a patch to 7zip to expose a flag for this, wait for a release, update
Manually touch files

Environment

OS: Windows
Compiler: N/A

To Reproduce
Steps to reproduce the behavior:
Same as #33714, but on Windows
Expected behavior
Modify times are set to current time

This is still an issue for us.


Incorrect color (red) on closing bracket in JSX

The code above works fine, but the coloring is off for some reason.

const OrganizationContainer = props => {
    return (
        <Query query={GET_ORGANIZATION} variables={{ id: props.match.params.id}}>
        {({ loading, error, data}) => {
            if (loading) return
Loading...

            if (error) return
Error :(

            return <Organization {...props} item={data.getOrganization} />
        }}
        </Query>
    )
}

Thanks for the report, its being caused by Error :(. I will see if I can do something about this.

Oh, nice catch! On my part it's of course an easy fix, so feel free to close the issue if you want to 🙏


Edit Graph "Metrics Query" can not Toggle Edit Mode

I used some Templating to filter metric tags. When the metric tags variable has contains "."  Can not be returned from edit mode. And browser console has some errors
Query expression:
nodename IN [$node] AND descriptor_name IN [$metrics] AND type IN [$type] AND labels.application IN [$app] AND labels.application_model IN [$app_model]

Enviroments:
Grafana v4.4.2 (commit: 6d9cbdd)
package.json :
{
"name": "hawkular-grafana-datasource",
"version": "1.0.10",
"description": "Hawkular Datasource for Grafana",
"homepage": "https://github.com/hawkular/hawkular-grafana-datasource",
"repository": {
"type": "git",
"url": "git+https://github.com/hawkular/hawkular-grafana-datasource.git"
},
"author": "Red Hat",
"license": "Apache-2.0",
"devDependencies": {
"babel": "^6.23.0",
"chai": "~3.5.0",
"grunt": "^1.0.1",
"grunt-babel": "~6.0.0",
"grunt-bump": "0.8.0",
"grunt-cli": "^1.2.0",
"grunt-contrib-clean": "^1.1.0",
"grunt-contrib-copy": "^1.0.0",
"grunt-contrib-uglify": "^2.3.0",
"grunt-contrib-watch": "^1.0.0",
"grunt-execute": "~0.2.2",
"grunt-mocha-test": "^0.13.2",
"grunt-systemjs-builder": "^1.0.0",
"jsdom": "~9.12.0",
"load-grunt-tasks": "^3.5.2",
"prunk": "^1.3.0",
"q": "^1.5.0"
},
"dependencies": {
"babel-plugin-transform-es2015-for-of": "^6.6.0",
"babel-plugin-transform-es2015-modules-systemjs": "^6.24.1",
"babel-preset-es2015": "^6.24.1",
"lodash": "^4.17.4",
"mocha": "^3.2.0"
},
"scripts": {
"test": "grunt"
}
}

It seems that a server-side change got unnoticed here ( related to https://issues.jboss.org/browse/HWKMETRICS-611 ). Dot is going to be added as allowed character for tag names.

Define a pod_label_tags-prefix global setting on hawkular-openshift-agent configMap can also solve this ;)
collector:
pod_label_tags_prefix: labels_
Thanks. I rebuild the plugin. It works for me.


Add new "invoke" endpoint

New endpoint to invoke functions inside of a module.

@wemrysi We did talk about this but no worries, happy to go over it again to make sure I am not making any false assumptions! I would have gladly made it just a function and saved myself the trouble of creating a new algebra and corresponding interpreter :smile:. The reason I made it an algebra though is for authorization in quasar-advanced. The only way to get the intended authorization behavior was to either create this new algebra or modify the ReadFile algebra and you voted for new algebra when we discussed it :smile:

Ah, ok thanks for the refresher, I think the algebra is still the way to go then.


check previews

What is this?

What is this?

Testing out the "automated previews" for this repo.

Docs are building.
Closing PR.


Can't run :where (property ...) query - Missing rules var '%' in :in

I'm trying to set up a more interactive approach to exploring logseq advanced / datomic queries, where I can look at the return values of the query directly without the extra layer of view logic in the Logseq app.
I've got a minimal "CV" repo set up here
It's pretty straightforward to reproduce my error following the instructions in the README (which are probably overly detailed for anyone working on the main nbb-logseq repo). But in short, regular queries seem to work fine (e.g., those in the example directory README in this repo). But my attempts to do a property filtering by property fail with Missing rules var '%' in :in. E.g. specifically:
$ npx nbb-logseq query.cljs publishing-with-logseq '[:find (pull ?b [*]) :where (property ?b :type "job")]'

If you look at the graph in that repo in the Logseq app (just checked on latest beta, 0.7.8), the query DOES work and the various "job" blocks are displayed. For reference, that query is:
#+BEGIN_QUERY
{
:title [:h2 "Work Experience"]
:query [
    :find (pull ?b [*])
    :where
        (property ?b :type "job")
]
}
#+END_QUERY

UPDATE: I had a look at how nbb-logseq is built and I didn't realize it was simply using generic libraries for transit and datascript. So, (property) needs to be defined. I'll see about implementing this as a one-off then continue the discussion about the best way to support logseq-specific datascript constructs.

I have searched a bit through the logseq codebase and I found these, which are apparently designed for use in nbb-logseq:
https://github.com/logseq/logseq/blob/master/deps/db/src/logseq/db/rules.cljc
I used those to manually convert my query to "vanilla" datalog, and so this works assuming you've ingested the above-linked graph / repo:
npx nbb-logseq query.cljs publishing-with-logseq '[:find (pull ?b [*]) :where [?b :block/properties ?prop] [(get ?prop :type) ?type] [(= ?type "job")]]'
It seems like there's logic for including rules in an :in clause in the main logseq codebase (particularly query_dsl.cljs), though there's enough of a pipeline of query re-writing that I'm getting a bit lost.
In any case, this has been a pretty useful dive into datalog for me, and on my own I'll spend a bit more time experimenting with rules and understanding how they work. I can probably hack together a solution that works well enough for my purposes.
BUT I also see that the "right" move is probably to somehow include the rules from the version of logseq that I'm actually using... this would allow the compiled version of the graph to change (along with the specifics of a rule like property). My guess is this is pretty simple for someone who actually knows the intended workings of nbb-logseq than I do.

Hi @davclark. Thanks for the repro. You are correct that you're missing rules from the logseq.db.rules ns. https://github.com/logseq/graph-validator/blob/6aeaabfb5c2ecf7781937380b6569ba04b3efdbd/action.cljs#L52-L56 is an example demonstrating using it. For more examples of using datascript rules, see their tests.
In order to require that ns into your script, you have to get into nbb's dependency management. There are two main approaches to pull in the the logseq.db dependency:

Use https://github.com/babashka/babashka with this tutorial. Pull in the db dep as a gitdep.
Use yarn 3's ability to pull in a gitdep. https://github.com/logseq/graph-validator/ is setup to do this. You would need to copy .yarn/, .yarnrc.yml and package.json from that repo into your project and then yarn install. You would also need to tweak the test script in package.json.

I'd recommend doing step 2 unless you're familar enough with clojure and babashka.
The nbb dependency story is still tricky for beginner clojurists and hopefully https://github.com/babashka/nbb/issues/20 will make this smoother.
Happy to leave this issue open until you've been able to successfully try one of the above

I just wanted to provide an update since your response is over a week old - I'm in the midst of a job search, so I haven't dedicated a lot of time to meta-productivity projects like this.
In general, I'd like to get to the point where I could contribute to rough edges around nbb and logseq. It seems in this case, using (I guess?) @borkdude's recommended approach for installing nbb dependencies is going to be more likely to contribute something to nbb-logseq? Even if not, I'm inclined to lean that way, as I'm not much of a JS dev and I'd rather lean into Clojure tooling.

I now have a working set of steps that make me want to help release a new version of nbb-logseq now :)
I've used vanilla nbb v0.7.131 to download the files from the logseq git repo using nbb.edn. This downloads the dependencies when I run nbb (NOT nbb-logseq), and then you can do this in the REPL:
user=> (require '[logseq.db.rules :as rules])
nil
user=> (vals rules/query-dsl-rules)
([(all-page-tags ?p) [_ :block/tags ?p]] [(task ?b ?markers) [?b :block/marker ?marker] ... *AND SO ON*

To get it working in nbb-logseq, I implemented this deps.cljs file, which has the *deps-hash* hard-coded into the classpath.
I verified that the query script still runs, e.g.: npx nbb-logseq query.cljs publishing-with-logseq '[:find (pull ?b [*]) :where [?b :block/properties ?prop] [(get ?prop :type) ?type] [(= ?type "job")]]', though I've not actually implemented using the rules as I'm already pushing well into evening time with my kiddo. But I see no reason why it wouldn't work... 🤞🏻
But anyway, is there anyway I can help cut a new release based on the latest nbb? To be clear, I'm pretty sure I'm unstuck on this bit, it's just a funny manual process until the next release.

FWIW I've started mucking with copying your dependencies over to my repo in a plain-nbb branch to see if I can get the various features libs working. They do get downloaded now if I just run nbb - but e.g.:
❯ nbb query.cljs
----- Error --------------------------------------
Message:  Could not find namespace: datascript.transit

Hi. Sorry to hear you're in the middle of a job search. nbb-logseq 0.7.133 now has the latest nbb.edn functionality. I've confirmed that your query.cljs works with it. There's an issue with passing files as arguments as described in https://github.com/babashka/nbb/issues/245 but I didn't encounter it with your query.cljs. Let me know when your query file works so we can resolve the issue.
As an aside, I saw you're looking at the query-dsl ns. Unfortunately anything out of logseq's deps/ directory is unlikely to be nbb compatible as nbb can only handle a subset of cljs. If there are specific things you're trying to do with that query-dsl, feel free to share as that's helpful when prioritizing which namespaces to make nbb compatible

Thank you for leaving this issue running while I slowly mucked with this. I can confirm that the nbb-logseq 0.7.133 works for what I'm doing, but the way I'm doing things seems a little awkward with this (into query' '[:in $ %]) operation. If I'm being obviously dumb, I welcome your input.
But most importantly it works!

Glad it works. That into is fine. You can also not do it but then you'd need to type that on the commandline every time you want to use a rule


:root_source_code_paths compile time vs runtime

Environment
9.0
Steps to Reproduce

I followed the documentation for adding enable_source_code_context together with root_source_code_paths.
In our CI we have a compile and build step.
The compile time fetches deps and compiles them.
Then our tests run and after they pass we build in a Docker container the project with the _build , deps and mix.lock output of the compile step. That way we can leverage caching.

Expected Result
Successful compile.
Actual Result
ERROR! the application :sentry has a different value set for key :root_source_code_paths during runtime compared to compile time. Since this application environment entry was marked as compile time, this difference can lead to different behaviour than expected:
  * Compile time value was set to: ["/builds/XXX/YYY/ZZZ"]
  * Runtime value was set to: ["/opt/app"]
To fix this error, you might:
  * Make the runtime value match the compile time one
  * Recompile your project. If the misconfigured application is a dependency, you may need to run "mix deps.compile sentry --force"
  * Alternatively, you can disable this check. If you are using releases, you can set :validate_compile_env to false in your release configuration. If you are using Mix to start your system, you can pass the --no-validate-compile-env flag

I sort of get what the error says. But I can't figure out how to solve this.
While building the File.cwd!() was /builds/.... and when running the mix phx.digest in our build step, it is in the /opt/app.

Hello,
we have the same issue after updating to 9.0. We did not perform any other change than the update.
ERROR! the application :sentry has a different value set for key :enable_source_code_context during runtime compared to compile time. Since this application environment entry was marked as compile time, this difference can lead to different behaviour than expected

* Runtime value was set to: true
* Compile time value was not set

Our configuration is not different between compilations. We use static true for that key:
config :sentry,
  dsn: configuration.sentry.dsn_key,
  environment_name: String.to_atom(configuration.app.environment_name),
  enable_source_code_context: true,
  root_source_code_paths: [File.cwd!()],
  included_environments: [:canary_staging, :staging, :canary_production, :production],
  report_deps: true

we compile the application inside Docker:
FROM hexpm/elixir:1.14.5-erlang-26.1-alpine-3.18.2 AS build

ENV LANG=C.UTF-8 \
    MIX_ENV=prod

RUN apk add --no-cache build-base libstdc++ git python3 nodejs=18.17.1-r0 yarn=1.22.19-r0

# elixir dependencies
RUN mix do local.hex --force, local.rebar --force

WORKDIR /app

COPY config ./config/
COPY mix.exs mix.lock ./

ARG OBAN_KEY_FINGERPRINT
ARG OBAN_LICENSE_KEY

# Oban Web+Pro
RUN mix hex.repo add oban https://getoban.pro/repo  \
      --fetch-public-key $OBAN_KEY_FINGERPRINT \
      --auth-key $OBAN_LICENSE_KEY

RUN mix do deps.get --only=$MIX_ENV, deps.compile
RUN mix esbuild.install

# Dashboard npm dependencies
COPY assets/package.json ./assets/
COPY assets/yarn.lock ./assets/

RUN yarn --cwd ./assets install --frozen-lockfile --silent

# esbuild and elixir release
COPY assets ./assets/
COPY lib ./lib/
COPY priv ./priv
COPY rel ./rel/

ARG GIT_REVISION_HASH
ARG GIT_BRANCH_SLUG

# See config/config.exs for more details.
ENV WEB_SECRET_KEY_BASE="nope"

ENV DASHBOARD_REPO_DATABASE_URL="nope"
ENV API_REPO_DATABASE_URL="nope"

ENV GIT_REVISION_HASH=$GIT_REVISION_HASH
ENV GIT_BRANCH_SLUG=$GIT_BRANCH_SLUG

RUN mix compile && \
    mix assets.deploy && \
    mix sentry_recompile && \
    mix release ek

FROM hexpm/elixir:1.14.5-erlang-26.1-alpine-3.18.2 AS app

# See all available and mandatory environment variables in config/runtime.exs
ENV LANG=C.UTF-8 \
    HOME=/app

RUN apk add --no-cache openssl ncurses-libs curl bash libstdc++ nmap htop

WORKDIR /app

RUN chown nobody:nobody /app

USER nobody:nobody

COPY --from=build --chown=nobody:nobody "/app/_build/prod/rel/ek" ./

CMD ["bin/ek", "start"]

I just ran into this as well.

Actually just figured it out. The following config is what we had
config :sentry,
  # ... snip ...
  enable_source_code_context: true,
  root_source_code_path: File.cwd!(),
  # ... snip ...

Notice the singular root_source_code_path. I swapped that to be root_source_code_paths: [File.cwd!()], and it seems to work.

Yes, this does appear to be a documentation mismatch/changelog issue: In this comment it adds the alternative _paths, but the documentation has always referred to _path. This comment fully removes it: https://github.com/getsentry/sentry-elixir/commit/8d9d42d712e2b90fe6bebb57f96fc7ad6ef20ae8
It just never made it to soft deprecation or in the changelog.

@Cervajz see this piece of docs: https://hexdocs.pm/elixir/Config.html#module-config-runtime-exs
You cannot configure compile-time configuration in config/runtime.exs because it is evaluated after the code is compiled. Can you move the compile-time config to config/config.exs (or config/dev.exs, or whatever you use) and see if that fixes it? See https://hexdocs.pm/sentry/upgrade-9-x.html#fix-your-environment-variables also.

@whatyouhide Thank you for the upgrade guide, that definitely helped!. From my side, the issue is resolved 🎉

@pierot where are you configuring :root_source_code_paths?

But let's try to address it! My main question is this: do you run mix phx.digest after building (mix deps.compile and mix compile)?

This is in our Dockerfile
RUN source .env.$DEPLOY_ENV && \
    mix deps.get --only $BUILD_ENV & \
    yarn install --ignore-optional --prefer-offline --pure-lockfile && \
    wait

RUN source .env.$DEPLOY_ENV && \
    make _build_production_js & make _build_production_styles && \
    wait && \
    mix phx.digest

@pierot where are you configuring :root_source_code_paths?

We configure this in config/config.exs.

@pierot yeah, this is not an issue with the configuration I think. You're building the sentry application in a context, and then you're building things again in another context where the config value is different. Try this: when you build the Docker image, can you do mix deps.compile --force sentry before other things? That should recompile sentry with the right new compile-time config. Let me know if that works!

@whatyouhide Yeah, I know this is the real issue. But that means we can't leverage pre-compile caching which is than used for our test jobs and eventuallay (when they succeed) for our final build. I wil try and see what mix deps.compile --force sentry gives us.

mix deps.compile --force sentry should not recompile everything to be clear: it will only recompile Sentry (and maybe parts of your code), so it shouldn't introduce too much overhead.

We're running into this issue and we've tried the things mentioned in the thread. We've done the fixes as described the docs here. Are these up to date?

Error remains. We've reverted the setting and are not using
config :sentry,
  # ... snip ...
  enable_source_code_context: true,
  root_source_code_path: File.cwd!(),
  # ... snip ...

anymore.

We're running into this issue and we've tried the things mentioned in the thread. We've done the fixes as described the docs here. Are these up to date?

@bautrey37 No, that documentation is not up to date. I'm gonna do a pass on it in October.

Error remains

@pierot I'd love a minimal reproducible setup that looks somewhat like your Docker-based setup in order to debug this, since it gets hard pretty quickly here on the GitHub issue. I’m surprised that doing mix deps.compile sentry --force right before other operations once you move to the build step doesn't fix this.

I'm working in an umbrella question and using File.cwd!() makes it difficult because I have to run different mix commands within the specific apps (e.g., mix ecto.setup in /apps/db or mix assets.deploy in /apps/web).
To solve, I am doing this in my config.exs:
project_root = fn ->
  root = "/app"

  case String.split(File.cwd!(), root) do
    [root | _] -> root <> root
    _ -> root
  end
end

...

config :sentry,
  ...
  enable_source_code_context: true,
  root_source_code_paths: [project_root.()]

Where /app is just where all the code lives in my docker container:
WORKDIR /app

But I have a question for umbrella apps:
Should the list of root_source_code_paths just be the root of the umbrella project? Or is it expected to individually specify all the app paths?

This was closed by #632. The :root_source_code_paths configuration is not a compile-time configuration anymore.


Coding style

I think we should use tools to automate the verification of coding style. Thus, we keep the code cleaner and using the same coding standard.
We may use JSHint for javascript. And also evaluate the static analysis tools available for php code. I suggest the following PHP CodeSniffer.

I made some changes in my master fork, but could not make the Travis CI run a building.

I had success with Travis CI and Phing... see the badge in the previous review.  :smile:
We need to define the coding standard. In my repository setted PSR-2 randomly.

Is need still hit some details of the Travis CI configuration...

nice one :) is there some kind of documentation which standards are available?

Yes, is possible. Just change this line:
<phpcodesniffer standard="<path to ruleset>">

then i would like to start with an own standard, which covers correct EOL and correct tab width (4 spaces)

I have a poll currently (and coincidentally) running in the PHP Developers group on G+ and, as it seems, most everyone is following PSR2 or chose "it depends" (which I would think means, it depends on the project). I think following PSR2 would be safe choice though (and it covers correct EOL and 4 spaces per tab, if I recall correctly).
https://plus.google.com/u/0/+scottmolinari/posts/TVheJyhGko5
Scott

Travis CI failure in construction, if the coding patterns are not correct.
As we have not reached a conclusion about which standard to use, set the PSR2 for now.

I do a pull request? Or...
Should I start writing our own coding standard? In this case, we need to discuss which style to adopt.

This is the build status of my fork:

It would be nice look at other points where we can apply the Phing.

PSR2 is ok and yes a PR would be nice. If the build fails we have to look which standard rule is violated


Decode error when using SOPS on TLS certificate

Describe the bug
Hi,
I am getting the following error from flux from the kustomization, validation error: "error decoding from json: illegal base64 data at input byte 3" when trying to use a kubenetes TLS secret in flux encypted with SOPS.
Is it valid to use k8s TLS secrets with SOPS and Fluxcd or do i need to use a generic k8s secret with stringdata values for the tls.crt and tls.key entries.
Thanks
Steps to reproduce

kubectl create -n istio-system secret tls https-cert --key="blah.key" --cert="blah.crt" -o yaml > blah.yaml
./sops --encrypt --encrypted-regex '^(data|stringData)$'  --azure-kv https://blah "C:\sops\blah.yaml" > blah.enc.yaml
commit blah.enc.yaml to git
When flux tries to apply the secret file i get the exception, validation error: "error decoding from json: illegal base64 data at input byte 3"

Expected behavior
K8s TLS secrets encypted with SOPS can be applied to clusters using Flux
Screenshots and recordings
No response
OS / Distro
Ubuntu 20.04
Flux version
0.28.4
Flux check
► checking prerequisites
✗ flux 0.28.4 <0.28.5 (new version is available, please upgrade)
✔ Kubernetes 1.22.6 >=1.20.6-0
► checking controllers
✔ helm-controller: deployment ready
► ghcr.io/fluxcd/helm-controller:v0.18.2
✔ image-automation-controller: deployment ready
► ghcr.io/fluxcd/image-automation-controller:v0.21.2
✔ image-reflector-controller: deployment ready
► ghcr.io/fluxcd/image-reflector-controller:v0.17.1
✔ kustomize-controller: deployment ready
► ghcr.io/fluxcd/kustomize-controller:v0.22.2
✔ notification-controller: deployment ready
► ghcr.io/fluxcd/notification-controller:v0.23.1
✔ source-controller: deployment ready
► ghcr.io/fluxcd/source-controller:v0.22.4
✔ all checks passed
Git provider
No response
Container Registry provider
No response
Additional context
No response
Code of Conduct

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

@SomtochiAma can you try to replicate this bug in a unit test?

Hey @LukeRH ,
Can you post what the encrypted file looks like with the sensitive parts stripped out or replaced?

Hi, Apologies i had misconfigured my Kustomization, it is now working. Thanks for your help

@LukeRH Do you mind sharing your solution? I am facing the same problem.

The keys of data and stringData must consist of alphanumeric characters, -, _ or .. All key-value pairs in the stringData field are internally merged into the data field. If a key appears in both the data and the stringData field, the value specified in the stringData field takes precedence.
I should have read the Kubernetes secrets documentation, it is not allowed to have any other characters in the secret field other then alphanumeric, -, _ or . And i tried to set a complicated password like this:
stringData:
  adminToken: j!!YcLWn===BTtT5rFqs@WM$qha%%oWa2BEZZAfU__shPn6j9vX

I'm having the same error, what was the solution taken @TobiasS1402 @LukeRH?

I had the same issue, and it turns out I just forgot to add the decryption part in Kustomization from kustomize.toolkit.fluxcd.io/v1beta2
https://fluxcd.io/flux/guides/mozilla-sops/#gitops-workflow
  decryption:
    provider: sops
    secretRef:
      name: sops-gpg

For the record, here is the thread https://github.com/fluxcd/flux2/discussions/3546 about this issue which points out the need of explicit decryption.provider: sops .

Sorry to bump an old thread, but I encountered the same issue just now while encrypting a secret with Age. The secret contained:
data:
  token: YXN6ZTNxamh2azd2Yzh2OHAyMzZpcW96Nm9iOWJ0Cg==

I faced a decryption issue in the cluster, receiving the error "error decoding from JSON: illegal base64 data at input byte 3." However, when I created the secret withstringData and encrypted it in the same way, the cluster decryption worked as expected:
stringData:
  token: asze3qjhvk7vc8v8p236iqoz6ob9bt

This is, of course, not a real token.

@nilzen  Have you checked the issue I referenced in https://github.com/fluxcd/kustomize-controller/issues/612#issuecomment-1485508944 above? There is, I believe, exactly your kind of issue of data vs stringData addressed in https://github.com/fluxcd/flux2/discussions/3546#discussioncomment-7105448


fix(cleanup): return and re-await issues

fix #6
fix #7

Codecov Report

Merging #13 into master will increase coverage by 0.17%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #13      +/-   ##
==========================================
+ Coverage   86.69%   86.86%   +0.17%
==========================================
  Files          36       36
  Lines         541      548       +7
  Branches      197      201       +4
==========================================
+ Hits          469      476       +7
  Misses         22       22
  Partials       50       50

Impacted Files
Coverage Δ

src/util/finalCleanup.ts
71.42% <100.00%> (+4.76%)
:arrow_up:

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 9edcf6a...b9938db. Read the comment docs.

:tada: This PR is included in version 1.0.6 :tada:
The release is available on:

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Center Labels with Group Bars not working correctly

Summary
If I group the bars. The Labels dont align properly and the bars dont align properly with the xAxis
Expected Behavior
Bars should be centered inside each "column" (between the lines)
Device (please complete the following information):

Device: iOS Simulator 15 Pro Max
iOS Version: 17.4
Library Version: v2.0.5

Additional Context

with xAxis.centerAxisLabels = true;

onChartLoaded() {
  /** @var {BarChart} */
  const chart = this.$refs.chart['nativeView']
  chart.drawGridBackgroundEnabled = false;
  chart.minOffset = 0;
  chart.drawBarShadowEnabled = false;

  const xAxis = chart.xAxis;
  //xAxis.centerAxisLabels = true;
  xAxis.drawGridLines = true;
  xAxis.drawLimitLines = false;
  xAxis.drawAxisLine = false;
  xAxis.labelCount = 12;
  xAxis.position = XAxisPosition.BOTTOM;

  const rightAxis = chart.rightAxis;
  rightAxis.drawGridLines = false;
  rightAxis.drawZeroLine = false;
  rightAxis.drawAxisLine = false;
  rightAxis.drawLimitLines = false;
  rightAxis.drawLabels = false;
  rightAxis.zeroLineWidth = 200;
  rightAxis.zeroLineColor = '#F2F2F2'

  const leftAxis = chart.leftAxis;
  // same as rightAxis

  const nowData = this.nowValues.map((x, i) => ({
    index: i,
    value: x,
    last: false
  }))

  const nowSet = new BarDataSet(nowData, "", 'index', 'value');
  nowSet.color = '#2A85C9';

  const lastData = this.lastValues.map((x, i) => ({
    index: i,
    value: x,
    last: true
  }))

  leftAxis.axisMaximum = chartMax;
  leftAxis.axisMinimum = chartMin;
  // same for rightAxis

  const lastSet = new BarDataSet(lastData, "", 'index', 'value');
  lastSet.color = '#BEDAEF';

  const bd = new BarData([lastSet, nowSet]);
  bd.barWidth = 0.025 * xAxis.labelCount;
  bd.groupBars(0, 0.35, 0);
  chart.data = bd;
  const self = this;
  chart.customRenderer = {
    drawBar(c, e, dataSet, left, top, right, bottom, paint) {
      if (e.value > 0) {
        c.drawRoundRect(left, top, right, bottom, 4, 4, paint)
        c.drawRect(left, top + 4, right, bottom, paint)
      } else {
        c.drawRoundRect(left, top, right, bottom, 4, 4, paint)
        c.drawRect(left, top, right, bottom - 4, paint)
      }
      self.drawZeroLine(chart, c);
    }
  }
}

@offizium-berndstorath look at `groupBars signature there are new arguments. Use that to center grouped bars

@offizium-berndstorath did you remove xAxis.centerAxisLabels = true; ? you need to set group condensed for the "right" bar to be centered too

@offizium-berndstorath ok seems there is a case i dont handle. I see your data getting more and more offseted.
Can you create a simple repro example ?

@offizium-berndstorath here is an exampel https://github.com/nativescript-community/ui-chart/blob/master/demo-snippets/vue/CombinedChart.vue#L163

It is working for me on latest version (2.0.10)

Works with higher groupSpace:
const groupSpace = 0.2;
            const barSpace = 0.02; // x2 dataset
            const barWidth = 0.38; // x2 dataset
            // (0.38 + 0.02) * 2 + 0.2 = 1.00 -> interval per "group"
            bd.barWidth =barWidth
      bd.groupBars(0, groupSpace, barSpace, false, true);

Works with your values. Are you sure you did bd.groupBars(0, groupSpace, barSpace, false, true);

Yes change thé last 2 parameters

@offizium-berndstorath it is because of your group space. Play with the parameters to see how they work

@offizium-berndstorath i am sory i dont understand. seeing your screenshot everything works as expected.

@offizium-berndstorath this is not how it is implemented. it would not be centered in this case.  The last parameter is to not condense and so "empty bar" space will be drawn


[Doc] Request for suggested build-from-source options + explanation of added functionality

📚 Documentation
Suggestion

Just as the title says! Honestly, not so much for me because I have mine fairly set-in-stone at this point. But it took forever to research whatever options I thought were applicable to my setup, which of those applicable options I should bother installing and so on.
Though I suppose what is bugging me right now is Libtorch and FlashAttn, what benefits would I gain from integrating libtorch? Can't link your Python package Torch which means the hassle of installing it separately and remembering to keep it up to date. As for FlashAttn, I'm unsure if I fudged this most recent tvm-unity source build (or if I even need to rebuild after I pull from the git repo, gen. speaking) but my mlc-llm source build can't find it in tvm-unity (it is there in 3rd party, but seemingly unbuilt...am running on Mac Metal if that matters).
Another thing I'd also love to know is how to run TVM/MLC-LLM in Rust (or maybe the Rust module is meant for supporting features via the components included and there is no "running TVM/MLC in Rust"). I'm very new to Rust and there's no documentation on how to actually use the Rust components
Last issue that comes to mind was figuring out what the heck to do with "use_blas" if I want to use Accelerate framework's vecLib/blas/lapack. I tried "sysblas", blas-src, entering the blas header location. I think I got it working -- I put in openblas for that, however, I put up every linker/include flag possible for the aforementioned and it seemed to build without issue for that bit.
Edit: To elaborate, I'll use ACL Compute Library as an example. I had no clue what the heck it was, if it worked with my system, if it affects performance or if it is just meant for logging visuals, graphs. After my research I decided it'd be worth a shot seeing as it is more than just graphing and it can be run w/ Mac's ARM architecture with a little/lot of elbow grease. So: compatibility + functionality + some sort of scale along the lines of "improves speed/performance/reliability" -> "important feature if you are interested in ____ (graphing, networking w/ TFLite, etc.) -> "difficult to implement, only recommended for experienced devs interested in ____"

Thanks for the suggestion. We have a gen config in our build guide that turns on relevant options for mlc


Calculate SHA256 checksum in browser and add is a meta-data to the uploaded object

S3 multi-part uploads do not calculate checksums over the whole file but only its parts.

For resumable uploads we already have to calculate the MD5 hashes of all parts which is done before each upload by the browser. However thats different from an MD5 hash over the file as a whole.
Hashing the continuous file in the browser would also be feasible. However that would further increate the upload time if we do it ahead of the upload.
We currently need to do it ahead of time as we can not modify the metadata of an object once the S3-MPU has been created. I am considering to use CopyObject once the upload has been completed to further add more metadata.


Use better icons in breadcrumb

Two related changes in the dandiset file browser view:

replace the jellyfish icon with a home icon
replace the existing home icon with a link showing the dandiset ID

@bendichter you can see what this looks like at the Netlify preview here: https://deploy-preview-656--gui-dandiarchive-org.netlify.app/#/dandiset/000003/draft/files
Closes #655.

besides spacing looks good to me


Compatibility issue with 2.0 version of Spark

key
value

spark-bench version
2.3.0_0.4.0

spark version
2.0.0

cluster setup
standalone

scala version
2.11.8

My configuration file:
spark-bench = {
  spark-submit-config = [{
    spark-home = "/home/xxx/spark-2.0.0-bin-hadoop2.6"
    spark-args = {
      master = "spark://xxx:xxxx"
    }
    workload-suites = [
      {
        descr = "Kmeans"
        benchmark-output = "hdfs:///tmp/kmeans/result-kmeans.csv"
        save-mode = "overwrite"
        workloads = [
          {
            name = "kmeans"
            input = "/tmp/kmeans/kmeans-data.csv"
            k = 100
          }
        ]
      }
    ]
  }]
}

Exception info:
Exception in thread "main" java.lang.NoSuchMethodError: org.apache.spark.mllib.clustering.KMeans$.train(Lorg/apache/spark/rdd/RDD;IILjava/lang/String;J)Lorg/apache/spark/mllib/clustering/KMeansModel;
    at com.ibm.sparktc.sparkbench.workload.ml.KMeansWorkload$$anonfun$train$1.apply(KMeansWorkload.scala:120)

org.apache.spark.mllib.clustering.KMeans in Spark2.1:
@Since("2.1.0")
def train(
  data: RDD[Vector],
  k: Int,
  maxIterations: Int,
  initializationMode: String,
  seed: Long): KMeansModel = {
 new KMeans().setK(k)
  .setMaxIterations(maxIterations)
  .setInitializationMode(initializationMode)
  .setSeed(seed)
  .run(data)
}

Kmeans class in Spark2.0 does not have this method!

I'm playing with spark-bench.
I was able to run kmeans on spark2.
I'm using HDP-<IP_ADDRESS> which comes with Spark2 - 2.3.0.
This is my conf file:
spark-bench = {
  spark-submit-config = [{
   spark-args = {
      master = "yarn" // FILL IN YOUR MASTER HERE
      num-executors = 4
     // executor-memory = "XXXXXXX" // FILL IN YOUR EXECUTOR MEMORY
    }
    conf = {
      // Any configuration you need for your setup goes here, like:
      "spark.executor.cores" = "4"
      "spark.executor.memory" = "5g"
      "spark.driver.memory"   = "5g"
      // "spark.dynamicAllocation.enabled" = "false"
    }

    workload-suites = [
      {
        descr = "kmeans Workloads"
        benchmark-output = "console"
        workloads = [
          {
            name = "kmeans"
            input = "hdfs:///tmp/csv-vs-parquet/kmeans-data.csv"
          }
        ]
      }
    ]
  }]
}


Fix small typo in step_four.md.

Proposed changes
Fixed small typo by removing has in

The fortunes program has prints out wise sayings for our whale to say.

Thanks, @grahammadden !


Release Bento 0.4.0

The last release of Bento was a long time ago.
We need to start thinking about realising a new version
The 0.4.0 version will contain breaking changes

With 0.4.0 release we should also publish BentoKit & Stylesheet on cocoapods

done ;)


[FR]: set resource independence at multi module

Is there an existing issue for this?

[X] I have searched the existing issues

Describe the problem
I always get insights by looking at the nowinandroid code, and I personally use the code. Thank you every time.
I found an obscure problem while using it and left it as a "github issue".

Currently in nowinandroid, "top_app_bar_title" is used in the ForYou tab, Saved tab, and Interests tab.
Looking at the Find in files, it looks like this.

I tested each module in nowinandroid's feature.
1. First, I tried putting the code below in the Screen composable of each tab.

Text(stringResource(id = R.string.top_app_bar_title))

so I added BookmarksScreen.kt, ForYouScreen.kt, InterestsScreen.kt.
2. So, the result we faced was as follows.

Instead of strings.xml defined in each module, we only use values from a specific strings.xml
(the interest module in this example).
3. Also tested in the search module (SearchScreen.kt)
I applied it once to the search module as well, but the result was the same.

Describe the solution
My guess is that the resource is either merged from multiple modules into one or the last value found within the resource is selected.
It would be nice if there was a guideline or corresponding code, but is there a solution?
Thank you
Additional context
No response
Code of Conduct

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

Unfortunately, top_app_bar_title is not used in the project.
These strings should have been removed.
The general guidance here could be to simply rely on resourcePrefix and lint validation:
For example, in the :feature:search module:
android {
    namespace = "com.google.samples.apps.nowinandroid.feature.search"
    resourcePrefix = "feature_search_"
}

This could enforce the following prefix for strings (and other resources):
<resources>
    <string name="feature_search_title">Search</string>
    <!--...-->
<resources/>

@dturner is this something that you would want for this project to follow for each module?

Here is what it could look like for this project:

#767

Commented on the PR. Looks like a good solution 👍


Generated command is wrong?

I'm having the following issue on ubuntu (using version 1.0.6):
Fatal error: Uncaught exception 'ImageOptimizer\Exception\Exception' with message
'Command failed, return code: 1, command: /usr/bin/jpegtran '-optimize' '-progressive' '-outfile' '/home/koichirose/public_html/dev/system/../assets/images/news/test_image.jpg' '/home/koichirose/public_html/dev/system/../assets/images/news/test_image.jpg' 1> /dev/null 2> /dev/null'
in /home/koichirose/public_html/dev/vendor/ps/image-optimizer/src/ImageOptimizer/Command.php:46

Stack trace: #0 /home/koichirose/public_html/dev/vendor/ps/image-optimizer/src/ImageOptimizer/CommandOptimizer.php(29): ImageOptimizer\Command->execute(Array)
# 1 /home/koichirose/public_html/dev/vendor/ps/image-optimizer/src/ImageOptimizer/ChainOptimizer.php(24): ImageOptimizer\CommandOptimizer->optimize('/home/koichirose/pub...')
# 2 /home/koichirose/public_html/dev/vendor/ps/image-optimizer/src/ImageOptimizer/SmartOptimizer.php(32): I in /home/koichirose/public_html/dev/vendor/ps/image-optimizer/src/ImageOptimizer/Command.php on line 46

Running the exact same command without quotes from the command line works fine:
/usr/bin/jpegtran -optimize -progressive -outfile /home/koichirose/public_html/dev/system/../assets/images/news/test_image.jpg /home/koichirose/public_html/dev/system/../assets/images/news/test_image.jpg

I'm running it like this just to test:
$full_path = '/home/koichirose/public_html/dev/system/../assets/images/news/test_image.jpg';
$factory = new \ImageOptimizer\OptimizerFactory(array('ignore_errors' => false));
$optimizer = $factory->get();
$optimizer->optimize($full_path);

Ran into the same issue. The solution to overwrite files with the optimized version is using -outfile {}.
Unfortunately this argument is hardcoded in the library, class OptimizerFactory line 105-107 as follows:
function ($filepath) {
    return array('-outfile', $filepath);
}

Same issue on my extended package.
https://travis-ci.org/approached/laravel-image-optimizer/jobs/151516271
Can try to give more write rights, like this:
chmod 777 -R /home/koichirose/public_html/dev/system/../assets/images/news/

Which OS you are use? I just updated the package and now it works fine. Look in my install script:
  - wget http://de.archive.ubuntu.com/ubuntu/pool/universe/p/pngquant/pngquant_2.5.0-1_amd64.deb
  - sudo dpkg -i pngquant_2.5.0-1_amd64.deb

  - wget https://launchpad.net/ubuntu/+archive/primary/+files/gifsicle_1.88-1_amd64.deb
  - sudo dpkg -i gifsicle_1.88-1_amd64.deb

  - wget https://launchpad.net/ubuntu/+archive/primary/+files/jpegoptim_1.4.3-1_amd64.deb
  - sudo dpkg -i jpegoptim_1.4.3-1_amd64.deb

#  - sudo apt-get install -y pngquant gifsicle jpegoptim (not usable OS is old in travis)
  - pngquant --version # 2.5.0 (June 2015)
  - jpegoptim --version # jpegoptim v1.4.3  x86_64-pc-linux-gnu (libjpeg version: 8d  15-Jan-2012)
  - gifsicle --version # LCDF Gifsicle 1.88

It works for me if I select "jpegoptim" manually. using the "smart" optimizer automatically select "jpegtran" and that command fails.

I tested this issue on Windows 8.1 and CentOS and get:
ImageOptimizer\Exception\Exception

Command failed, return code: 4, command: "D:\ImageOptimization\pngquant.exe" "--force" "--quality 70" "--ext=.png" "--" "D:\Development\PHP\tests\image-optimizer\a.png"

D:\ImageOptimization\pngquant.exe: unknown option -- quality 70

The generated command is wrong but this works fine (removing double quotes for --quality 70):
"D:\ImageOptimization\pngquant.exe" "--force" --quality 70 "--ext=.png" "--" "D:\Development\PHP\tests\image-optimizer\a.png"

Just encountered this issue also, running PHP from the command line of an AWS server.

I am not able to help if I won't get jpegtran and other stuff versions. Of course the output (from both: stdout and stderr) of the command generated by the library would be essential as well. @ChristianTheMinery Can you provide such info?

Since 2.0.0 version a way of generating command has changed (symfony-process component is used), so it should not be a problem anymore.


Consider adding unit and functional tests

Unit and functional tests would be nice 😸

This is something i'm hoping to whip up in the following days. Your PR is always welcome :)


type name collision handling

Might want to either bail with failure status there, or open existing type and store its pointer in g_DataStackType:
https://github.com/zodiacon/KObjects/blob/797b3b6b97c60cf6763de7d6ee12ab881fe8d635/KObjects/DataStack.cpp#L178

It's a good idea, but the question is how? ObOpenObjectByName could be used to open the type object, but not quite, as the type object pointer of the type object is needed, and is not exported by the kernel.
This makes it harder to do.

Certainly possible if using undocumented structures... way beyond the sample I wish to convey :)

I agree, I will change that to return a failure because the rest will not work anyway.
Thanks :)


[Publication]: Prompt icon is not displayed in (un)publication request and in publish/unpublish request in Approve required for prompts with long names

EPAM AI DIAL chat version
0.13.0
How to reproduce
Steps:

create prompt with very long name
create publication request for it -> icon prompt is not displayed -> bug
approve request ->  icon prompt is not displayed -> bug
created unpublish request for this prompt ->  icon prompt is not displayed -> bug
admin review unpublish request ->  icon prompt is not displayed -> bug

Actual result

![Screenshot 2024-06-18 at 17 19 46](https://github.com/epam/ai-dial-chat/assets/77381071/d37dd9fe-d202-428c-80f3-fddffd8a507c)
Expected result
Icon should be displayed for all prompts inside requests
Confidential information

[X] I confirm that do not share any confidential information

Verified on STG - fixed


How to run MultiZarrToZarr efficiently?

I have observed that I only get about 3-10% cpu use per python process while running MultiZarrToZarr.
Tasks:  10 total,   1 running,   9 sleeping,   0 stopped,   0 zombie
%Cpu(s):  0.3 us,  0.2 sy,  0.0 ni, 99.5 id,  0.0 wa,  0.0 hi,  0.0 si,  0.0 st
MiB Mem :   5943.5 total,   2256.4 free,   1163.2 used,   2524.0 buff/cache
MiB Swap:   1024.0 total,    785.8 free,    238.2 used.   4332.5 avail Mem

  PID USER      PR  NI    VIRT    RES    SHR S  %CPU  %MEM     TIME+ COMMAND
10393 dstuebe   20   0<PHONE_NUMBER>84  36432 S   2.7   2.4   0:05.08 python3
  340 dstuebe   20   0 7275124 676712  18412 S   0.3  11.1   3:13.20 java
10850 dstuebe   20   0    7188   3448   2896 R   0.3   0.1   0:00.02 top
    1 dstuebe   20   0    1020      4      0 S   0.0   0.0   0:01.45 docker-init

Looking over the MultiZarrToZarr code and looking at the behavior in profiler I am a bit stumped on how to speed things up (Full logs)
2022-07-19T21:44:11.973Z P:MainProcess T:MainThread INFO:service.py:transform:All done aggregations!
         2150132 function calls (2148840 primitive calls) in 183.545 seconds

   Ordered by: internal time
   List reduced from 869 to 50 due to restriction <50>

   ncalls  tottime  percall  cumtime  percall filename:lineno(function)
     2588  154.792    0.060  154.792    0.060 {method 'acquire' of '_thread.lock' objects}
        6    2.850    0.475    2.850    0.475 {method 'read' of '_io.BufferedReader' objects}
    18379    1.509    0.000    5.152    0.000 /Users/dstuebe/.cache/bazel/_bazel_dstuebe/76bbf57da584b86027104686797623fa/external/python3_10_x86_64-unknown-linux-gnu/lib/python3.10/logging/__init__.py:283(__init__)
   245265    1.342    0.000    2.643    0.000 {built-in method builtins.isinstance}

It seems like the for loops over the files in each pass of translate are intrinsically serial, updating a stateful object in order.
I am not complaining, I just want to make sure I am not missing an opportunity to run this more efficiently.
With #194 working better (at least the tmp files are gone, I still need to assess the memory usage) I should be able to run a large number of processes at once using dask - each one will just take a long time.
Is that the best way forward here for the foreseeable future?

If the CPU use is low, then the time is spent in IO. It might well be worthwhile to fs.cat all of the references files in fss() rather than create them one-by-one in the list comprehension.

So I have had a go at testing the two methods suggested and both result in a speed up:

Normal MZZ
Tree Reduction
With fs.cat
Tree Reduction with fs.cat

3min 34s
1min 10s
2min 50s
1min 6s

Here is the notebook I used to test this: https://gist.github.com/peterm790/fe6dbdf1d1b9bbf3b6113b9bd2e17086
And the changes made to include fs_cat in combine: https://github.com/fsspec/kerchunk/compare/main...peterm790:kerchunk:fs_cat_combine?expand=1
@martindurant You mentioned it is possible to use fs.cat without needing to add a target_protocol?
And is there perhaps another repo that you could point me to that uses a similar "tree" combine step automagically that I could use as a bit of a blue print to do the same as above in a more generic way? as suggested in https://github.com/fsspec/kerchunk/issues/209

We don't have any tree reductions like this except for the couple of ad-hoc examples like here. Building this to run automatically is one of my "future improvements".

You mentioned it is possible to use fs.cat without needing to add a target_protocol?

You would use fsspec.core.url_to_fs (be sure to pass **target_options)

How many cores did dask use? If 4, then that's really pretty good parallelism.

How many cores did dask use? If 4, then that's really pretty good parallelism.

This was 8 cores

You would use fsspec.core.url_to_fs (be sure to pass **target_options)

Thanks, I have updated the branch to use this: https://github.com/fsspec/kerchunk/compare/main...peterm790:kerchunk:fs_cat_combine

Was this issue closed by the merging of kerchunk.combine.auto_dask in #255? That function is mentioned in the docs and seems to be what is described here.

Closing. If we still have performance issues, we can have a new issue with details against the current state of the code.


Setter typeclass.

Fixes https://github.com/digital-asset/daml/issues/15705
Java API now requires to pass in a Bind.X() where X is the type to bind. Scala API gets these implicitly.

Spun off https://github.com/digital-asset/daml/issues/15871


End to End Encryption Support - Java client

Motivation
Added Java client changes to encrypt messages published to pulsar. Once encrypted, it only allows the consumer with the right set of keys to be able to decrypt the original message published by the producer.
Modifications
Changes are implemented as per PIP-4.
Addresses issue #633

retest this please

@merlimat @rdhabalia Do you have any more comments?

retest this please

retest this please

retest this please

retest this please

retest this please

@merlimat as we want to merge this PR as part of 1.20, can you also please review this PR when you get a chance.


Bump the GraphQL version

Purpose
$Subject

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


Go 1.23: Unable to connect to SQL Server 2022 docker image with TLS error

The change in crypto/tls returns an error for the negative serial number in the certificate.

Before Go 1.23, ParseCertificate accepted certificates with negative serial numbers. This behavior can be restored by including "x509negativeserial=1" in the GODEBUG environment variable.

https://pkg.go.dev/crypto/x509#ParseCertificate
When running the bellow program, I got a TLS error RANDOMLY with the container. Because sometime the container starts and generates correct certs, so no errors happen.
$ go run ./main.go
2024/08/28 02:24:11 Run query failure: TLS Handshake failed: tls: failed to parse certificate from server: x509: negative serial number
exit status 1

To Reproduce
Start the container
docker run --platform linux/amd64 -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=P@ssw0rd0995' -p 1434:1433 mcr.microsoft.com/mssql/server:2022-latest

Then run the main.go with go run ./main.go
package main

import (
	"database/sql"
	"fmt"
	"log"
	"net/url"

	_ "github.com/microsoft/go-mssqldb"
)

// Start a SQL Server container with the following command:
//
// ```shell
//
//	docker run --platform linux/amd64 -e 'ACCEPT_EULA=Y' -e 'MSSQL_SA_PASSWORD=P@ssw0rd0995' -p 1434:1433 mcr.microsoft.com/mssql/server:2022-latest
//
// ```
func main() {
	msUser := url.UserPassword("sa", "P@ssw0rd0995")
	port := 1434
	db, err := sql.Open("sqlserver", fmt.Sprintf("sqlserver://%s@:%d/master?connection+timeout=30", msUser.String(), port))
	if err != nil {
		log.Fatalf("Error creating connection pool: %v", err)
	}
	row, err := db.Exec("SELECT 1")
	if err != nil {
		log.Fatalf("Run query failure: %v", err)
	}
	rowCount, err := row.RowsAffected()
	if err != nil {
		log.Fatalf("Error getting row count: %v", err)
	}
	log.Printf("Rows affected: %d\n", rowCount)
}

@giautm is there something you'd expect to change in the driver for this?

When is someone violating RFC, why it must be always Microsoft?
RFC 5280 section <IP_ADDRESS>
https://github.com/golang/go/issues/8265

@shueybubbles maybe wrap the error with an explanation why is that so? Or document the error as a well-know issue?


copy sample-runner from kendoui-bridge

copy to implement the sample pages

The current content in https://github.com/aurelia-ui-toolkits/aurelia-materialize-bridge supports the identical method for creating sample pages - I used the code that was the "inspiration" for the subsequent code runner, because the code - runner was implemented at the stage when the bridge was already using several aureliaized KendoUI controls and there were too many hacks involved to remove these while preserve the code runner in that "older version" of the bridge.
The reason I dug back in the past is solely to remove the pressure on @JeroenVinke (to accelerate the plugin builder and it's future sub-components) while allow @Thanood to start working on Materialize in a lot more comfortable environment that plunker offers.
My expectation from the above described beginning for @Thanood was that at the point the plugin builder is ready (it's currently waiting for new jspm and because of that outside of our control), @Thanood could use the https://github.com/aurelia-ui-toolkits/aurelia-materialize-bridge/issues/1 article to recreate the project from scratch to the point where plugin builder gets used and then simply copy all wrappers and all sample consumer apps from the bridge project used up to that point.
@Thanood @JeroenVinke - you are completely free to take any approach, different from what I prepared, if that seems not the best for your taste. :-)

Would need a lot more effort than just copying. Therefore closed. :smile:

:smile_cat:


[Feature][Master] Optimize master log output

Search before asking

[X] I had searched in the issues and found no similar feature requirement.

Description
Master would output too much log when worker is busy or worker thread are running out.
It would generate 2GB's log file every one hour in my production environment.It takes up a lot of hard disk space.
[ERROR] 2021-12-21 00:05:13.859 org.apache.dolphinscheduler.server.master.consumer.TaskPriorityQueueConsumer:[140] - dispatch error: fail to execute : Command [type=TASK_EXECUTE_REQUEST, opaque=257857, bodyLen=2481] due to no suitable worker, current task needs worker group master2 to execute
org.apache.dolphinscheduler.server.master.dispatch.exceptions.ExecuteException: fail to execute : Command [type=TASK_EXECUTE_REQUEST, opaque=257857, bodyLen=2481] due to no suitable worker, current task needs worker group master2 to execute
        at org.apache.dolphinscheduler.server.master.dispatch.ExecutorDispatcher.dispatch(ExecutorDispatcher.java:89)
        at org.apache.dolphinscheduler.server.master.consumer.TaskPriorityQueueConsumer.dispatch(TaskPriorityQueueConsumer.java:137)
        at org.apache.dolphinscheduler.server.master.consumer.TaskPriorityQueueConsumer.run(TaskPriorityQueueConsumer.java:100)
[ERROR] 2021-12-21 00:05:13.860 org.apache.dolphinscheduler.server.master.consumer.TaskPriorityQueueConsumer:[140] - dispatch error: fail to execute : Command [type=TASK_EXECUTE_REQUEST, opaque=257858, bodyLen=2502] due to no suitable worker, current task needs worker group master2 to execute
org.apache.dolphinscheduler.server.master.dispatch.exceptions.ExecuteException: fail to execute : Command [type=TASK_EXECUTE_REQUEST, opaque=257858, bodyLen=2502] due to no suitable worker, current task needs worker group master2 to execute
        at org.apache.dolphinscheduler.server.master.dispatch.ExecutorDispatcher.dispatch(ExecutorDispatcher.java:89)
        at org.apache.dolphinscheduler.server.master.consumer.TaskPriorityQueueConsumer.dispatch(TaskPriorityQueueConsumer.java:137)
        at org.apache.dolphinscheduler.server.master.consumer.TaskPriorityQueueConsumer.run(TaskPriorityQueueConsumer.java:100)
[ERROR] 2021-12-21 00:05:13.860 org.apache.dolphinscheduler.server.master.consumer.TaskPriorityQueueConsumer:[140] - dispatch error: fail to execute : Command [type=TASK_EXECUTE_REQUEST, opaque=257859, bodyLen=2368] due to no suitable worker, current task needs worker group master2 to execute
org.apache.dolphinscheduler.server.master.dispatch.exceptions.ExecuteException: fail to execute : Command [type=TASK_EXECUTE_REQUEST, opaque=257859, bodyLen=2368] due to no suitable worker, current task needs worker group master2 to execute
        at org.apache.dolphinscheduler.server.master.dispatch.ExecutorDispatcher.dispatch(ExecutorDispatcher.java:89)
        at org.apache.dolphinscheduler.server.master.consumer.TaskPriorityQueueConsumer.dispatch(TaskPriorityQueueConsumer.java:137)
        at org.apache.dolphinscheduler.server.master.consumer.TaskPriorityQueueConsumer.run(TaskPriorityQueueConsumer.java:100)
[ERROR] 2021-12-21 00:05:13.861 org.apache.dolphinscheduler.server.master.consumer.TaskPriorityQueueConsumer:[140] - dispatch error: fail to execute : Command [type=TASK_EXECUTE_REQUEST, opaque=257860, bodyLen=2481] due to no suitable worker, current task needs worker group master2 to execute
org.apache.dolphinscheduler.server.master.dispatch.exceptions.ExecuteException: fail to execute : Command [type=TASK_EXECUTE_REQUEST, opaque=257860, bodyLen=2481] due to no suitable worker, current task needs worker group master2 to execute
        at org.apache.dolphinscheduler.server.master.dispatch.ExecutorDispatcher.dispatch(ExecutorDispatcher.java:89)
        at org.apache.dolphinscheduler.server.master.consumer.TaskPriorityQueueConsumer.dispatch(TaskPriorityQueueConsumer.java:137)
        at org.apache.dolphinscheduler.server.master.consumer.TaskPriorityQueueConsumer.run(TaskPriorityQueueConsumer.java:100)
[WARN] 2021-12-21 00:05:12.008 org.apache.dolphinscheduler.server.master.dispatch.host.LowerWeightHostManager:[166] - worker <IP_ADDRESS>:12346 is busy, current waiting task count 69 is large than worker thread count 15

Use case
branch: 2.0.1-release
Related issues
No response
Are you willing to submit a PR?

[x] Yes I am willing to submit a PR!

Code of Conduct

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

@SbloodyS
Good idea!
What is your suggestion about this?

@SbloodyS Good idea! What is your suggestion about this?

So far, I can only control by limiting the size and number of log files. There is no better solution.

what about add a busy indicator to decrease the log print
like this : the log only print 1 time in 60 second
var interval = 0

if (worker.isBusy()){
if(interval==60){
	logger.info(''xxx'')
    interval = 0
}
interval++
sleep(1s)
}  else{
  //
}


Installing Client Dependency Telemetry Tracking With Code

Hello,
I am very happy to see the telemetry extended to the WCF clients too and am eager to give it a try. However we configure most of our services and clients in code (we have internal framework for that). Can you please include a short example of how to configure the client in code. I figure it should be something like:
ChannelFactory.Endpoint.EndpointBehaviors.Add(new ClientTelemetryEndpointBehavior());
Thanks

Looking at the source code it probably should be:
ChannelFactory.Endpoint.Behaviors.Add(new ClientTelemetryEndpointBehavior(this));
Am I on the right track here?

Hi @vmelamed
The readme explains how to configure dependency tracking in detail.
Let me know if you have any other questions...

I was hoping for code configuration not config file configuration?
Thanks

Sorry, replied initially before I figured out what you were asking and edited the comment too late!
But yes, if you don't want to use the Profiler + ApplicationInsights.config, and want to use code, then simply adding the endpoint behavior is the right way to do it.

Thanks! This worked but: when I configure the server/client with WebHttpBinding it throws exception (see below), which by looking at the code, is understandable - there is no soapAction for webHttp. Am I doing something wrong here? Any suggestions?
ArgumentNullException
  Message                  = Value cannot be null.
  Parameter name: key
  ParamName                = key
  InnerException           = <null>
  TargetSite               = (Method): Void RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
  Source                   = mscorlib
  HResult                  = 0x80004003
  IsTransient              = False
  Data                     = (System.Collections.ListDictionaryInternal, mscorlib, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=b77a5c561934e089)
  StackTrace               =

  Server stack trace:
     at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
     at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
     at Microsoft.ApplicationInsights.Wcf.Implementation.ClientContract.TryLookupByAction(String soapAction, ClientOperation& operation) in C:\Projects\GitRepos\ApplicationInsights-SDK-Labs\WCF\Shared\Implementation\ClientContract.cs:line 31
     at Microsoft.ApplicationInsights.Wcf.Implementation.ClientTelemetryChannelBase.StartSendTelemetry(Message request, String method) in C:\Projects\GitRepos\ApplicationInsights-SDK-Labs\WCF\Shared\Implementation\ClientTelemetryChannelBase.cs:line 184
     at Microsoft.ApplicationInsights.Wcf.Implementation.ClientTelemetryRequestChannel.Request(Message message, TimeSpan timeout) in C:\Projects\GitRepos\ApplicationInsights-SDK-Labs\WCF\Shared\Implementation\ClientTelemetryRequestChannel.cs:line 47
     at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
     at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
     at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
     at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

  Exception rethrown at [0]:
     at System.Runtime.Remoting.Proxies.RealProxy.HandleReturnMessage(IMessage reqMsg, IMessage retMsg)
     at System.Runtime.Remoting.Proxies.RealProxy.PrivateInvoke(MessageData& msgData, Int32 type)
     at vm.Aspects.Wcf.TestServer.IRequestResponse.GetStrings(Int32 numberOfStrings)
     at vm.Aspects.Wcf.TestServer.RequestResponseClient.GetStrings(Int32 numberOfStrings) in C:\Projects\GitRepos\vm\Aspects\Test\vm.Aspects.Wcf.TestServer\IRequestResponse.Client.cs:line 238
     at vm.Aspects.Wcf.TestServer.Program.Main(String[] args) in C:\Projects\GitRepos\vm\Aspects\Test\vm.Aspects.Wcf.TestServer\Program.cs:line 117
  RemoteStackTrace         =

  Server stack trace:
     at System.Collections.Generic.Dictionary`2.FindEntry(TKey key)
     at System.Collections.Generic.Dictionary`2.TryGetValue(TKey key, TValue& value)
     at Microsoft.ApplicationInsights.Wcf.Implementation.ClientContract.TryLookupByAction(String soapAction, ClientOperation& operation) in C:\Projects\GitRepos\ApplicationInsights-SDK-Labs\WCF\Shared\Implementation\ClientContract.cs:line 31
     at Microsoft.ApplicationInsights.Wcf.Implementation.ClientTelemetryChannelBase.StartSendTelemetry(Message request, String method) in C:\Projects\GitRepos\ApplicationInsights-SDK-Labs\WCF\Shared\Implementation\ClientTelemetryChannelBase.cs:line 184
     at Microsoft.ApplicationInsights.Wcf.Implementation.ClientTelemetryRequestChannel.Request(Message message, TimeSpan timeout) in C:\Projects\GitRepos\ApplicationInsights-SDK-Labs\WCF\Shared\Implementation\ClientTelemetryRequestChannel.cs:line 47
     at System.ServiceModel.Dispatcher.RequestChannelBinder.Request(Message message, TimeSpan timeout)
     at System.ServiceModel.Channels.ServiceChannel.Call(String action, Boolean oneway, ProxyOperationRuntime operation, Object[] ins, Object[] outs, TimeSpan timeout)
     at System.ServiceModel.Channels.ServiceChannelProxy.InvokeService(IMethodCallMessage methodCall, ProxyOperationRuntime operation)
     at System.ServiceModel.Channels.ServiceChannelProxy.Invoke(IMessage message)

Thanks for reporting! I will investigate.
I am a bit curious as to what the expected results would be?
At the very least, it definitely should not fail, but I'd want to also make the output useful, and I'm wondering if the core HTTP dependency tracing wouldn't actually do a better job altogether here, in which case it might be better to just ignore those requests and let the core HTTP dependency tracking deal with them.
Thoughts?

In the last couple of days I played with WCF+AI and was thinking about your question. You are right that there is a bit of overlap between the two dependencies but then again WCF is not only about HTTP and you can see net.tcp or net.pipe client calls just as well and this is nice. Even on HTTP protocols it feels a little more natural to see the WCF language in the event.
This was the promise of WCF (sigh, not quite fulfilled) to be able to add  new transports, serialization etc. protocols and still have the same business logic codebase, right? Related to that is why I would like to have a fine control on which clients write events to AI. In particular, I really would like to track the client calls, performance etc. to third party API-s.

I've been looking at this and I think I know how to work this, but need to setup a more extensive escenario to test my ideas.
I also want to see if I can detect Web-based contracts and just ignore them, as another alternative (in which case, the standard HTTP-based dependency tracking would log them only once).


GH-38042: [C++][Benchmark] Add non-stream Codec Compression/Decompression

Rationale for this change

Currently, we will enable compression benchmark with ARROW_WITH_BENCHMARKS_REFERENCE
Note that it only has benchmark for compressor ( make by Codec::MakeCompressor() ) and decompressor ( make by Codec::MakeDecompressor ). However, Parquet uses Codec to encode and decode. So, I'd like to add benchmarks that use Codec directly.
What changes are included in this PR?

Add benchmark for direct compression and decompression
Are these changes tested?

no need
Are there any user-facing changes?
no

Closes: #38042

@pitrou @kou Since parquet uses Compression/Decompression in Codec, I've add group of test here. Would you mind take a look?

So we could have added LZ4 and Snappy here. @mapleFU Would you like to do that as a followup PR?

Let me rush it :-)
(Just curiously, is it related to https://github.com/apache/arrow/issues/38389 ) ?

It's just reasonable to benchmark all available codecs, not a subset of hem.

@pitrou added https://github.com/apache/arrow/pull/38453


Materials working differently in firefox vs chrome

Open http://www.babylonjs-playground.com/#RA9C0A in firefox, edge and in chrome
Observe that the ground's material is somehow being set to the same material as the sphere in firefox but not in other browsers
Expected only the sphere's material to be modified

Works for me in firefox
Wre you using ff 55? (If so they have plenty of bugs to fix yet)

The problem is not Firefox, its Chrome.
With Chrome 63 the ground material is wrong. I didn't have this problem with chrome 62.

Ok I can repro..let me check who is the culprit ;)

Bug created in chromium db:
https://twitter.com/deltakosh/status/938813751096049664

The bug also exists in Firefox, but only using v58 beta or 59 nightly. Linux versions of firefox and chrome seem to run fine, at least for me, so it's possible that only Windows versions have this bug.

Yes I can repro on nightly only for ff
Reallllly weird

This was also reported on babylonjs forum about a month ago by sable, maybe it helps tracking down the culprit:
http://www.html5gamedevs.com/topic/33865-diffuse-colour-with-chrome-canary-ff-dev-edition-angle/


isCacheableValue doesn't seem to work

I just tracked down an issue where I used isCacheableValue: Boolean and it was still cachingfalse key values. Doing the check manually before calling wrap fixes my issue.
const memoryCache = cacheManager.caching({
	store: 'memory',
	isCacheableValue: Boolean,
	max: 100,
	ttl: 5 * 24 * 60 * 60 /* seconds */,
})

[...]

		const key = cacheKeyForReq(req, context)
		const resultP = cache.wrap(key, () => {
					console.log(
						key
							? `=== Caching page for ${key}`
							: `=== Pre-rendering page ${req.url}`
					)
					return prerenderApp(req, context)
				})
      resultP.then [...]

isCacheableValue checks the value, not the key.

Oh wow, that explains a lot :) ok, I'll close, I guess, unless maybe this
needs to be explained better in the readme?
On Tue, Nov 21, 2017, 6:33 PM Bryan Donovan<EMAIL_ADDRESS>wrote:

isCacheableValue checks the value, not the key.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/BryanDonovan/node-cache-manager/issues/110#issuecomment-346102378,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AADWlmWG2I-yEESHvV8sGZboKhRoDLXaks5s4wl8gaJpZM4Ql2ka
.

Yeah, please close.  I think the readme is pretty clear :)


Update websocket library.

The library we were using was very old - and was stale for a long time.
But the great news is that https://github.com/websocket-client/websocket-client is now active - and has several years worth of bugfixes!
I'm hopeful it will close https://github.com/pavoni/pyroon/issues/54
This will require some testing!

@doctorfree Do you have a view on this?
I'm tempted to merge and release a version using the new library - since it makes it easier to test in HA.
But don't want to mess up you or users of https://github.com/doctorfree/RoonCommandLine

I don't have a very good understanding of the changes involved in moving to the newer WebSocket client for Python. My initial impression is this would not impact RoonCommandLine. Regardless, my view is to improve the Python Roon API library and I will adjust accordingly as necessary.

Thanks - I guess it’s mostly just a pretty big version change - so perhaps risky.
I’ll do some more testing, it did work out the box though.
Once it looks good - I’ll build a library - and ask you to check it out.

This is already looking good. It recovers reliably to a local roon core on my dev machine - which I can't get the old library to do.


add quote mark to bacalhau cmd

did some more search and figured out that we use inconsistent quotation in the instruction_template. I made the instruction_template consistent in the protein-folding release


test: do we use the non-human readbable serde encoding for tbs public types?

Can be closed after #4755 afaik


can't remove stopped container

I have a container which is not running that I am trying to remove but I get an error from the daemon about the container not running and Kitematic won't remove it.

Can you provide details as to how you came about this error?
How did you create this container?
Did you modify it?
Did you exec into it and made changes?
etc.
Anything that would help me replicate the issue

I created, via the gui, from the official MySQL image, which itself stopped immediately because it wants an envvar to be set which was not.
Then just clicked the "X" to remove it.

Just tried it on the following version with no problem:

Anything else I'm missing?

Evidently my kitematic install was quite outdated.
Thanks!


✨(backends) es granular backend

Purpose
An extract from the more granular backends PR #464 concerning only the ESDataBackend
Proposal

[x] Adapt the ESDataBackend to use the template method pattern

This PR was the first attempt to shorten PR #464 by splitting it by backend.
However, for more simplicity, we opted to split the PR #464 by functionality in PRs: #501 #510 #511 #512 #513 #515 #517 #518 #519


Anvisoft.AnviFolderLocker version 1.2.1369.0

[x] Have you signed the Contributor License Agreement?
[x] Have you checked that there aren't other open pull requests for the same manifest update/change?

[x] Does your manifest conform to the 1.0 schema?

Note: <path> is the name of the directory containing the manifest you're submitting.

Microsoft Reviewers: Open in CodeFlow

Hello @mr4550359,
During installation testing, this application failed to install without user input. Did you forget to add Silent or SilentWithProgress switches?
This can also happen when a dependency is missing. You can test with https://github.com/microsoft/winget-pkgs#test-your-manifest.
Please investigate a fix and resubmit the Pull Request.
You may also try using the Windows Package Manager Manifest Creator to determine the proper installer type. If the installer type is MSIX, MSI or a known installer technology like NullSoft, Inno, etc. the wingetcreate tool can detect then the winget client will know what switches to pass. If it's a .exe installer of an unknown type, you will need to search to determine the proper switches for Silent and SilentWithProgress.


specify dependencies correctly

This is partially correct. The devDep change is correct, changing the peer range is wrong. Changing transforms to devDeps is also wrong as they need to be installed everywhere.

Wait never mind it was originally a devDep so all of these are wrong. Feel free to ask for clarification if I need to elaborate on why.

Thanks for the PR though!

I see deps as being what your source code depends on. Your source code doesn't depend on things to do transforms.
As for the peerdep, it seems like if your code depends on angular 1.4.x, then your peers should as well. But I can certainly be convinced otherwise.

It's not a philosophical issue. When you npm install angular-credit-cards and are using Browserify, you need those transforms to be installed for things to work.
This is gonna be moot anyway because I'm going to eliminate the need to use Babel.

it seems like if your code depends on angular 1.4.x

It doesn't though. I 1.3+.

Sounds like more of an issue with browserify than with the dependencies declarations. Basically, you're saying that your code depends on browserify, which seems wrong, since it doesn't. Your build depends on browserify, which is a different issue.

It's not a philosophical issue

https://github.com/substack/node-browserify#browserifytransform

Lame


Question about selection and crossover

Hello,
I have been trying to understand the selection and crossover methods for GASearchCV but I still have some doubts. I am using the default algorithm (eaMuPlusLambda), but in the implementation it appears that both mu and lamba are set to None.
If I am not wrong, these parameters establish the following:

mu: The number of individuals chosen from the previous generation without undergoing mutation or crossover.
lambda: The number of individuals in the next generation obtained from crossing and mutating the parents from the previous generation.

If both of them are set to None, then I don't understand which percentage of a new generation is parents from the previous one and which percentage is mutated children of crossed parents.
I believe that the reproduction process is the following one:

Selection: With the chosen selection method, select individuals that will produce next generation.
Crossover: Apply crossover to some of the selected individuals according to crossover probability.
Mutation: Apply mutation to the resulting population according to mutation probability.

My question is, the next generation, is composed only of probably mutated children of crossed parents? Or are there also parents that are not crossed? In this second case, which is the percentage of children and parents?
Thanks a lot in advance!
Mario

Hi @mario-sanz
The default value in the stand-alone algorithms is None but inside the GASearchCV class those values are overwritten to mu=self.population_size and lambda_=2 * self.population_size so they're never really None, this also answers the question of how many individuals are created in the next gen (read more in the end).
You're about right about the steps done in the reproduction process; in the next generation you'll have crossed individuals, and mutated individuals (from the crossed ones), additionally you could have the best individuals from the previous generation, this happens if the parameter elitism is set to True (which is the default) or because the selected algorithm variation.
Keep in mind that depending on the algorithm it might generate the new population from the offspring and and the current population (eaMuPlusLambda) or only from the offspring (eaMuCommaLambda), so if elitism is set to False it won't always have individuals from the current gen passed to the next one
Also, keep in mind that depending on the algorithm you selected a few things change about how many individuals to create and some criteria on how to create them, for example, one aspect is the "variation methods": varAnd (used in eaSimple)  and the varOr (used in eaMuPlusLambda and eaMuCommaLambda).
You can read more about those here:
varAnd
varOr
I hope this helps

I'm closing this issue for now, let me know if more questions arise

Hi @rodrigo-arenas
Sorry for the late response. Yes, your answer was really helpful. You solved all my doubts. Thank you very much!


Plugin does not show pairing and overrides platform and stops running

Hi,
When the plugin is installed the value platform will be set to "ExampleHomebridgePlugin" and the plugin will not run.
When I override this to "KAKU-ICS2000" the plugin will run and shows a green light. Each time the Homebridge get restarted our if I click Setting for the plugin it will be reverted back.
When I go to Bridge Settings and Switch the toggle on to show to generate the QR code and follow the steps to restart it will not show a QR code and keeps showing the message "Restart Homebridge to finish setting up this child bridge.
Return to this screen after Homebridge has restarted to view the pairing QR code."
Also the logs will show me this message on startup and will only show when this plugin is activated
"No plugin was found for the platform "ExampleHomebridgePlugin" in your config.json. Please make sure the corresponding plugin is installed correctly."
Hopefully you can get this solved
Thanks

The first and third point is fixed (same bug). But I don't understand your second issue? What is it that you are trying to do? Setup a child bridge? If so, that has nothing to do with this plugin.

thanks @youridijk for your quick response and implementing this fix. This solved all my issue and I am now able to use the plugin in my apple home
Have a nice weekend
Cheers

thanks @youridijk for your quick response and implementing this fix. This solved all my issue and I am now able to use the plugin in my apple home
Have a nice weekend
Cheers


Unexpected context for DID documents

Bug Report
Describe the Bug
When performing a did:web resolution call towards Identity Hub it returns a DID document with https://w3id.org/did-resolution/v1 context but expected it to be: https://www.w3.org/ns/did/v1.
Expected Behavior
When returning a DID document it is expected that it follows the Decentralized Identifiers (DIDs) v1.0 specification.
Observed Behavior
The current https://w3id.org/did-resolution/v1 context as specified https://github.com/eclipse-edc/Connector/blob/main/spi/common/identity-did-spi/src/main/java/org/eclipse/edc/iam/did/spi/document/DidDocument.java#L31 is for "Decentralized Identifier Resolution (DID Resolution)" see https://w3c.github.io/did-resolution/#example
Steps to Reproduce

Start MVD sample
Query did document with curl http://localhost:7093/.well-known/did.json.
Observe that following document is returned

{
  "service": [
    {
      "id": "provider-credentialservice-1",
      "type": "CredentialService",
      "serviceEndpoint": "http://localhost:7091/api/presentation/v1/participants/ZGlkOndlYjpsb2NhbGhvc3QlM0E3MDkz"
    },
    {
      "id": "provider-catalogserver-dsp",
      "type": "ProtocolEndpoint",
      "serviceEndpoint": "http://localhost:8092/api/dsp"
    }
  ],
  "verificationMethod": [
    ...
  ],
  "authentication": [],
  "id": "did:web:localhost%3A7093",
  "@context": [
    "https://w3id.org/did-resolution/v1"
  ]
}

Context Information
EDC version 0.10.0-SNAPSHOT

@perher thanks for reporting. Do you want to create a PR for this?

sure, I created a PR for this now


CI - Compilation options based on pull request labels

This pr aims at providing cmake compilations options based on the labels from pull requests. When no label are added, a minimal setup is provided.
For more informations, please see https://github.com/stack-of-tasks/pinocchio/issues/2251

This PR don't require a changelog entry since it only modify the CI.