Snapping points to the lines should be switchable

Snapping is sometimes unnecessary. For example, if the entryway is inside the archway of a house, it will stick to the outline of the house. Also relate to this #471
As long as sticking points to multi-polygons does not work #210, you may have the following situation: two adjacent buildings, one multi-polygon, the other polygon. Every Door in this case could snap a point to the building drawn by the line.
it is not clear which points snap to which ones. For example: If there is a footpath and a road next to each other, which one will the barrier stick to?
Snapping is not obvious. As a new user, you can only find this out if you examine your changes after downloading. (or someone will tell you about it)

See #541 for a more general issue.

It would indeed be great to do something about it. Another example I have struggled with is snapping gates to highways. There were cases I intended to mark a gate on an already-mapped fence or wall. Instead the gate got snapped to the road that the fence was running along. We've even had navigation over a primary road broken for this reason after an unaware editor made an edit with EveryDoor :(

Would it perhaps be possible so EveryDoor, at the time the element is being added to the map:

asks the user "Do you want to snap node type to way type" (e.g. "Do you want to snap barrier=gate to highway=residential") and acts accordingly?

Or, alternatively, somehow visually indicate where the element is going to be snapped (like e.g. in StreetComplete Street Parking overlay, when it displays separate pin at exact location on a way where it is going to snap on, and does not show the pin if no snapping is going to take place because it is too far from the road)?

Because doing it invisibly to the user in the background at the time of upload is problematic as it breaks not only "do not surprise the user" but also "user should be in control what is being added to the map" maxims, and thus sometimes leads to unintended bad data.

I don't think we need an additional step in the form of a dialog. A switch (or icon for entrance mode) in the object card would be enough.

I don't think we need an additional step in the form of a dialog

I agree that it sounds somewhat clunky if it pops up too often, but might be easiest to implement. I would much prefer the direct visual indication mode instead, which I mentioned earlier:

like in StreetComplete "parking overlay":

or like SCEE "insert node into way" long-press functionality:

I however suspect that it is (maybe significantly) harder to implement, so that is why I suggested that only is second place (even if I would much prefer such solution, as such approach has already shown to work quite nicely and is easy to use)

A switch (or icon for entrance mode) in the object card would be enough.

I'm afraid manual snap on/off switch (or button like "door" icon in entrance mode) IMHO would not be good enough though, if I understood correctly what you meant there @deevroman ?
See example above  by @gdabski or your point 3. in original report. It would still leave it up to the heuristics (instead of the user) whether the gate would end on barrier or on the highway, which is a serious routing-breaking issue. And if you disabled snapping completely via some switch, then adding the gate would be quite useless.
Having a separate switch for each type of a way (e.g. "snap on a footway", "snap on a road", "snap on the barrier", ...) would not work either, not only because it sounds like an overkill (and usability issue), but also because it would not work on e.g. two highway=residential crossing and similar situations.

TL;DR: Visual indication when and on what exactly the snapping will occur would work best IMHO (as evidenced in StreetComplete/SCEE), and allow the user to opt-out of snapping by moving an element a little away.
While adding additional manual switch to fully disable snapping might be an useful addition (as it would allow for little more precise positioning without snapping), it is not suitable as a replacement for such visual indication (or some other solution putting user in charge of what exactly is being editing).

Note to self: re-enable snapping plaques after I do this.


[WB-5045] 📼 Rewind

https://wandb.atlassian.net/browse/WB-5045
Description
Original problem statement:

When I restart an experiment, wandb will start dropping samples generated since the last experiment snapshot. What I'd want instead is to overwrite these samples with the new data generated by the experiment after restart (dropping the old data past the most recent snapshot). The reason this is important is because it's the new data that will impact the future, so not the old data. Is there a way to do that in wandb?

Suppose my experiment was running for 5000 steps and then it crashed. However, I only saved it state when it finished 4000 steps. It is then restored at 4000 samples and it generates a bunch of metrics between steps 4000 and 5000 using wandb.log . However those datapoints are dropped, because they were already written by original experiment before restart. I'd rather have the old samples be replaced by new ones.

This PR implements the above. A related backend pr implements the associated backend changes
Testing
No tests yet, @raubitsj would appreciate your suggestions on best ways to test.

Why add rewind_step to wandb.init()?
My proposed design was that the user could rely on wandb to determine what to rewind to, which is much harder to do when rewind_step is in the call to wandb.init()
For example:
run = wandb.init(resume=my_id)
# look up in your run when the last checkpoint was
last_checkpoint = run.summary.checkpoint_step
run.rewind(step=last_checkpoint)

@raubitsj I added it to init so that it could share the upsert run call with init/resume and not have to have a separate recordloop Record type and path for handling rewind requests. The rewind info needs to get sent to the backend so that the backend can truncate the associated history. If you prefer I can add in that path, basically creating a new RunRecord in rewind and adding that to the queue

@raubitsj Re: testing, it would be great to test that the history truncation works as expected. This is going to be tough to mock out, I suppose we could add something to the mock server, but it would be better to test against a functioning backend. Is it possible to define a test in the new framework that only runs against a real live server?

@raubitsj I added it to init so that it could share the upsert run call with init/resume and not have to have a separate recordloop path (and maybe Record type?) for handling rewind requests. The rewind info needs to get sent to the backend so that the backend can truncate the associated history. If you prefer I can add in that path, basically creating a new RunRecord in rewind and adding that to the queue

if you are using the wandb.init() call rewind is the wrong name now.  maybe it is resume_step.

closing in favor of #2794


[Issue] Successful Created Service not Shown in Dashboard

In GitLab by @wknet123 on Sep 21, 2017, 18:37

In GitLab by @luotian-github on Nov 8, 2019, 07:38
This pod number is not correct to the real number when create 1 new pod with 2 containers

In GitLab by @yhua123 on Nov 8, 2019, 07:38
LGTM

In GitLab by @sokril on Nov 8, 2019, 08:11
closed

In GitLab by @sokril on Nov 8, 2019, 08:11
assigned to @luotian-github


Add reconciled and child object API endpoints and KustomizationDetail page

Closes #1453
Adds the endpoint necessary to render the KustomizationDetail page, and the page itself to the UI:

These endpoints are mostly copy-paste from the pkg/server/server.go endpoints with some basic test coverage added.

I tried to find the right go.mod incantation to get this to pass snyk, but gave up. The vulns are only medium.


The feature plugin for epel does not work on command line

Seems that the feature plugin for epel is broken when called from the command line:
tmt run provision --how container --image centos:stream9 prepare --how feature --epel enabled login finish

Results into:
prepare
    prepare task #1: default-0 on default-0
    how: feature
    Enable EPEL
    fail:

Works nicely when provided as a plan:
provision:
    how: container
    image: centos:stream9
prepare:
  - how: feature
    epel: enabled
  - how: install
    package: beakerlib
execute:
    how: tmt
    script: rpm -q beakerlib

The issue appears to be caused by a missing fmf root. When the command-line option is used and the .fmf directory is not found, the root is set to None, leading to a failure at this line. The root is required when creating a relative path to the playbook here and here.
If we run the same command in a directory where the fmf tree exists, it seems to work correctly.
tmt init
tmt run provision --how container --image centos:stream9 prepare --how feature --epel enabled login finish

Results into:
prepare
    queued push task #1: push to default-0

    push task #1: push to default-0

    queued prepare task #1: default-0 on default-0
    queued prepare task #2: requires on default-0

    prepare task #1: default-0 on default-0
    how: feature
    Enable EPEL

    prepare task #2: requires on default-0
    how: install
    summary: Install required packages
    name: requires
    where: default-0
    package: /usr/bin/flock

    queued pull task #1: pull from default-0

    pull task #1: pull from default-0

    summary: 2 preparations applied

How should we handle this? Should we improve the error message or use a different path when the fmf root is not found?

Keeping open as per https://github.com/teemtee/tmt/pull/3126#issuecomment-2322094388

Just verified with tmt-1.36 that applying the epel playbook works nicely even outside of an fmf tree. The use case above has been fixed by 3126 and now works as expected.


sf project deploy validate --json to include the deploymentId in the output json object for further processing

Is your feature request related to a problem? Please describe.
When running sf cli in Github actions, I would like sf project deploy validate --json to return a more easily machine readable deploymentId, so I can run further processing (e.g. sf project deploy report) on it in GHA failure steps.
What are you trying to do
My developers use github actions as our CI/CD system for Salesforce. We are trying to run a deployment validation on PR sync, and then a quick deploy on merge to main to reduce our github billable time. We want to run sf project deploy validate and capture the deployment Id from the result in a machine-readable format (json).
This works fine when the validation is a success, as the json output includes a clear Id property that we can use for further processing. But when the validation is not successful, the format of the json is as follows:
{
  "code": 1,
  "context": "DeployMetadataValidate",
  "commandName": "DeployMetadataValidate",
  "message": "Failed to validate the deployment (0Af1n00001if15hCAA). Due To:\nAverage test coverage across all Apex Classes and Triggers is 52%, at least 75% test coverage is required.",
  "name": "FailedValidationError",
  "status": 1,
  "stack": "FailedValidationError: Failed to validate the deployment (0Af1n00001if15hCAA).....[redacted[",
  "exitCode": 1,
  "warnings": []
}

meaning that if I want to follow up with a failure step to retrieve a sf project deploy report in a different format, I can only grab the deployment Id from the message property, which is subject to changes in formatting.
Describe the solution you'd like
When I run sf project deploy validate with the --json flag and the validation fails
I want the output json object to contain a stably named property (id or deploymentId)
So that I can read that property from the json object reliably and use it for further processing
Describe alternatives you've considered
Right now we are reading the deployment Id from the message property, but this is a string error message whose format has changed through the years, so it's not massively reliable.

good call.  SfError lets us add a data property under the json output where we can provide this value for you.

should be in the nightly tag/channel now (which becomes rc later today) if you want to try it

@mshanemc thank you so much for this, and for the amazing speed of it. All works!


randomization.repeat without duplicate neighbors

From the jsPsych google group:

We have a list of 10 stimuli (images) repeating for 500 trials.  We need to make sure that the same stimulus is not presented on consecutive trials.  Is there any way to do this?

currently we are using:

var myArray = [1,2,3,4,5,6,7,8,9,10];
var shuffledArray = jsPsych.randomization.repeat(myArray, 50);
// output would present us with 500 random images, which is great, but some images will repeat
// output: shuffledArray = [1,6,4,2,2,5,7,7,3,10,....]

We would need the output such that no image would repeat, but would still be randomly assigned for 500 trials.
// output: shuffledArray = [1,9,4,2,3,7,5,8,10, 6,....]

implemented on /dev


SlF4J should be packaged with the .jar

This makes it so less needless errors take up the console

I don't need extra dependencies just so it doesn't log stuff. It works without it so I am not going to add this.


NOISSUE - Policy sync with master

Pull request title should be MF-XXX - description or NOISSUE - description where XXX is ID of issue that this PR relate to.
Please review the CONTRIBUTING.md file for detailed contributing guidelines.
What does this do?
Synchronize policies branch with master , merge master changes into policies
Which issue(s) does this PR fix/relate to?
Put here Resolves #XXX to auto-close the issue that your PR fixes (if such)
List any changes that modify/break current functionality
Have you included tests for your changes?
Did you document any new/modified functionality?
Notes

Codecov Report

Merging #1462 (8a415e3) into policies (bb072b8) will increase coverage by 1.98%.
 Consider uploading reports for the commit 3662406 to get more accurate results

@@             Coverage Diff              @@
##           policies    #1462      +/-   ##
============================================
+ Coverage     69.32%   71.30%   +1.98%
============================================
  Files           123      123
  Lines          8457     9714    +1257
============================================
+ Hits           5863     6927    +1064
- Misses         2068     2237     +169
- Partials        526      550      +24

Impacted Files
Coverage Δ

auth/jwt/tokenizer.go
91.11% <ø> (+1.36%)
:arrow_up:

certs/service.go
88.46% <ø> (+1.22%)
:arrow_up:

pkg/sdk/go/bootstrap.go
0.00% <0.00%> (ø)

pkg/sdk/go/certs.go
0.00% <0.00%> (ø)

pkg/sdk/go/groups.go
0.00% <0.00%> (ø)

readers/cassandra/messages.go
82.07% <ø> (+1.26%)
:arrow_up:

readers/mongodb/messages.go
87.65% <ø> (+0.98%)
:arrow_up:

readers/postgres/messages.go
85.29% <ø> (+0.91%)
:arrow_up:

things/users/users.go
66.66% <0.00%> (-14.59%)
:arrow_down:

users/api/logging.go
0.00% <0.00%> (ø)

... and 149 more

Continue to review full report at Codecov.

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

Filing, difficult to implement correctly.
Closing this one, and @buraksekili will send new fresh PR for policies.


FHIRPath function: median

collection<Integer|Decimal> -> median() : Decimal

This function takes a collection of numeric inputs and returns a single Decimal value that represents the calculated median of those values.
Example:
Patient.multipleBirthInteger.median()

We might need to implement this using percentile_approx. Some questions:

Do we make this a percentile function instead?
Do we expose the accuracy parameter?

Closing this in favour of #510.


version @6.0.0-rc1 createHttp1Request found a bug

createHttp1Request found a bug
When I use this function.
Options:{
method: "PATCH",
url: '/lol-champ-select/v1/session/actions/1',
}
Method is PATCH, but is the real method : GET

version @5.3.0, use request and doesn't appear such problems.

Good catch, I believe I've fixed it now, can you try 6.0.0-rc2?

I have a try tomorrow, China has very late.
But,yarn add -D<EMAIL_ADDRESS>Couldn't find any versions for "league-connect" that matches "6.0.0-rc2"
Thank you!

Try installing again tomorrow, NPM is sometimes slow with new releases https://www.npmjs.com/package/league-connect

Why? How to solve?
SyntaxError: Unexpected end of JSON input
at JSON.parse ()
at IncomingMessage. (.....\node_modules\league-connect\dist\http.js:67:43)
at IncomingMessage.emit (node:events:539:35)
at endReadableNT (node:internal/streams/readable:1345:12)
at processTicksAndRejections (node:internal/process/task_queues:83:21)

A temporary solution:
try {
if (bodyText.indexOf('{')!=-1){
const json = JSON.parse(bodyText);
resolve(new Http1Response(response, json));
}else {
resolve(new Http1Response(response, null));
}
}
catch (jsonError) {
reject(jsonError);
}
});

Could you attach the request code as well so I can try to reproduce?

Estimates is the issue of return parameter.
The request is an api that select hero.
const credentials = await authenticate()
const response = await createHttp1Request({
method: "PATCH",
url: '/lol-champ-select/v1/session/actions/1',
body: {
"completed": true,
"type": "pick",
"championId": 157}
}, credentials)

I'm not able to reproduce with that code. I have my League Client open in a champion select (custom game, alone with no bots) and I'm getting 405 Method Not Allowed (though that endpoint has accepted PATCH in the past?)

Ok thank you!

I've pushed 6.0.0-rc3 to NPM with those changes + some other changes, making HTTP 1 and HTTP 2 requests return the same type.

Hi,bro!
Can you give me a email? I would like to share with you one of my own software, use your league-connect.

github: https://github.com/Java-S12138/frank

Sure, you can reach me at me (at) supergrecko (dot) com

Under construction?


Issue #109: Prevent child lambdas overriding parent lambdas.

If a child and parent class both have a lambda method of the same name,
make the child lambda private, with an accessor, so that it doesn't override the parent
lambda.

Not 100% sure if this is related, but just got a lint error:
error: This package private method may be unintentionally overriding lambda$new$0 in <my_package_name>.<my_class> [DalvikOverride]

@JakeWharton not sure if it's that uncommon.

From http://tools.android.com/tips/lint-checks:
DalvikOverride
--------------
Summary: Method considered overridden by Dalvik

Priority: 7 / 10
Severity: Error
Category: Correctness

The Android virtual machine will treat a package private method in one class
as overriding a package private method in its super class, even if they are in
separate packages. This may be surprising, but for compatibility reasons the
behavior has not been changed (yet).

If you really did intend for this method to override the other, make the
method protected instead.

If you did not intend the override, consider making the method private, or
changing its name or signature.

This has been superseded by 88efc5298d78d868bf01d20f0c36aeb5cc60ad3f


Investigate option to call webhook on events

e.g. notify a discord bot when someone submits a review with at least the film info + username in the payload.

I like this idea, but i am currently facing a problem with fetching discord webhooks, from a vercel function (it times out even if the exectued code is under the 10s limit) so not sure if ill be able to implement it or not :(

Implemented, current events include, movie add / remove, review create / review modify / review remove. fetching the webhook at endpoint /api/event/review or /api/event/movie.
To come:

User ban and add;


Added language support mapping for Dart -> Flutter docs.

Flutter (http://docs.flutter.io) now has docset support, but activating Dash on Flutter APIs with the plugin doesn't work because flutter is not one of the docsets searched in Dart mode.
I bumped the version number preemptively, but I'd be happy to revert that part of the change if desired.

hey @gspencergoog ,
how do you install the flutter docset? is this from "Dart Docsets" section in Dash? if this is the case would using the dartdocs keyword work as well? this should cover all dart docsets.

Well, it's available from a feed right now: https://master-docs-flutter-io.firebaseapp.com/offline/flutter.xml (soon to be at https://master-docs.flutter.io/offline/flutter.xml once I get some DNS changes pushed).
I may be contributing it to the default docs on Dash, but only if we can get the continuous integration system to upload them automatically, or get Dash to pull it from the feed, so that's a work in progress.
The Flutter docs won't be part of the Dart docset, because it's not part of the Dart project.

is this different from these:

what are the differences? as all downloaded docsets from the dart section should be searchable with the dartdocs keyword

Yes, it is different.  Those are all Dart pub package docs from pub.dartlang.org, and the "flutter" one is just an old Dart package that has no actual bearing on the real Flutter SDK: it was a placeholder for a very early version, and I've asked about getting it removed from the pub site. The others are all flutter-related Dart packages that are published on pub.dartlang.org, but they're not flutter itself.
Flutter is not a pub package, it is an entire SDK with its own docs. Since Flutter isn't published using that mechanism, it doesn't appear in that list, and you can't get to the docs that way. I've recently added the ability of our CI system to publish the docset to the feed above, and we'd like the IntelliJ plugin to be able to search through that docset, which is why I submitted this PR, since it doesn't have 'flutter' as a keyword.

The flutter package has been removed from pub.dartlang.org now, so that it is no longer confusing things.


TypeError: init() got an unexpected keyword argument 'version'

I am using Python 2.7 and I'm trying the Facebook SDK for the first time.  Using
sudo pip install facebook-sdk
I was able to install a version of the Python Facebook library.  Using pip show facebook-sdk | grep Version I identified this as version 0.4.0.  I tried a simple example from the reference api
import facebook
graph = facebook.GraphAPI(access_token='your_token', version='2.2')

The Facebook Graph Explorer online gives acess tokens.  The API versions now go up to the current version 2.5.  Does facebook-sdk go that far yet?  In any case, the error message suggests there is no version keyword:
TypeError: __init__() got an unexpected keyword argument 'version'

The code works without any version keyword.  Which one am I using then?

you can install the latest version(1.0.0.a0) of facebook-sdk from source code on github (python setup.py install). Hope this would help!

Cloned the Github repo and did sudo python setup.py install  - works like a charm:
Python 2.7.6 (default, Jun 22 2015, 17:58:13)
[GCC 4.8.2] on linux2
Type "help", "copyright", "credits" or "license" for more information.
>>> import facebook
>>> token = '...'
>>> graph = facebook.GraphAPI(access_token=token, version='2.5')
>>> graph
<facebook.GraphAPI object at 0x7f51f42126d0>
>>> friends = graph.get_connections(id='me', connection_name='friends')
>>> friends
{u'paging': ..., u'data': ..., u'summary': {u'total_count': 50}}

You should not have close this issue, as it's still giving this error (as pip package, not for the clone).

I cloned the Github repo and did sudo python setup.py install but now I'm getting GraphAPIError: Invalid OAuth access token. I don't have this problem with sudo pip install facebook-sdk, but then I can't get edge info. Please help!

@vabatta, this issue should remain closed, since it isn't a bug - version 0.4.0 never had API version support.
@Esyechka, your issue doesn't sound like the one described in this bug report. You should post an email with more details to the Google Group.


[Optimizer][Hopper] change mmaV3InstrN for flash attention

Revise the logics to assign MMA layout for serialized dots. This is a hueristic rule for FlashAttention.

LGTM


#268 Return isFavorite flag with Animal object

Supplemented Animal object with isFavorite flag which determines if an animal is marked as favorite by the current user. Resolves #268.

@AzisK, as you noticed, currently isFavorite field is returned with a separate query (just like animal registration, microchip, and details). Are you suggesting to not follow the previous examples and join tables inside getAnimal(s)Query, or sth else?

I am thinking that this approach might be faster. However, as you pointed out, we have previous examples and it would be good to follow the same path. So I just gave food for thought but go ahead with this approach

OK, as both of you suggested, I extended getAnimal(s) queries with isFavorite status. However, a few tests do not pass anymore due to undefined user_id used in the queries mentioned before. Would you suggest to hardcode a dummy user_id in tests?

Well done! Looks good from my point of view. @AzisK is this okay to merge for you?

Looks great


Support for dynamic component types

This library seems promising and I would like to use it in a project of mine, but I really can't because I would like the ability to create custom component types at runtime.
The current implementation seems like it uses typeids to map component types into their relative data. It seems like it would be easy to change them from typeids into data of generic type that implements the necessary traits (like PartialEq, Eq, Clone, etc).
The problem is that I don't really know how to make one implementation that supports the current way of accessing components and this dynamic one at the same time. There could be two different World implementations with slightly different interfaces but that would be messy and unwanted.
I think I'll fork this project to try and make a dynamic version and see what I can do.

Hi @mrZalli and thanks for filing this issue!
Would you mind sharing the details of your use-case, e.g. why and where do you need runtime-defined components?

Thanks for the fast response!
The project I'm doing (or planning to do) is a sort of a game engine, where most of the content and some rules of the world are in external text files to allow easy editing and modding.
Of course I could allow only a pre-existing selection of components and it would work, but I feel like it would be an arbitrary restriction. Because of that I would like if new components could be introduced in the aforementioned text files when the program starts.

where most of the content and some rules of the world are in external text files to allow easy editing and modding

But how do you process these run-time entities then? There has to be some code doing stuff with them, and dealing with an untyped memory blob doesn't sound too Rusty for the lack of type safety.

These components values can be enums with different variants for different datatypes or something like JSON strings.
The rules that refer to these components are also defined in text files and could be written in some script language, like Lua.

Now when I think of this I have a solution of sorts. You can just add another (optional) identifying value alongside the the type-id and it should work. Then you could have additional functions that take these dynamic identifiers as their parameters.
I'll try to do something like this in a fork.

This is the same thing I spoke of before.  Remember when I mentioned that in my old engine that you can define new component types in LUA (type names are a 64-bit integer) and they could define systems over them (or even from C++, or vice-versa, as Aspects work based on the 64-bit integer type IDs).  It is a fairly important feature for moddability.

So I made a simple support for the dynamic components, but it's still kinda clunky and not tested yet.
https://github.com/mrZalli/specs

I think I have to add that I edited ’World’ and ’EntityBuilder’ so that their old interface still works even though I ran into some problems with type inference when using the ’new’ function.

@mrZalli looking over your changes it looks to be a net-win without costing us to much complexity. Since we can opt-in to using the feature. There are some minor issues that are just a result of rust not being annoying with how borrows work.
For scripted types this makes quite a bit of sense. I could see a few cases where you might want to use both in your engine. It could be worked around by abusing the Default type.

@csherratt that's great. The way I created this is probably not the best one, because it allows for components with the same component id names, but different datatypes, which is probably confusing and unwanted.
A more simpler and cleaner design would allow only one type of identification method used at the same time. Could this be done with something like two-variant enum keys for the World's components hash map? Or just opt-inning features.
What the enum key type might look like:
enum CompKey<T: PartialEq + Eq + Hash> {
    Type(TypeId),
    CompId {
        id: T,
        type: TypeId
    }
}

(The implementation of PartialEq and Hash for that enum type has to be done manually.)
PS: I fixed some minor flaws and errors and added a simple test case to my fork.

So I couldn't come up with any new ideas that would be worthwhile to add to my fork so I created a pull request.


[CT-1785] [Bug] Update node_info before LogModelResult events

The node_info dictionary does not appropriately update for the NodeFinished event.
Running with the 1.4.latest branch:
$ dbt --log-format json run

{"data": {"log_version": 3, "version": "=1.4.0-rc1"}, "info": {"category": "", "code": "A001", "extra": {}, "invocation_id": "66a2fa8c-5843-4df2-8128-ea4b4070858f", "level": "info", "msg": "Running with dbt=1.4.0-rc1", "name": "MainReportVersion", "pid": 10868, "thread": "MainThread", "ts": "2023-01-11T12:16:57.720622Z"}}
{"data": {"stat_line": "3 models, 0 tests, 0 snapshots, 0 analyses, 291 macros, 0 operations, 0 seed files, 0 sources, 0 exposures, 0 metrics"}, "info": {"category": "", "code": "W006", "extra": {}, "invocation_id": "66a2fa8c-5843-4df2-8128-ea4b4070858f", "level": "info", "msg": "Found 3 models, 0 tests, 0 snapshots, 0 analyses, 291 macros, 0 operations, 0 seed files, 0 sources, 0 exposures, 0 metrics", "name": "FoundStats", "pid": 10868, "thread": "MainThread", "ts": "2023-01-11T12:16:57.777880Z"}}
{"data": {"node_count": 3, "num_threads": 5, "target_name": "dev"}, "info": {"category": "", "code": "Q027", "extra": {}, "invocation_id": "66a2fa8c-5843-4df2-8128-ea4b4070858f", "level": "info", "msg": "Concurrency: 5 threads (target='dev')", "name": "ConcurrencyLine", "pid": 10868, "thread": "MainThread", "ts": "2023-01-11T12:16:57.925877Z"}}
{"data": {"description": "sql view model dbt_jcohen.model_a", "index": 1, "node_info": {"materialized": "view", "meta": {}, "node_finished_at": null, "node_name": "model_a", "node_path": "model_a.sql", "node_started_at": "2023-01-11T12:16:57.929551", "node_status": "started", "resource_type": "model", "unique_id": "model.testy.model_a"}, "total": 3}, "info": {"category": "", "code": "Q011", "extra": {}, "invocation_id": "66a2fa8c-5843-4df2-8128-ea4b4070858f", "level": "info", "msg": "1 of 3 START sql view model dbt_jcohen.model_a ................................. [RUN]", "name": "LogStartLine", "pid": 10868, "thread": "Thread-1 (worker)", "ts": "2023-01-11T12:16:57.930248Z"}}
{"data": {"description": "sql view model dbt_jcohen.model_b", "index": 2, "node_info": {"materialized": "view", "meta": {}, "node_finished_at": null, "node_name": "model_b", "node_path": "model_b.sql", "node_started_at": "2023-01-11T12:16:57.929876", "node_status": "started", "resource_type": "model", "unique_id": "model.testy.model_b"}, "total": 3}, "info": {"category": "", "code": "Q011", "extra": {}, "invocation_id": "66a2fa8c-5843-4df2-8128-ea4b4070858f", "level": "info", "msg": "2 of 3 START sql view model dbt_jcohen.model_b ................................. [RUN]", "name": "LogStartLine", "pid": 10868, "thread": "Thread-2 (worker)", "ts": "2023-01-11T12:16:57.931008Z"}}
{"data": {"description": "sql view model dbt_jcohen.model_a", "execution_time": 0.08171987533569336, "index": 1, "node_info": {"materialized": "view", "meta": {}, "node_finished_at": null, "node_name": "model_a", "node_path": "model_a.sql", "node_started_at": "2023-01-11T12:16:57.929551", "node_status": "executing", "resource_type": "model", "unique_id": "model.testy.model_a"}, "status": "CREATE VIEW", "total": 3}, "info": {"category": "", "code": "Q012", "extra": {}, "invocation_id": "66a2fa8c-5843-4df2-8128-ea4b4070858f", "level": "info", "msg": "1 of 3 OK created sql view model dbt_jcohen.model_a ............................ [\u001b[32mCREATE VIEW\u001b[0m in 0.08s]", "name": "LogModelResult", "pid": 10868, "thread": "Thread-1 (worker)", "ts": "2023-01-11T12:16:58.015065Z"}}
{"data": {"description": "sql view model dbt_jcohen.model_b", "execution_time": 0.08798003196716309, "index": 2, "node_info": {"materialized": "view", "meta": {}, "node_finished_at": null, "node_name": "model_b", "node_path": "model_b.sql", "node_started_at": "2023-01-11T12:16:57.929876", "node_status": "executing", "resource_type": "model", "unique_id": "model.testy.model_b"}, "status": "CREATE VIEW", "total": 3}, "info": {"category": "", "code": "Q012", "extra": {}, "invocation_id": "66a2fa8c-5843-4df2-8128-ea4b4070858f", "level": "info", "msg": "2 of 3 OK created sql view model dbt_jcohen.model_b ............................ [\u001b[32mCREATE VIEW\u001b[0m in 0.09s]", "name": "LogModelResult", "pid": 10868, "thread": "Thread-2 (worker)", "ts": "2023-01-11T12:16:58.020156Z"}}
{"data": {"description": "sql view model dbt_jcohen.model_c", "index": 3, "node_info": {"materialized": "view", "meta": {}, "node_finished_at": null, "node_name": "model_c", "node_path": "model_c.sql", "node_started_at": "2023-01-11T12:16:58.021113", "node_status": "started", "resource_type": "model", "unique_id": "model.testy.model_c"}, "total": 3}, "info": {"category": "", "code": "Q011", "extra": {}, "invocation_id": "66a2fa8c-5843-4df2-8128-ea4b4070858f", "level": "info", "msg": "3 of 3 START sql view model dbt_jcohen.model_c ................................. [RUN]", "name": "LogStartLine", "pid": 10868, "thread": "Thread-4 (worker)", "ts": "2023-01-11T12:16:58.021504Z"}}
{"data": {"description": "sql view model dbt_jcohen.model_c", "execution_time": 0.02683401107788086, "index": 3, "node_info": {"materialized": "view", "meta": {}, "node_finished_at": null, "node_name": "model_c", "node_path": "model_c.sql", "node_started_at": "2023-01-11T12:16:58.021113", "node_status": "executing", "resource_type": "model", "unique_id": "model.testy.model_c"}, "status": "CREATE VIEW", "total": 3}, "info": {"category": "", "code": "Q012", "extra": {}, "invocation_id": "66a2fa8c-5843-4df2-8128-ea4b4070858f", "level": "info", "msg": "3 of 3 OK created sql view model dbt_jcohen.model_c ............................ [\u001b[32mCREATE VIEW\u001b[0m in 0.03s]", "name": "LogModelResult", "pid": 10868, "thread": "Thread-4 (worker)", "ts": "2023-01-11T12:16:58.049071Z"}}
{"data": {"execution": " in 0 hours 0 minutes and 0.28 seconds", "execution_time": 0.28208422660827637, "stat_line": "3 view models"}, "info": {"category": "", "code": "E047", "extra": {}, "invocation_id": "66a2fa8c-5843-4df2-8128-ea4b4070858f", "level": "info", "msg": "Finished running 3 view models in 0 hours 0 minutes and 0.28 seconds (0.28s).", "name": "HookFinished", "pid": 10868, "thread": "MainThread", "ts": "2023-01-11T12:16:58.061531Z"}}
{"data": {"keyboard_interrupt": false, "num_errors": 0, "num_warnings": 0}, "info": {"category": "", "code": "Z030", "extra": {}, "invocation_id": "66a2fa8c-5843-4df2-8128-ea4b4070858f", "level": "info", "msg": "\u001b[32mCompleted successfully\u001b[0m", "name": "EndOfRunSummary", "pid": 10868, "thread": "MainThread", "ts": "2023-01-11T12:16:58.067601Z"}}
{"data": {"stats": {"error": 0, "pass": 3, "skip": 0, "total": 3, "warn": 0}}, "info": {"category": "", "code": "Z023", "extra": {}, "invocation_id": "66a2fa8c-5843-4df2-8128-ea4b4070858f", "level": "info", "msg": "Done. PASS=3 WARN=0 ERROR=0 SKIP=0 TOTAL=3", "name": "StatsLine", "pid": 10868, "thread": "MainThread", "ts": "2023-01-11T12:16:58.068113Z"}}

I would expect the CREATE VIEW lines to include:

node_finished_at populated
node_status = success

It looks like we have some legacy logic around this:
https://github.com/dbt-labs/dbt-core/blob/eb200b46877c31469f410b7d47dfd245473ed7cb/core/dbt/task/run.py#L372-L373
https://github.com/dbt-labs/dbt-core/blob/7a6160273875853525c6709cc196b4835617530a/core/dbt/task/runnable.py#L233-L241
But we're not using the contextvars-based get_node_info(), introduced in https://github.com/dbt-labs/dbt-core/pull/6325. I was able to get this working with a few small tweaks.

While I was here: HookFinished is a weird name for this log line! It has nothing to do with hooks. Could we rename it to (e.g.) FinishedRunningStats?
12:29:09  Finished running 3 view models in 0 hours 0 minutes and 0.30 seconds (0.30s).

{"category": "", "code": "E047", "extra": {}, "invocation_id": "1a3843b9-06cd-47dc-a778-13a6bede78c0", "level": "info", "msg": "Finished running 3 view models in 0 hours 0 minutes and 0.30 seconds (0.30s).", "name": "HookFinished", "pid": 11087, "thread": "MainThread", "ts": "2023-01-11T12:27:55.346489Z"}}

Turns out this was me getting confused between NodeFinished and LogModelResult! Less critical than I thought. Though I'm probably not the last person who will find this confusing, so still worth changing.


Arduino Interface

This branch contributes

Refactored arduino code (improved readability of loop() and setup() routines). Would like to refactor Car class into .cpp and .h files to #include but can't figure out how to with the existing arduino compilation process.
Arduino support for all four encoders via the EnableInterrupt library
Arduino support for using the remote control (will publish several examples for using this functionality in python code in separate PR)
Installation script for EnableInterrupt library
The creation of an arduino_interface.py node. This node listens to steering and motor pwm topics (separately, to allow a lateral and longitudinal controller to run independently) and publishes to the ecu topic. This node could be coupled with a (steering angle, acceleration) -> (servo pwm, throttle pwm) translator node in the future to fully decouple the controllers from low level details.
The creation of a cruise control node and associated launch file to demonstrate the use of the arduino_interface.py node.

I applied a lot of whitespace corrections to a few files (arduino and pid.py) so as usual to view the substantive changes alone, use ?w=0 https://github.com/BARCproject/barc/pull/8/files?w=0

Note: new users will need to run scripts/install_enable_interrupt.sh before applying the new arduino code


Add Dockerfile for running raiko-host and raiko-guest

@johntaiko can you please review and check if that works for you? Just run:
docker-compose run --rm raiko

It runs both raiko-host and using port 9090 by default. You can send requests to the running container with:
curl --location --request POST 'http://<CONTAINER_IP>:9090/' --header 'Content-Type: application/json' --data-raw '{
  "jsonrpc": "2.0",
  "id": 1,
  "method": "proof",
  "params": [
    {
      "type": "Sgx",
      "l2Rpc": "https://rpc.internal.taiko.xyz",
      "l1Rpc": "https://l1rpc.internal.taiko.xyz",
      "block": 2,
      "prover": "0x70997970C51812dc3A010C7d01b50e0d17dc79C8",
      "graffiti": "0000000000000000000000000000000000000000000000000000000000000000"
    }
  ]
}'

@johntaiko I think you can merge it now. Feel free to review it again. Just please don't introduce any untested code changes anymore. Thanks!


global custom sortCaret

Is this feature requested before?
There was this PR but it got closed https://github.com/react-bootstrap-table/react-bootstrap-table2/pull/407
Is your feature request related to a problem? Please describe.
The sortCaret is customizable on a per-column basis while generally we need an unique customization of the caret for all our tables and columns
Describe the solution you'd like
While the problem can somehow be solved via CSS overrides, the strict DOM structure (order, caret) does not allow a good customization. In our case we would like to keep both carets (up and down) even when there is one active.
Describe alternatives you've considered
Setting the same sortCaret in every column, but it creates more code boilerplate and IMHO is counterintuitive. Is like we would have to set global styles on every columns.
Additional context

⬆ Carets are hard to customize

hello @stilllife00 thanks for this suggestion, would you please give me some example to describe how will you like to custom the sort, it will also be better to show me which part of DOM you feel is not good on customization, I want to consider more and know the root cause of bad customization on sorting.  Because so far I still feel sortCaret can solve at least 90% sort customization but anyway, I'm not the real user, so your any idea is very welcome.  Thanks!!

Sorry I didn't have time to prepare a codesandbox. sortCaret works but it must be specified for every table and every column we have. Imagine a project with 10 tables and 5 columns each, it means 50 rows of code used just to to include the custom caret. Caret are generally global props of a project so configured only once.
I can do the config in a common Table component with custom settings but it is a bit more complex given the fact that columns are specific to each table (but the caret is not).
So if possible it would be good imho to have a sortCaret prop at TABLE level instead of at column level.

So if possible it would be good imho to have a sortCaret prop at TABLE level instead of at column level. If it is not clear I will explain better with a codepen comparison.

I agree, I will spend some time to enhance it. thanks this idea.!

RELEASE NOTE
Now you can configure sort prop on BootstrapTable:
https://react-bootstrap-table.github.io/react-bootstrap-table2/docs/table-props.html#one-time-sorting-configuration


Handle error during setup/launch of worker in Dispatcher

Do we need some test here to check that we will raise the error and stop the worker properly.

Probably yes, but for now this only affects the aws one (and I am also not sure for aws how to reliably trigger an error, maybe by giving an non-existing AMI id).
Is there a way for the conda worker to have a failed set-up ?

Requesting an environment that does not exist
Sent from my phone - sorry to be brief and potential misspell.

Address instance not launching properly - so hopefully can close #243

ping @maikia @agramfort


Import error with idna version

Hello,
I recently upgraded to 2.12 and I started to see this import error:

(Pdb) request('get', url, params=params, **kwargs)
*** ImportError: No module named uts46data

Looking in the changes I saw that it was recently added idna.
My projects are using import hooks and inside of it the hook use requests.
The code of idna is doing an import inside the method uts46_remap, which is breaking my code.
Moving the import uts46_remap outside fixes this issue.

Closed for reasons discussed in #3819.


Create new lambda with default settings

Memory - blah, timeout - blah, Role -- something sensible

Role will be specified by psychic_disco.config.default_iam_role in config file

Fixed in ba158570


Show scrollbar on hover

Is there any way to show the scrollbar only on hover ?

Yes, just extend the css
On Mon, Jun 29, 2015 at 2:28 PM, Ritesh Kumar<EMAIL_ADDRESS>wrote:

Is there any way to show the scrollbar only on hover ?
—
Reply to this email directly or view it on GitHub
https://github.com/asafdav/ng-scrollbar/issues/42.

Thanks for the great module. It really awesome!
Not sure this is right method, but i managed to show the scrollbar on hover by extending the css class as follows:
/*
 * ng-scrollbar show scrollbar when hover
 */
 .ngsb-wrap .ngsb-scrollbar {
  width: 16px;
  height: 100%;
  top: 0;
  right: 0;
  opacity: 0;
  filter: "alpha(opacity=0)";
  -ms-filter: "alpha(opacity=0)";
  transition: opacity .1s linear; // Add bit of transition (todo: browser prefix)
  /* old ie */
}

Looks great, if you want you can update the README so others can benefit
from this.
On Thu, Jul 9, 2015 at 10:54 AM, Gayan Virajith<EMAIL_ADDRESS>wrote:

Thanks for the great module. It really awesome!
Not sure this is right method, but i managed to show the scrollbar on
hover by extending the css class as follows:
/*

ng-scrollbar show scrollbar when hover
/
.ngsb-wrap .ngsb-scrollbar {
width: 16px;
height: 100%;
top: 0;
right: 0;
opacity: 0;
filter: "alpha(opacity=0)";
-ms-filter: "alpha(opacity=0)";
transition: opacity .1s linear; // Add bit of transition (todo: browser prefix)
/ old ie */
}

—
Reply to this email directly or view it on GitHub
https://github.com/asafdav/ng-scrollbar/issues/42#issuecomment-119862144
.


Select paging item + scroll to item

Hey!
Two questions/feedbacks :)
In the readme, about the "Selecting items" section, you mention :
override func viewDidLoad() {   super.viewDidLoad()   if let first = pagingViewController.items.first {     pagingViewController.select(pagingItem: first)   } }
But it seems there isn't a property "items". The property seems to be accessible only from the dataSource property. Or do I'm missing something ?
My second point is about another problem. I'm using Parchment with a side menu. When I change from "option A" to "option B" in my menu, the parchment collection focus is not resetted to the default item selected in the B parchment collection. The collection is still on the previous position selected in "menu A". Not easy to explain :) (If in "option B", I choose the last item in the menu which is at position 15 for exemple, when I'm going to "option A" having the first item selected, I don't see it. The collectview A is still at the same position it was with "option B")
I don't find a way to be able to "scroll" directly to the current item selected. I saw there is the option "select", but it doesn't work if the item is already selected. Is there another solution ? Or maybe I'm missing something again ? :D
Thanks for your help !

Btw, the only way seems to do :
                 self.pagingViewController.collectionView.scrollToItem(at: IndexPath(index: 0), at: .left, animated: true)
To be able to scroll the menu to an item already selected.

Hi @Myste1. Looks like the documentation is wrong. The items are available under the visibleItems property. E.g:
if let first = pagingViewController.visibleItems.items.first {
    pagingViewController.select(pagingItem: first)
}

Regarding the other issue you are having, I'm not sure I understand exactly. Is the problem that the collection view doesn't scroll to the selected item when using the select(pagingItem:) method? Do you have some code examples you could share?

Hi,
Yep it should be nice to change the doc about that :)
Regarding the other issuee, the code will not help I think. I should record the problem but I can't do it bc it's a private app :/
Maybe I can describe the issue in another way:

If my first item is selected, but I scroll to the last item on the paging and so I don't see anymore the first item selected. Is there any method to be able to focus again on the first item ?

I just find this "trick" to do it : "self.pagingViewController.collectionView.scrollToItem(at: IndexPath(index: 0), at: .left, animated: true)"

Do you have a lot of items in the menu? The visibleItems property will only contain the items that are currently on the screen, so that might be the problem you're having. Have you tried using the select(index:) method? If you're using the infiniteDataSource you can't use that method, but you can select the first paging item by creating the actual PagingItem struct you're using and selecting that. E.g. select(pagingItem: PagingTitleItem(title: "View 0", index: 0). Does that work for you?

Ok, I didn't know the method "select(index:)" was not available for infiniteDataSource. Maybe it should be specificied in the method description ?
Otherwise, I'm using PagingViewControllerDataSource and it doesn't work :/  But I checked quickly in the func select(pagingItem: PagingItem, animated: Bool) method and it seems you're are trying to use "visibleItems" in the method. So, if this property contains only the items on the screen, maybe it should be the problem and explain why I can't scroll on my first item which is not visible anymore ?
Btw, thank you for the lib, it's really helpful.

Hey @Myste1! I'm not sure when this was fixed, but it seems like it's now possible to select items that are not visible on the screen, so I will just close this one. I've updated the calendar example to illustrate your use-case


MGDOBR-151: implement Webhook action

MGDOBR-151
Please make sure that your PR meets the following requirements:

[x] Your code is properly formatted according to this configuration
[x] Your commit messages are clear and reference the JIRA issue e.g: "[MGDOBR-1] - $clear_explanation_of_what_you_did"
[x] All new functionality is tested
[x] Pull Request title is properly formatted: MGDOBR-XYZ Subject
[x] Pull Request contains link to the JIRA issue
[x] Pull Request contains link to any dependent or related Pull Request
[x] Pull Request contains description of the issue
[x] Pull Request does not include fixes for issues other than the main ticket

shard is going to be thrown away very soon with #135 . All the changes should be applied to shard-operator instead

@r00ta I just removed all the changes to the shard module, that were only refactoring :+1:


Multi asset support

Hello.
Will submit-api be ready for Mary hard fork (sending multi asset txs)? You mention that cardano-rest will survive Mary hard fork, but does that mean that signed multi-asset txs will go through?
Thanks

@xdzurman Will submit-api be ready for Mary hard fork
Yes.

(sending multi asset txs)?
No.

The submit-api from cardano-rest is now deprecated and, although this repository will survive the Mary hard-fork (as it survives the Allegra one), it will however not include any features introduced after Shelley. The submit-api would expect transactions in the Shelley format and will choke on any features that are Allegra or Mary-specific.
We strongly suggest to switch to better alternatives with more support such as:

https://github.com/input-output-hk/cardano-graphql
https://github.com/input-output-hk/cardano-rosetta

Here's a migration guide to help transitioning: https://input-output-hk.github.io/cardano-rest/migration-guide/


Bug with tables with triggers in database

Describe the bug
Triggers in database seem to cause this error with BulkSaveChanges
The target table 't' of the DML statement cannot have any enabled triggers if the statement contains an OUTPUT clause without INTO clause.
To Reproduce

Have a entity mapped to a table with trigger(s)
Add entities to that dbset
Call BulkSaveChanges

Expected behavior
The added entities are added to the entity table and the db rows added by the trigger are also included in the db.

This issue was fixed in v1.8.4. In order to use it though, you will have to disable the autoMapOut feature so any auto-generated fields from the database will not be automatically populated like an Id field.
int rowsAffected = dbContext.BulkSaveChanges(autoMapOutput:false);


Normalize git path to fix Windows drive letters

Fixes #1607.
Someone should test this on Linux and Mac to ensure I didn't break anything.

This PR is obsoleted by #1603, which fixed #1607 in a better way.


Bug/change error message external ml worker not connected

quick fix

@thomasabou01 , could you get rid of unrelated H2O and Tensorflow tests in this PR?


poet sometimes fails to select latest version because its method of accessing PyPI returns the wrong version

I ran into this issue while using poet. I'm fairly confident it's not your fault, but I thought you'd be interested in following the issue:
https://github.com/pypa/warehouse/issues/1996

Thanks for the report! I've seen something like this before; I suspect fastly caches HTTP/1.1 and HTTP/2 traffic separately, which explains the different result in the browser. Anyway, it should become consistent eventually.


DL-17: Ledger allocator pool should be able to use hostname to distinguish write proxies

…guish write proxies

Awesome, @jayk-juma ! Thank you for the contribution. This is really good.


[Bug]: Samza AsyncDoFnRunnerTest.testSimplePipeline is flaky

What happened?
On an unrelated PR, this failure occurred: https://ci-beam.apache.org/job/beam_PreCommit_Java_Commit/24482/testReport/junit/org.apache.beam.runners.samza.runtime/AsyncDoFnRunnerTest/testSimplePipeline/
java.lang.AssertionError: MapElements/Map/ParMultiDo(Anonymous).output:
Expected: iterable with items [<1>, <4>, <9>, <16>, <25>] in any order
     but: no item matches: <4>, <9>, <16>, <25> in [<1>]
	at org.apache.beam.sdk.testing.PAssert$PAssertionSite.capture(PAssert.java:175)
	at org.apache.beam.sdk.testing.PAssert.that(PAssert.java:460)
	at org.apache.beam.sdk.testing.PAssert.that(PAssert.java:452)
	at org.apache.beam.runners.samza.runtime.AsyncDoFnRunnerTest.testSimplePipeline(AsyncDoFnRunnerTest.java:82)

Issue Priority
Priority: 1
Issue Component
Component: runner-samza

https://ci-beam.apache.org/job/beam_PreCommit_Java_Phrase/5806/ could be another

@xinyuiscool do you have any insight into this flaky test?

@kennknowles : yes, it was a bug in Samza that the shutdown doesn't wait for all the futures being completed (it's not expecting bounded streams with async processing). I will disable these tests for now and reenable after samza runner has the fix.


Add Solr and JDK compatibility tests

As the source code for the supported Solr version 7.x and 8.x (and 9.x on the horizon) diverges, we should add integration tests for the complete build. As #107 arose the first JDK12 compatiblity issue, we should also test against different JDKs.
I'd propose Docker based integration test that (for the sake of simplicity) use the official Solr images and their underlying JDK. We could run a simple install/query test suite against those images.
With the implementation of #76 we could extend this to using the Solr Plugin system.

Thank you!
I agree in general. I'd try not to tie us to the Java versions of the official Solr Docker images but go back to the Solr minimum requirements. This means Java 8 (and higher) for up to Solr 8, and probably Java 11 (and higher) from Solr 9 (the official Docker image uses OpenJDK 11 for Solr 8).
In terms of which Solr version we actively support in Querqy, we've had an 'unofficial policy' to support one major version back. That means, that we would drop Querqy development for Solr 7.x, once Solr 9 is out.
It also is a bit of a pain to release Querqy for older than the current Solr (minor) version. At the moment we are lucky: Solr 8.1-8.7 is all the same Querqy version, but we also create a release for 8.0 and one for 7.2-7.7. Backporting changes works reasonably well (doing git merge --no-ff --no-commit <newerbranch> gets you quite far). But still we not only have to run the unit tests but also fire up a Solr in that older version and try out the new plugin version there, using some real data and queries. This is where automating the process via Docker could be a great help.
Re the plugin system: as far as I can see this is just a matter of deployment, nothing we have to provide, users could still wrap their own descriptor & package. We could use that to deploy Querqy within our Docker but I wouldn't see it as an artefact that we provide. (We can still provide it, but probably not as part of this issue.)

Thank you!
I agree in general. I'd try not to tie us to the Java versions of the official Solr Docker images but go back to the Solr minimum requirements. This means Java 8 (and higher) for up to Solr 8, and probably Java 11 (and higher) from Solr 9 (the official Docker image uses OpenJDK 11 for Solr 8).
In terms of which Solr version we actively support in Querqy, we've had an 'unofficial policy' to support one major version back. That means, that we would drop Querqy development for Solr 7.x, once Solr 9 is out.
It also is a bit of a pain to release Querqy for older than the current Solr (minor) version. At the moment we are lucky: Solr 8.1-8.7 is all the same Querqy version, but we also create a release for 8.0 and one for 7.2-7.7. Backporting changes works reasonably well (doing git merge --no-ff --no-commit <newerbranch> gets you quite far). But still we not only have to run the unit tests but also fire up a Solr in that older version and try out the new plugin version there, using some real data and queries. This is where automating the process via Docker could be a great help.
Re the plugin system: as far as I can see this is just a matter of deployment, nothing we have to provide, users could still wrap their own descriptor & package. We could use that to deploy Querqy within our Docker but I wouldn't see it as an artefact that we provide. (We can still provide it, but probably not as part of this issue.)

Re the Java minimum requirements: Let's try a two step process where we

use the official Docker images and their baked in JRE(11)
change the baked in JRE to the minimum requirements. This means to rebuild each and every Solr version with each and every OpenJDK available. This is doable by copying the original Dockerfile and string manipulating the FROM line. But building each matrix version (Solr x JDK) and testing will take some time ...

Re the Java minimum requirements: Let's try a two step process where we

use the official Docker images and their baked in JRE(11)
change the baked in JRE to the minimum requirements. This means to rebuild each and every Solr version with each and every OpenJDK available. This is doable by copying the original Dockerfile and string manipulating the FROM line. But building each matrix version (Solr x JDK) and testing will take some time ...

The harness for integration tests with the official Docker images is running. They are deactivated by default as they take ~5m. To run the integration tests:
mvn -DskipITs=false verify

Next step is to add some documents to Solr and acutally query them. Any suggestions. I'd like to keep the test short as unit test should cover basic failures.

The harness for integration tests with the official Docker images is running. They are deactivated by default as they take ~5m. To run the integration tests:
mvn -DskipITs=false verify

Next step is to add some documents to Solr and acutally query them. Any suggestions. I'd like to keep the test short as unit test should cover basic failures.

You can use the dataset mentioned in https://github.com/querqy/chorus/issues/32 (plus the schema etc. from the Chorus project)

You can use the dataset mentioned in https://github.com/querqy/chorus/issues/32 (plus the schema etc. from the Chorus project)

@renekrie: Unfortunately the dataset is not gzipped (as the file extension suggest). Any chance that you re-upload a gzipped version. That would decrease the whopping 35MB file size :-/

@renekrie: Unfortunately the dataset is not gzipped (as the file extension suggest). Any chance that you re-upload a gzipped version. That would decrease the whopping 35MB file size :-/

The integration tests are now utilizing the chorus schema and dataset. The current state of work can be found here. There are several things that block creating a Pull Request right now:

The dataset needs to be re-gzipped and uploaded.
I cannot get documents to appear in searches in Solr 8.1 - Solr 8.4. Indexing and committing works fine but the integration tests are failing for those versions. Any help or idea is greatly appreciated here!

Execute the integration tests: mvn -DskipITs=false verify
Debug the integration tests: mvn -DskipITs=false -Dmaven.failsafe.debug verify. The debugger will block and wait for a connection on port 5005

The integration tests are now utilizing the chorus schema and dataset. The current state of work can be found here. There are several things that block creating a Pull Request right now:

The dataset needs to be re-gzipped and uploaded.
I cannot get documents to appear in searches in Solr 8.1 - Solr 8.4. Indexing and committing works fine but the integration tests are failing for those versions. Any help or idea is greatly appreciated here!

Execute the integration tests: mvn -DskipITs=false verify
Debug the integration tests: mvn -DskipITs=false -Dmaven.failsafe.debug verify. The debugger will block and wait for a connection on port 5005

Re 2: do you have any stacktrace etc.?

Re 2: do you have any stacktrace etc.?

Hm, the data set is 6MB on the server. Can you try the same @tboeghk:
curl -XGET  'https://querqy.org/datasets/icecat/icecat-products-w_price-19k-20201127.tar.gz' > x.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 6419k  100 6419k    0     0  1638k      0  0:00:03  0:00:03 --:--:-- 1637k

Hm, the data set is 6MB on the server. Can you try the same @tboeghk:
curl -XGET  'https://querqy.org/datasets/icecat/icecat-products-w_price-19k-20201127.tar.gz' > x.tar.gz
  % Total    % Received % Xferd  Average Speed   Time    Time     Time  Current
                                 Dload  Upload   Total   Spent    Left  Speed
100 6419k  100 6419k    0     0  1638k      0  0:00:03  0:00:03 --:--:-- 1637k

Unfortunately not. The documents seem to be indexed and committed (visible in Schema -> Field -> Terms), but they do not appear in any search endpoint.
From Solr 8.5 on, everything is fine

Unfortunately not. The documents seem to be indexed and committed (visible in Schema -> Field -> Terms), but they do not appear in any search endpoint.
From Solr 8.5 on, everything is fine

So...    Do we need to really support 8.1 to 8.4.... ;-)

So...    Do we need to really support 8.1 to 8.4.... ;-)

Yes, the latest 7.x even @epugh

Yes, the latest 7.x even @epugh

I wanted to dig into this...   mvn integration-test doesn't seem to run the docker tests, I only get the regular ones:
Tests run: 238, Failures: 0, Errors: 0, Skipped: 0
and a
[INFO] --- maven-failsafe-plugin:3.0.0-M5:integration-test (default) @ querqy-solr ---
[INFO] Tests are skipped.
which appears suspicious!

I wanted to dig into this...   mvn integration-test doesn't seem to run the docker tests, I only get the regular ones:
Tests run: 238, Failures: 0, Errors: 0, Skipped: 0
and a
[INFO] --- maven-failsafe-plugin:3.0.0-M5:integration-test (default) @ querqy-solr ---
[INFO] Tests are skipped.
which appears suspicious!

@renekrie Investigating ... strange things happen here ...

@renekrie Investigating ... strange things happen here ...

I got the same test failures on Solr 8.1 through 8.4.   I uncommented out the download step in the POM and it worked for me.

I got the same test failures on Solr 8.1 through 8.4.   I uncommented out the download step in the POM and it worked for me.

I got this sorted out: the /select request handler in the chorus schema is not ideally configured (uses appends) and the maven-download-plugin expects a *.tgzfile.
I fixed both issues and re-uploaded the dataset to https://space.thiswayup.de/icecat-products-w_price-19k-20201127.tgz.

I got this sorted out: the /select request handler in the chorus schema is not ideally configured (uses appends) and the maven-download-plugin expects a *.tgzfile.
I fixed both issues and re-uploaded the dataset to https://space.thiswayup.de/icecat-products-w_price-19k-20201127.tgz.

I got this sorted out: the /select request handler in the chorus schema is not ideally configured (uses appends) and the maven-download-plugin expects a *.tgzfile.
I fixed both issues and re-uploaded the dataset to https://space.thiswayup.de/icecat-products-w_price-19k-20201127.tgz.

Do you have a recommendation for waht the /select should be?

@epugh I think we can go without the append in Chorus once we use the smaller dataset. I want to put a licence note into the 19k file before uploading it to querqy.org - Could you index from such a multi-entry archive file in Chorus?

Let’s try it!   I don’t love the way the indexing goes right now anyway..   the “ship massive doc to Solr and then index” is really really really really inefficient.   Why don’t you open a new ticket to deal with this and I’ll pick it up.

On Feb 1, 2021, at 9:36 AM, René Kriegler<EMAIL_ADDRESS>wrote:
@epugh https://github.com/epugh I think we can go without the append in Chorus once we use the smaller dataset. I want to put a licence note into the 19k file before uploading it to querqy.org - Could you index from such a multi-entry archive file in Chorus?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub https://github.com/querqy/querqy/issues/141#issuecomment-770902462, or unsubscribe https://github.com/notifications/unsubscribe-auth/AAAFO64M3RLQNGXQ765UKBDS4235JANCNFSM4WSLGZUA.

Eric Pugh | Founder & CEO | OpenSource Connections, LLC |<PHONE_NUMBER> | http://www.opensourceconnections.com http://www.opensourceconnections.com/ | My Free/Busy http://tinyurl.com/eric-cal
Co-Author: Apache Solr Enterprise Search Server, 3rd Ed https://www.packtpub.com/big-data-and-business-intelligence/apache-solr-enterprise-search-server-third-edition-raw
This e-mail and all contents, including attachments, is considered to be Company Confidential unless explicitly stated otherwise, regardless of whether attachments are marked as such.

@epugh I like to keep the /select handler as simple as possible. The problem in this case was the usage of appends in the handler definition. Just like the invariants there is no way to overwrite them from the request params. Bottom line: "the simpler the better". I use this definition now:
<requestHandler name="/select" class="solr.SearchHandler">
    <lst name="defaults">
      <str name="echoParams">explicit</str>
      <str name="indent">true</str>
    </lst>
  </requestHandler>

@Eric The Chorus issue for using a smaller dataset for indexing is https://github.com/querqy/chorus/issues/32. I think we could at least get rid of append in solrconfig.xml by this - at least a first step.


Remove internal PyCapsule objects

They are not needed since they are not exposed to userland Python code,
so embed pointers to the right C structured in the PyObject type.
PS: @MelindaShore this PR goes agains the 'develop' branch.

Many thanks for the fix!  Sorry not to have taken care of it last week, but I was away.


Change title and it's color

Look away if you don't want to se.

You should not play with commit messages!


Support for stop_grace_period

If my docker-compose file containesstop_grace_period directive I get this error.
$ libcompose up
WARN[0000] Note: This is an experimental alternate implementation of the Compose CLI (https://github.com/docker/compose)
ERRO[0000] Could not parse config for project komposefiles : Unsupported config option for web service: 'stop_grace_period'
FATA[0000] Failed to read project: Unsupported config option for web service: 'stop_grace_period'

docker-compose file
version: "2"
services:
  web:
    image: tuna/docker-counter23
    stop_grace_period: 1s
    ports:
      - "5000:5000"
  redis:
    image: redis:3.0
    ports:
      - "6379"

You need to check the docker compose version in your docker compose file.
Use version 3 and above.
Use can follow this documentation.
https://docs.docker.com/compose/compose-file/#stop_grace_period


go_containerregistry download url hash changed

switch to git commit
Signed-off-by: Michael Henriksen<EMAIL_ADDRESS>
What this PR does / why we need it:
Not exactly sure what's going on here but it appears that the contents of https://api.github.com/repos/google/go-containerregistry/tarball/efb2d62d93a7705315b841d0544cb5b13565ff2a changed.  Rather than using the new hash, maybe it's better to use git commit like other deps such as org_golang_x_crypto com_github_masterzen_simplexml, etc
Which issue(s) this PR fixes (optional, in fixes #<issue number>(, fixes #<issue_number>, ...) format, will close the issue(s) when PR gets merged):
Fixes #
Special notes for your reviewer:
Release note:

NONE

/lgtm

cc @dhiller @rmohr

Yes, that can happen when github changes something on how they generate the tar archive: https://github.com/bazelbuild/rules_docker/issues/1814#issuecomment-826073515.
/lgtm
/approve
/retest

/retest-required