LazyMetadataWrapper not super performant

When querying attribute data - multiple times - for lazy imports, I see that a significant amount of time is spent In LazyMetadataWrapper.

Why the need to copy the arrays like that? What would be your recommendation here? Should the consumer cache the metadata?

It's been a long time since I looked at this code, but it looks like TypeRef.Get already has something like instance caching:
https://github.com/microsoft/vs-mef/blob/c3eef68be6eec67ab90a82c8eb4100e1641cba53/src/Microsoft.VisualStudio.Composition/Reflection/TypeRef.cs#L256
Have you confirmed that in fact the cost here is paid multiple times for the same type?
I don't see us copying arrays as much as filtering and transforming them:
https://github.com/microsoft/vs-mef/blob/c3eef68be6eec67ab90a82c8eb4100e1641cba53/src/Microsoft.VisualStudio.Composition/Reflection/TypeRef.cs#L104-L106
But as this includes a few linq extension methods in a row, I suspect this could be optimized.

The performance problem is seen only when loading the MEF graph from a serialized file.
Also, I was performing a lookup multiple times. Hence, I was reading the ISomeMetadata metadata from a number of imported Lazy<IThing, ISomeMetadata>. Something like this:
lazyImports.Where(t => t.Metadata.MyTypeProperty == inputType);

Putting the SomeMetadataProperty value in a dictionary improves the performance, but you'd have to agree that this is a bit cumbersome:
// The metadata interface...
public interface ISomeMetadata
{
    Type MyTypeProperty { get; }
    Type OtherProperty { get; }
}

// And later I cache it:
private Dictionary<ISomeMetadata, Type> metadataCache;

More details
For 179 imported Lazy<IThing, ISomeMetadata> I got the following numbers when profiling:

Time spent in SubstituteValueIfRequired: 4005 ms
Number of calls: 6265
Number of TypeRef constructor calls: 216 912


Toast manager api improvements related to #374

ToastManager api changes related to issue #374

Changes visibility of private member variables and methods to protected to allow customization by extension.
Adds support for 'center' alignment of toasts on 'top' and 'bottom' edges.
Updates tests and change log to reflect changes.

Thanks!


Automatically locate imported FF .opml feeds

Livemarks is a sanity-saving(!!) extension to restore my old RSS feeds -- thank you! But I have (had) quite a few RSS feeds, and manually moving each one to its original location (in my case, in folders in the Bookmarks Toolbar) is incredibly tedious.
Describe the solution you'd like
When importing "Firefox feeds backup.opml", automatically search through the user's existing bookmarks tree by feed name (or at least give the user the option of doing so). These were preserved as static links, in place, starting with FF 64. If an exact match is found, place each imported feed in the same location (adjacent to the original, now-static link), or just replace the corresponding static link with the newly-operational livemark folder.
Describe alternatives you've considered
As far as I can see, doing this manually is the only way to restore the original functionality.
Not a coder myself, but happy to assist in testing proposed patches.

(This should obviously have the label "Nice to have", but I can't figure out how to add it to the issue/feature request -- sorry...)


Fixed MonoModConstructor

Dunno if there's a better util function to use instead of this substring stuff, but I needed this working

Looks great! I'll need to check if it breaks other existing mods / mod loaders, though.
cc @ZandrXandr can you please test this PR against the games you're modding right now? Or at least hand out a test build of Partiality to a small group.

I'll just merge this and force everyone to adapt to this instead.


Change instructions so users will be added by creating an issue

Overview
TL;DR
This changes the instructions so users will be added by creating an issue rather than commenting on an existing issue.
This will need to be merged at the same time as this related pull request in another repository having to do with managing the webhook.
This solves several problems:

Users have been creating issues instead of commenting by mistake
Threads can only have 2500 comments, which we have maxed out

Next Steps

[ ] Test and get 👍

Review
@github/services-training How does this look? Is this a direction we want to go?

🚢-ing thanks to @stoe's fantastic work in https://github.com/githubteacher/practice-sinatra/pull/4
🎉


2 more enable options: BUILD_RUNTIME and BUILD_SAMPLES

To be honest I don't like who we named these options. They should be BUILD_TOOLS, BUILD_SAMPLES, etc. I remained with ENABLE_* just for consistency with ENABLE_TOOLS. @onabiull : do we have consensus to rename these to BUILD_*? I will update PR then...

This PR was merged as part of https://github.com/Intel-Media-SDK/MediaSDK/pull/503.


light-weight demo

Even with the best possible outcome of #128, the images are still going to be big. After all we are using java, nginx, rabbitmq, etc, etc.
So I assembled a simulation of weavesock. This has the same structure as the real thing but only requires a single 9MB image. The whole thing downloads and launches from a completely blank (zero images) machine in 6 seconds!
Here is a screen shot of what you get:

And here's the compose output, which looks rather prettier than the real demo:

The thing to do here then is to

[ ] move the code into this repo
[ ] switch image name to something under weaveworksdemos
[ ] ditch the primary docker-compose.yml and move docker-compose-weavesock.yml in its pace
[ ] improve the suggested steps in the README.md so that they become more of a guided tour of Scope
[ ] switch the instructions on the Weave Cloud org page to point at this rather than the main docker-only demo

All assuming that we think this is a good idea :) @pidster

The other advantage of this over the real demo app is that it it consumes far fewer resources on the host machine, and does not need a load generator.

This is great.
The code could live under a top-level directory called /micro-sock/.
The compose file should live under deploy/micro-sock/docker-compose.yml.

Another improvement that came up in discussion is that we could add an http endpoint to the edge_router that serves some static html+images with some of the contents of the README.
This will bloat the download somewhat though since it really needs to be a different executable - wouldn't want to clutter the exceedingly simple dummi/main.go with an http handler. Entails some refactoring too since that exe has to serve http and do the dummi/main.go stuff.

@rade Where is the code for this? I'd recommend having it in a separate repo under MD/. It's confusing enough already.

Where is the code for this?

See link in first comment.

This project has been imported under the Microservices Demo organisation (https://github.com/microservices-demo/micro-sock). Also added a documentation page on how to use it to quickly launch a Docker Compose + Weave Scope to display the simulated Sock Shop topology on Weave Cloud: https://microservices-demo.github.io/microservices-demo/deployment/micro-sock.html.


The bag register can't register bags with lots of files

We got this error from the bag register when ingesting a bag with ~37k files yesterday (https://wellcome-ingest-inspector.glitch.me/ingests/07aa0a30-7536-4030-bbd4-5eee7051ee84):
java.lang.Exception: 413 Request Entity Too Large for POST to IngestsTracker

Looks like we need to increase the size of an Akka setting in the register/tracker.

I pushed https://github.com/wellcomecollection/ingest-inspector/commit/e32d8a8ddfdbdb1f127ddd1572cba448bf7575c9 to link to bag register logs from the ingest inspector.

Fixed!


CLI using Click

Issue #431

This is a rough draft

So far I have added all commands for node (adding more in new commits)

My plan is to put all commands in this PR. That will make the PR huge, but since most of the pattern will be repeated so it might not be as difficult to review.

In another PR I'll move the serve and serve_networks command to hil-admin and the entry_points mechanism

Finally, right now we just dump the output of the api calls (see show_node), in some other PR we'll clean that output to make it human readable.

Collaborative effort with @xuhang57

Thanks and just a quick question. Should we call it newcli? I thought we are replacing the old cli.

you are right, ill delete the old file and rename this to cli.

looking at the diff is terrible right now because the whole file has changed.

To summarize,

hil node connect network <node> <network> <nic> <channel>
vs.
hil node network connect <node> <network> <nic> <channel>

I am fine with either way. We should make a decision and proceed.
Just one minor thing bugs me that:
hil project node xxx
hil node project xxx
could be a bit confused on some occasions.

okay, now that I have split it up into different modules, I am going to address reviewers comments.

I have added all commands now except for show_network_action. Any ideas how should it read?

Why not just hil network-action show?

hil network-action show

cool, will do that. I'll put it in cli/misc.py

I have added all commands now except for show_network_action. Any ideas how should it read?

My thought on that is, this should be like hil version, which is a standalone command.
So we may group them together? Or we should put in the hil network?
for example, hil network show-action?

hil network-action show works too.
so if we have more than one more for objects or actions, we should use - to connect them.

no, networking-action command has little to do with the nework object. The version command would go in misc.py but Click had a nice way of implementing it by putting the decorator on top of my cli group.

@zenhack @xuhang57 I think this is ready for review.
Note:
The command for granting projects access to a network is in the network module, not project because that's how our api is network//project/. If you guys agree, I can move it to project module.

I am just tempted to move the serve, serve_networks and create_admin_user commands to hil-admin script in this PR.

hil-admin runserver -p PORT already exists, then why did we implement hil serve PORT ?

if hil help is more intuitive than hil --help, we could figure out a way that maps hil help to hil --help.
For reference, git help and git --help both bring up the usage of git CLI.
Also, if we want to make the hil CLI more intuitive, we should add more docstring, which gives the users more information about the CLI and we should have a good guide for the users to read. And that should suffice.

@xuhang57
for example, something like hil help network create and hil network create --help feel nearly equally valid, and I too have seen other CLIs which support both. (But keep in mind we can't actually use the string help as a positional argument in a command... for example hil network create help would be ambiguous... is help the name of some parameter (like network name) or the actual call for help.)

sure, and I tried it out using git:
(.venv) ➜ ubuntu@hil-dev  ~/naved/hil git:(click-cli) git fetch help
fatal: 'help' does not appear to be a git repository
fatal: Could not read from remote repository.

Please make sure you have the correct access rights
and the repository exists.

and using hil:
(.venv) ➜ ubuntu@hil-dev  ~/naved/hil git:(click-cli) hil network help
Usage: hil network [OPTIONS] COMMAND [ARGS]...

Error: No such command "help".

I would say click handles that ok?

@SahilTikale as Sahil points out, we should make the CLI more intuitive. But I don't think we have a critical disadvantage of using click and we should be working together to make the CLI more institutive with using click.

whoever reviews this, please try running it too to get the feel of the CLI.

It feels really awkward to have the server-side commands in here. I think at some point (maybe now, but I could be convinced either way)

I'll do that in the next commit along with the changes you suggested for those commands.

Quoting Lucas H. Xu (2018-03-14 22:11:36)

maybe we should do nic-name

Can't, because it's a python variable name. Fine though, as it's not
part of the CLI's output.

Note to myself: Need to update the docs too since a lot of commands would have changed.

@naved001 It's up to you whether to have a CLI guide along with the docs or having two separate files. 👍

@xuhang57 I mean in the installation docs for developers and some place else we have a bunch of hil commands. That would need to be updated.

@zenhack @Izhmash @xuhang57
I think I have addressed your comments, it's ready for another pass.

So I just learned that click automatically supports tab auto-completion.  Do we want to add some documentation on how to allow it? All you need to do for HIL is add eval "$(_HIL_COMPLETE=source hil)" to .bashrc

#950 is merged now, so it's no longer blocking switch_register

Pull Request Test Coverage Report for Build 1775

27 of 351 (7.69%) changed or added relevant lines in 10 files are covered.
No unchanged relevant lines lost coverage.
Overall coverage decreased (-3.6%) to 56.183%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

hil/cli/misc.py
0
6
0.0%

hil/cli/cli.py
0
20
0.0%

hil/commands/admin.py
27
49
55.1%

hil/cli/user.py
0
24
0.0%

hil/cli/port.py
0
30
0.0%

hil/cli/project.py
0
30
0.0%

hil/cli/client_setup.py
0
34
0.0%

hil/cli/network.py
0
38
0.0%

hil/cli/switch.py
0
42
0.0%

hil/cli/node.py
0
78
0.0%

Totals

Change from base Build 1772:
-3.6%

Covered Lines:
1999

Relevant Lines:
3558

💛  - Coveralls

@jeremyfreudberg I couldn't figure out how to always show optional arguments in usage (without typing --help). One alternative is to make those 2 optional arguments as positional arguments that aren't required.
(.venv) naved:~/click/hil$hil network create
Usage: hil network create [OPTIONS] NETWORK OWNER [ACCESS] [NET_ID]

so if they want to skip access, they can type '' for that. I think this is how the current cli handles this.
I think this is the only call that has 2 optional arguments.

@zenhack @xuhang57 @Izhmash addressed all your comments. Still need to add file for tab completion. And now it's passing travis checks too.

testing CLI is difficult. I don't know how we should approach this.

@zenhack @xuhang57
I have added some integration tests for the CLI.

I could test all the remaining cli commands to it, if it doesn't feel like an overkill.
Split that big function into multiple ones, but that would require me to use different objects in different functions because they could be run in parallel.

I'll wait for reviewers before I spend more time on that.

I feel like I should still include the calls for headnode functionality since it is still a part of the codebase.

@zenhack
could you review this? Thanks!

I'm happy with how this is now. After Travis is all set it'll get my +1

just noticed that in docs/USING.rst the curl commands with json body need to set the content-type to application/json which can be specified by -H "Content-Type: application/json". Don't know if I should include it in this PR since I am touching the file here, but then this PR is big as it is. I'll do whatever the reviewers are comfortable with. LMK.

I would recommend you just update that. It is CLI related so.

Quoting Naved Ansari (2018-04-02 09:06:56)

Just for the convenience, so that I could quickly type the commands in
the tests.
hil('node metadata add', NODE1, 'metadata-label metadata-value') vs
hil('node', 'metadata', 'add', NODE1, 'metadata-label',
'metadata-value'). If you think it's not the right way to do it, I
don't mind changing it.

Yeah, I think it would be better to stick to one command argument per
function argument.

I think it would be better to stick to one command argument per function argument.

@zenhack okay, changed it.

LGTM, merged.


What is the maximum number of extensions that we can block ?

[Enter feedback here]
Has there any max number of extensions we can add to the following location

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: a3a0cebd-7e82-6631-bdee-031b3b84f74d
Version Independent ID: ee04db29-a6db-2874-2573-d80f0b415308
Content: Block syncing of specific file types - OneDrive
Content Source: OneDrive/block-file-types.md
Service: one-drive
GitHub Login: @kaarins
Microsoft Alias: kaarins

from my testing , it seems like 510 is the limit. But would like to confirm if this is a hardlimit ?

Thank you for submitting feedback.
I think the best way forward is if you open a service ticket in your tenant so this can get resolved ASAP. Based on the outcome let me know if it is something that can be called out in the docs.
Please follow this link to contact support for business products:https://docs.microsoft.com/office365/admin/contact-support-for-business-products
Please keep us posted here on the resolution so we can feed whatever information you discover into the content.


Attaching a Floating IP to an OpenStack node does not work with new versions

Summary
Attaching a Floating IP to an OpenStack node does not work with new versions
Detailed Information
POST /servers/{server_id}/action
Add (Associate) Floating Ip (addFloatingIp Action) (DEPRECATED)
This API is deprecated and will fail with a 404 starting from microversion 2.44. This is replaced with using the Neutron networking service API.
See details:
https://docs.openstack.org/api-ref/compute/?expanded=show-server-details-detail,add-associate-floating-ip-addfloatingip-action-deprecated-detail#update-server

This bug is related with #1648 and it fails only when ex_force_microversion is set to a version higher than 2.44.


LIO-SAM do not work with sample .bag files

Hello, I am trying to run liosam with sample bag files but I have a few problems.
livox_horizon.bag

I keep getting this errors.
However , rarely liosam works and console gives no errors but the map constructed by liosam is meaningless and console gives theese warnings

campus_small_dataset.bag
I do not get any errors with this bag but I can't see anything on rviz neither. What is the exact problem here?

Hi, to get LIO-SAM to work to that point, what configurations did you used in the params.yaml?
Did you also implement these changes from issue 323 ?


Updated spanish translation

Hi Team
These are the changes that need to be made after reviewing the entire Spanish translation file.
I take the initiative and here is my contribution @manutuero
This is my personal user on github, @dany-loveevents is the company user.
I would like to leave the issue of ra-core and extension versions to you.
Thanks!

Hi @ddanielroche,
Thanks for your initiative and contribution to the Spanish translation. I really appreciate your effort.
I’m currently tied up with a major project delivery, so I won’t have time to work on this for the next few weeks.
Since you’ve already started, could you continue with the modifications? I’ll review everything once you’re done.
Thanks for understanding and your help.
Best,

Hi @ddanielroche
Perfect. I think that it's a good idea.


Issue with get_objects_sextractor method from photometry.py

Hi @karpov-sv!
I've been working on integrating stdpipe with SkyPortal (https://github.com/skyportal/skyportal) and the get_objects_sextractor has been giving me errors consistently.
This was working just fine about a month and a half ago. I guess that some changes made to newer versions of astropy or even python (those are 2 things I updated since then) could have broken it.
This ver minor change should fix it.
Thanks!

Hi Theo,
Could you please specify what Python version you are using when it's not working? It is supposed to be an "official" way of checking whether the key is in the dictionary, so I'd prefer not to change it except they made some backward-incompatible change in the language

Yes, indeed you are right, that's not a dict there.
Sorry for confusion!
Merged it.


Better log on failure to parse metric value

What does this PR do?
Better log on failure to parse metric value
Motivation
Help support

Closing, we already log those info at


Use an API call to check for new versions instead of git ls-remote

When using this resource with a webhook trigger, the resource sometimes fails to detect new pull request because Bitbucket calls the webhook URL before creating the refs in the git repository.
Since the resource used git ls-remote to check for new PRs, it happens often that the repo is not ready when the check is done, and then no new version is detected and no job is started.
This commit change the behavior of the check command to use an API call to get the pull requests, which will hopefully be up to date when the webhook calls for the update.
Since we don't have access to the pull-request/<id>/merge hash from the API, the structure of the version is slightly changed :

hash is replace by from_hash and to_hash, pointing to the HEAD of the source and target branches
to_hash is only populated when the source indicates that a new build is to be made when the target change. This ensure that a new version is made only when needed.

I'm sorry this pull request has been open for this long. I'll review it and merge it. Is there anything you would change about it since so much time has gone by?


[SPARK-25986][Build] Banning throw new OutOfMemoryErrors

What changes were proposed in this pull request?
Add scala and java lint check rules to ban the usage of throw new OutOfMemoryErrors cause it will cause hole executor killed. See more details in https://github.com/apache/spark/pull/22969.
How was this patch tested?
Local test with lint-scala and lint-java.

Test build #98637 has started for PR 22989 at commit d678751.

Test build #98637 has finished for PR 22989 at commit d678751.

This patch fails due to an unknown error code, -9.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/98637/
Test FAILed.

retest this please.

Test build #98649 has started for PR 22989 at commit d678751.

Test build #98649 has finished for PR 22989 at commit d678751.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/98649/
Test PASSed.

Honestly it is bad style to throw any Error class, except in sepcial situations. I'd prefer a rule banning all of these and fix up any instances in the code or else exclude them

and catching Error or Throwable..

Sorry for late reply, great thanks for all reviewer's advise, will address them soon.

cc all reviewer, as @srowen's suggestion, add a rule to ban all of new Error cases.
List currently throw new XXXError in Spark source below and record fix up or exclude for review conveniently:

ErrorName
Count
In Test/Source Code
Fix Up or Exclude

AssertionError
32
29 in test code
Exclude

2 in UnsafeAlignedOffset
Fix up by changing them to IllegalArgumentException

1 in KafkaUtils
Just exclude cause fix it will cause behavior change

NotImplementedError
22
7 in source code/ 15 in test cases
Fix up by changing them to UnsupportedOperationException

OutOfMemoryError
1
1 in test code
Exclude

LinkageError
1
1 in test code
Exclude

SparkOutOfMemoryError
5
5 in source code
Exclude

UnknownError
9
5 in source code/ 4 in test cases
Fix up by changing to IllegalAccessException  and IllegalArgumentException

All above done in 6e49bb8.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4952/
Test PASSed.

Test build #98731 has started for PR 22989 at commit 6e49bb8.

Test build #98731 has finished for PR 22989 at commit 6e49bb8.

This patch fails to build.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/98731/
Test FAILed.

AssertionError in tests is wrong. It should really just call fail(). If you're willing to fix that, it would be a great cleanup.
The AssertionError in UnsafeAlignedOffset is legitimate and can be excluded.
I would fix the AssertionError in KafkaUtils. That one is clearly an illegal argument check.
Agree about the rest. Thanks for the great analysis @xuanyuanking

Test build #98749 has started for PR 22989 at commit ff234d3.

@srowen Great thanks for your guidance, address all your suggestion in ff234d3 and update the record table in https://github.com/apache/spark/pull/22989#issuecomment-437939830.

Test build #98749 has finished for PR 22989 at commit ff234d3.

This patch fails Spark unit tests.
This patch merges cleanly.
This patch adds no public classes.

Test build #98770 has started for PR 22989 at commit a4f49ce.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/4980/
Test PASSed.

Test build #98770 has finished for PR 22989 at commit a4f49ce.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/98770/
Test PASSed.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/testing-k8s-prb-make-spark-distribution-unified/5024/
Test PASSed.

Test build #98826 has started for PR 22989 at commit 210d942.

Test build #98826 has finished for PR 22989 at commit 210d942.

This patch passes all tests.
This patch merges cleanly.
This patch adds no public classes.

Merged build finished. Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins//job/SparkPullRequestBuilder/98826/
Test PASSed.

Merged to master

Thanks @HyukjinKwon @viirya @felixcheung @srowen for your review and advise!


Unexpected signal during runtime execution

This happens when running tests:
fatal error: unexpected signal during runtime execution
[signal SIGSEGV: segmentation violation code=0x1 addr=0x1f146af00 pc=0x7f42d0fc7207]

runtime stack:
runtime.throw(0x75b263, 0x2a)
        /usr/lib/go-1.10/src/runtime/panic.go:616 +0x81
runtime.sigpanic()
        /usr/lib/go-1.10/src/runtime/signal_unix.go:372 +0x28e

goroutine 22 [syscall]:
runtime.cgocall(0x69f870, 0xc420035f20, 0x27)
        /usr/lib/go-1.10/src/runtime/cgocall.go:128 +0x64 fp=0xc420035ee0 sp=0xc420035ea8 pc=0x405a24
github.com/deuill/go-php._C2func_engine_init(0x0, 0x0, 0x0)
        _cgo_gotypes.go:420 +0x56 fp=0xc420035f20 sp=0xc420035ee0 pc=0x692656
github.com/deuill/go-php.New(0x5bb35b12, 0x9c3a8e4, 0x5f511f9)
        /mnt/c/Tools/cygwin/home/friebe/devel/go/src/github.com/deuill/go-php/engine.go:44 +0x36 fp=0xc420035f80 sp=0xc420035f20 pc=0x694ab6
github.com/deuill/go-php.TestValueStart(0xc4200131d0)
        /mnt/c/Tools/cygwin/home/friebe/devel/go/src/github.com/deuill/go-php/value_test.go:13 +0x22 fp=0xc420035fa8 sp=0xc420035f80 pc=0x6905a2
testing.tRunner(0xc4200131d0, 0x764430)
        /usr/lib/go-1.10/src/testing/testing.go:777 +0xd0 fp=0xc420035fd0 sp=0xc420035fa8 pc=0x4e0a40
runtime.goexit()
        /usr/lib/go-1.10/src/runtime/asm_amd64.s:2361 +0x1 fp=0xc420035fd8 sp=0xc420035fd0 pc=0x45d861
created by testing.(*T).Run
        /usr/lib/go-1.10/src/testing/testing.go:824 +0x2e0

goroutine 1 [chan receive]:
testing.(*T).Run(0xc4200131d0, 0x750f3d, 0xe, 0x764430, 0x47b901)
        /usr/lib/go-1.10/src/testing/testing.go:825 +0x301
testing.runTests.func1(0xc4200121e0)
        /usr/lib/go-1.10/src/testing/testing.go:1063 +0x64
testing.tRunner(0xc4200121e0, 0xc420059df8)
        /usr/lib/go-1.10/src/testing/testing.go:777 +0xd0
testing.runTests(0xc4201002e0, 0xae2c80, 0x1d, 0x1d, 0x4143c9)
        /usr/lib/go-1.10/src/testing/testing.go:1061 +0x2c4
testing.(*M).Run(0xc420116000, 0x0)
        /usr/lib/go-1.10/src/testing/testing.go:978 +0x171
main.main()
        _testmain.go:98 +0x151
FAIL    github.com/deuill/go-php        0.146s

Some research shows that is has to do with accessing receivers after a context is destroyed.

Everything works fine if I remove the TestReceiverDestroy test and move the cleanup code before the c.Destroy() inside TestReceiverDefine:
$ git diff
diff --git a/receiver_test.go b/receiver_test.go
index 8c662b0..fa3130c 100644
--- a/receiver_test.go
+++ b/receiver_test.go
@@ -149,13 +149,6 @@ func TestReceiverDefine(t *testing.T) {
                }
        }

-       c.Destroy()
-}
-
-func TestReceiverDestroy(t *testing.T) {
-       c, _ := e.NewContext()
-       defer c.Destroy()
-
        r := e.receivers["TestReceiver"]
        if r == nil {
                t.Fatalf("Receiver.Destroy(): Could not find defined receiver")
@@ -166,8 +159,7 @@ func TestReceiverDestroy(t *testing.T) {
                t.Errorf("Receiver.Destroy(): Did not set internal fields to `nil`")
        }

-       // Attempting to destroy a receiver twice should be a no-op.
-       r.Destroy()
+       c.Destroy()
 }

 func TestReceiverEnd(t *testing.T) {

GDB isn't super helpful as I'm not using a PHP7 library with debug enabled, but here it is anyway:
Thread 1 "tests" received signal SIGSEGV, Segmentation fault.
tcache_get (tc_idx=1) at malloc.c:2943
2943    malloc.c: No such file or directory.
(gdb) bt
#0  tcache_get (tc_idx=1) at malloc.c:2943
#1  __GI___libc_malloc (bytes=32) at malloc.c:3050
#2  0x00007ffffefba139 in __zend_malloc () from /usr/lib/libphp7.so
#3  0x00007fffff01202a in zend_interned_strings_init () from /usr/lib/libphp7.so
#4  0x00007ffffefe5771 in ?? () from /usr/lib/libphp7.so
#5  0x00007ffffef80d1a in php_module_startup () from /usr/lib/libphp7.so
#6  0x00000000006a0d38 in engine_init () at engine.c:123
#7  0x00000000006a0358 in _cgo_16684e298d85_C2func_engine_init (v=0xc420031720) at cgo-gcc-prolog:61
#8  0x000000000045c520 in runtime.asmcgocall () at /usr/lib/go-1.10/src/runtime/asm_amd64.s:688
#9  0x0000000000000002 in ?? ()
#10 0x0000000000000000 in ?? ()

Looks like php_request_shutdown(), which is called from Context.Destroy, is causing some parts of what Engine.Define is creating to be removed again, see https://github.com/php/php-src/blob/master/main/main.c#L1952-L1956 (which even includes a cautionary comment 😜)
/* 15. Free Willy (here be crashes) */
zend_interned_strings_deactivate();

My educated guess is that https://github.com/php/php-src/blob/master/Zend/zend_API.c#L2726, which is what is called from do_register_internal_class(), is causing this:
lowercase_name = zend_new_interned_string(lowercase_name);

Seems as if this part of the API wasn't mean to be used that way.

Another observation: Calling Engine.Define before a context has been created also causes a segfault:
package main

import (
	"fmt"
	php "github.com/deuill/go-php"
	"os"
)

type Watcher struct {
	Path string
}

func NewWatcher(args []interface{}) interface{} {
	if len(args) > 0 {
		if path, ok := args[0].(string); ok {
			return &Watcher{path}
		}
	}
	return nil
}

func main() {
	engine, err := php.New()
	if err != nil {
		fmt.Printf("Could not create a new engine: %v\n", err)
		return
	}
	defer engine.Destroy()

	engine.Define("Watcher", NewWatcher)
	fmt.Printf("Engine %+v\n", engine)

	context, err := engine.NewContext()
	if err != nil {
		fmt.Printf("Could not create a new context: %v\n", err)
		return
	}
	defer context.Destroy()

	context.Output = os.Stdout

	context.Eval("var_dump(new Watcher('Test'));")
}

GDB:
Thread 1 "create" received signal SIGSEGV, Segmentation fault.
0x00007fffff011e5a in ?? () from /usr/lib/libphp7.so
(gdb) bt
#0  0x00007fffff011e5a in ?? () from /usr/lib/libphp7.so
#1  0x0000000000648932 in receiver_define (name=0xc23ed0 "Watcher") at receiver.c:163
#2  0x0000000000457bc0 in runtime.asmcgocall () at /usr/lib/go-1.10/src/runtime/asm_amd64.s:688
#3  0x00007ffffffde600 in ?? ()
#4  0x0000000000455821 in runtime.exitsyscallfast.func1 () at /usr/lib/go-1.10/src/runtime/proc.go:3039
#5  0x00000000004563e9 in runtime.systemstack () at /usr/lib/go-1.10/src/runtime/asm_amd64.s:409
#6  0x0000000000431d60 in ?? () at /usr/lib/go-1.10/src/runtime/proc.go:1092
#7  0x0000000000000000 in ?? ()

The code at receiver.c:163 is:
INIT_CLASS_ENTRY_EX(tmp, name, strlen(name), NULL);


Value will be cleared in Headers with only one backspace hit

Describe the bug

I just hit backspace only once:

It happens when this is edited at first time(e.g. after refresh)
Version

Browser

[x] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[ ] macOS
[x] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

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

Expected behavior

Screenshots

Additional context

related to #2566

addressed via https://github.com/microsoft/BotFramework-Composer/pull/2592


GUI/Control node in Viewport tree does not preview in layout mode in editor

Godot version:
3.2.1.stable
OS/device including version:
Windows10
Issue description:
The main scene of the demo, gui_in_3d.tscn, includes the scene gui_panel_3d.tscn which contains a Viewport and a 2D GUI Control CanvasItem node.  This 2D GUI Control node contains a panel with some buttons, sliders and other GUI components.
When you run the demo, the code in gui_3d.gd maps mouse click events on the 3D rendered image to mouse click events on the 2D GUI Control, and it all works fine.
But, when you select the GUI in the node tree to make changes to the layout, all you see is a blank grey rectangle in the editor.
There's also a second problem -- if you merge the nodes from the scene into the main scene (to avoid the complexity of having a subscene), then the GUI panel appears as a black rectangle in 3D with no texture.  The mouse clicks still work, though.
It is a common requirement for little text based notices to appear in 3D above an object, for example to identify the object's name or to briefly flash up the points score for having shot it.  The use of a Viewport is currently the only way for producing this feature.  It would be nice if there was something like a TextTexture that could get it done in a more light-weight manner.
Steps to reproduce:
Load the gui_in_3d demo project
You can preview the gui_panel_3d.tscn scene in in 3D, like so:

But when you select the GUI Control node, the preview is blank:

One work-around is to temporarily drag the GUI Control node out of the Viewport node, make changes, and then drag it back into the Viewport node, but this shouldn't be necessary.

Minimal reproduction project:
Problem is produced directly on the demo project here:
https://github.com/godotengine/godot-demo-projects/tree/master/viewport/gui_in_3d

I'm fairly sure there's an open issue about this already, but I can't find it right now.

It was mentioned several times, yes, but I'm not sure we have a dedicated issue about it.

I don't think this is a bug. The GUI is in another Viewport from editor's and with this scene setup it has nowhere to render to.

I am not sure what to classify it as, but it's a real annoyance for working with 2d in 3d and the reverse...

Moving the control node out of the viewport temporarily also means you don't get the boundaries of that viewport in the editor, which can make framing and sizing elements more difficult, although a possible workaround is to use guides.

I think this is also tied to https://github.com/godotengine/godot/issues/11727
(It seemed impossible for me to find this issue using the github search engine, and I was reduced to going back through my contribution history to look for it.)
I just wanted to report a workflow work-around I'm using, which is to make a Control node as a sibling to the Viewport called "ViewportFake" and then put the following code in the _ready() function
	var fgui = $ViewportFake.get_node_or_null("GUI")
	if fgui != null:
		$ViewportFake.remove_child(fgui)
		$Viewport.add_child(fgui)

Now I can happily iterate on my GUI design and keep rerunning the game without too much hassle.  Unfortunately if there is more than one GUI panel it will show up in the same 2D preview because there is only one.


2 scroll bars appears

After install hyper-cat my hyper terminal have vertical and horizontal scroll bars there.
Which is not beautiful, anyway to remove them?

after I completely quit hyper and start. it works find without scroll bars now.


sys.argv[3]  ：  IndexError: list index out of range

hello, nice project ! Its very useful.
But I have a question :May I ask what is the reason for this error?
sys.argv[3]  ：  IndexError: list index out of range

I think you are not passing all the arguments needed.


Support for Ladder Side Tuning (LST)

Feature request
Hello
Are there any plans for integrating Ladder Side Tuning (LST) into this library?
References
Repo: https://github.com/ylsung/Ladder-Side-Tuning/tree/main
Paper: https://arxiv.org/abs/2206.06522
Motivation
The paper proposes a method that is more efficient in terms of GPU memory and shows competitive results compared to LoRA and IA3. It would be a valuable addition to this repository.
Your contribution
I am very interested in understanding the challenges and discussing an implementation plan. Unfortunately, I don't have the bandwidth to work on this at the moment.

Thanks for bringing this to our radar, the method looks interesting indeed. Right now, we don't have it on our roadmap. To the community: Please let us know if you are interested in having this method in PEFT (or even better, if you are interested in adding it).


V-model on a component - Error

Vue.js version
2.0.2
What is actually happening?
Hi, i'm new on VueJS and i'm making a chat following a tutorial.
in the tutorial, the guy puts a v-model in a component, and when i doing this, not work, the component not shown and the console answer "text is not defined"
I not used jsfiddle because he want a HTTPS request, and my server don't have.
So a put a dontpad repository
http://dontpad.com/vuejs-forum
The problem it's in the input with id "problem".
Thanks.

Please make sure to read the Issue Reporting Guidelines before opening new issues. Questions should be posted to the forum or StackOverflow. Thanks.


[DOC] Security mixed configuration in PKCS docs with keystore_keypassword and keystore_password

What do you want to do?

[x] Request a change to existing documentation
[ ] Add new documentation
[ ] Report a technical problem with the documentation
[ ] Other

Tell us about your request. Provide a summary of the request.
First section of the docs lists following configuration option:
plugins.security.ssl.http.keystore_password
Later section which splits out client and server, lists following options:
plugins.security.ssl.transport.server.keystore_keypassword # Not keystore_password plugins.security.ssl.transport.client.keystore_keypassword # Not keystore_password
Bug raised to determine which is indeed required or both are in 2.18.0?
Version: 2.18.0
What other resources are available? Provide links to related issues, POCs, steps for testing, etc.
https://github.com/opensearch-project/security/issues/4961

@cwperks: Do you have any insight on this one? Can't find anything in the code that would explain the shift, but I likely don't know what I'm looking for.

@WillyBorankin is this related to https://github.com/opensearch-project/security/pull/4671?


MemoryError: std::bad_alloc

Thanks for sharing the code. When I try to train a softgroup, the memory consumption increases slowly. When training to 100 epochs, the following error occurred:
Traceback (most recent call last):   File "/home/logic/Desktop/Project/SoftGroup/train.py", line 220, in <module>     train_epoch(dataset.train_data_loader, model, model_fn, optimizer, epoch)   File "/home/logic/Desktop/Project/SoftGroup/train.py", line 61, in train_epoch     loss, _, visual_dict, meter_dict = model_fn(batch, model, epoch, semantic_only=cfg.semantic_only)   File "/home/logic/Desktop/Project/SoftGroup/model/softgroup/softgroup.py", line 556, in model_fn     ret = model(input_, p2v_map, coords_float, coords[:, 0].int(), batch_offsets, epoch, 'train', semantic_only=semantic_only)   File "/home/logic/anaconda3/envs/hais/lib/python3.7/site-packages/torch/nn/modules/module.py", line 532, in __call__     result = self.forward(*input, **kwargs)   File "/home/logic/Desktop/Project/SoftGroup/model/softgroup/softgroup.py", line 429, in forward     input_feats, inp_map = self.clusters_voxelization(proposals_idx, proposals_offset, output_feats, coords, self.score_fullscale, self.score_scale, self.score_mode)   File "/home/logic/Desktop/Project/SoftGroup/model/softgroup/softgroup.py", line 255, in clusters_voxelization     out_coords, inp_map, out_map = softgroup_ops.voxelization_idx(clusters_coords, int(clusters_idx[-1, 0]) + 1, mode)   File "/home/logic/Desktop/Project/SoftGroup/lib/softgroup_ops/functions/softgroup_ops.py", line 209, in forward     SOFTGROUP_OP.voxelize_idx(coords, output_coords, input_map, output_map, batchsize, mode) MemoryError: std::bad_alloc
Have you encountered a similar problem, and can you provide some suggestions for solving this problem?

You mean the memory consumption is RAM memory or GPU memory. What dataset and config are you training. Are you using the code from latest commit? I haven't encountered this problem.

Thank you for reply. I mean the RAM memory. I train the model with ScanNet by default config. I have tried the latest commit, but this problem still happened.

 I am training now on the ScanNet dataset, and the RAM mem is stable at ~10G.

Thanks for your suggestion, I will try this solution.

Hi. Please check the update, which support pytorch 1.11 and spconv 2.1. The memory leak problem is also fixed.


Current redux state is not written to disk properly

Hi @JulianKingman , how are you doing? we meet an issue that current redux state cannot properly/correctly be written disk which leads to a wrong rehydration.. The process can be seen as follows:

We have one resource to show which is stored in resources collection

After we add one more resource to database and delete it, everything works correctly.

But after we refresh the app, current redux state is rehydrated to the state after we added the second resource.

Is this because redux-persist doesn't write the current redux state to disk properly or we hit command + R which is hot reload and just happen in simulator? Any suggestions, please?
Here is the persistStore configuration:
const persistor = persistStore(MeteorStore, {   storage: AsyncStorage,   keyPrefix: 'react-native-meteor-redux',   debounce: 1000 }, () => {   MeteorStore.loaded(); });
Regards,

You're not doing anything wrong, that's an issue with the way it's currently written (#24). After a connection is restored, it should (but doesn't) diff the collections. It's a difficult problem, because you want to store any documents that have been accessed, not just those from the current subscription.
To accomplish this, I'll have to store each subscription and a list of documents it includes. I don't think this will be too hard or expensive, we'll see. props go to GroundDB for solving a similar problem (https://github.com/GroundMeteor/subscriptions/blob/master/subscriptions.client.js). Let me give this a shot, maybe I can fix #27 while I'm at it.

Thanks Julian. Much appreciated.
We think this library saves us a lot of work and is really useful to us.
We look forward to seeing the updates.
Thanks,

Great :)
It turns out subscription info is not really available for individual documents, as they're all combined on the server by the publications. I'll give this some more thought.

Hi @JulianKingman , how is it going?

Hi @JulianKingman wondering if you've had any more thought on this or a better approach package to deal with offline?

Sorry I've been MIA, it's been a busy few weeks and I haven't had an immediate need for this. I've got an update that will improve performance quite a bit, and I'll add a 'dumb' implementation for removing docs at least, until I can figure out a smart one.

This should be working/fixed in v 2.0

Cool. This works perfectly in our project.
Thank you very much, Julian.
Much appreciated.


Time Slider: There is no year 0

In the Gregorian calendar there is no year 0.

Dates skip directly from -0001-12-31 to 0001-01-01
The delta between June 30 +1 and June 30 -1 is not 2 years, but 1 year.

For UI purposes, this is an Interesting quirk, since input[type-"range"] form controls do not allow for individual values being skipped. It may be necessary to write something new completely from scratch.
┆Created By: Dan Rademacher

Seems like we've adapted to this OK for now. Closing out until there's a clear need to address this date problem.


SecretStoreRetrySettings.RetryInterval should be *metav1.Duration instead of a pointer of string

Describe the bug
SecretStoreRetrySettings.RetryInterval is currently a pointer of string, but it should have been *metav1.Duration to avoid unnecessary conversion in the first place.
Additional context
We may be able to resolve the issue when we release v1 since it is a breaking change.

can I take up this issue ?

@moolen.
I have a few doubts

yq syntax seems outdated. Is there a specific version to use
How to generate helm files under deploy/charts/external-secrets/templates/crds.
On running make helm.generate it is trying to modify files from this location. But how to get them in first place is not clear.

It will help me close this ticket if you can guide me here. Thanks

1: this is the yq we use (there are other applications with the same name on github): https://github.com/mikefarah/yq
2: How to generate helm files under deploy/charts/external-secrets/templates/crds these are autogenerated and are in .gitignore, you shouldn't need to worry about them.
i hope that helps, let me know if you have any other questions :bow:


URL shortener logic : passed URL length as an option to the helper

Added the support for trimming the URL by certain length in order to display smaller URLs in webpages.
For example :
{{ linkify "http://emberjs.com/" urlLength=10 }} becomes
"http://emb..."

This is awesome! Thanks!

Published to npm as<EMAIL_ADDRESS>


Fix Bugs/Issues of PowerFlow

Closes #44 #43 #40 #41

@GabrielKS @jd-lara The bug in the Q redistribution was that the units was hitting limits in iterative process of the remaining Q, but it was not correctly substracted to the residual in that case. This was fixed by replacing reallocated_q += q_frac by  reallocated_q += q_set_point - current_q and properly checking the condition of the limits by using q_frac + current_q rather than the clamped value.

Regarding the tests: Tests are failing for the net_flows with the update of #41.
@GabrielKS @jd-lara Let me know if we are OK with adding the symmetrical and I will update the tests to change the zeros for negative values if needed, or going back to only having one direction and the other zero.

Regarding the tests: Tests are failing for the net_flows with the update of #41.
@GabrielKS @jd-lara Let me know if we are OK with adding the symmetrical and I will update the tests to change the zeros for negative values if needed, or going back to only having one direction and the other zero.

I like the behavior you have implemented.

@GabrielKS It is ready for review.
There is now one kwarg when calling solve_ac_powerflow!: max_redistribution_iterations that controls the max number of redistribution iterations


How to list the directory tree of a remote repository or branch ?

I found that ListTree()

So this one can be closed again (if you found it already)?


[sciter-js] Update to <IP_ADDRESS>

Update Sciter JS to <IP_ADDRESS>

[x] Changes comply with the maintainer guide
[x] SHA512s are updated for each updated download
[x] The "supports" clause reflects platforms that may be fixed by this new version
[x] Any fixed CI baseline entries are removed from that file.
[x] Any patches that are no longer applied are deleted from the port's directory.
[x] The version database is fixed by rerunning ./vcpkg x-add-version --all and committing the result.
[x] Only one version is added to each modified port's versions file.

Note: I will be converting your PR to draft status. When you respond, please revert to "ready for review".
That way, I can be aware that you've responded since you can't modify the tags.

It took so long that another version was released with all the changes... I updated the PR


Composer 2 support

As composer 2 is coming, it would be good to support it here.
From looking at your code, IMO the best way would be to tag a new release 2.0, which supports Composer 1, and 2 together. You can check  if (defined('Composer\Composer::RUNTIME_API_VERSION') && version_compare(Composer\Composer::RUNTIME_API_VERSION, '2.0', '>=')) { ..composer2 behavior .. } else { composer 1..}
For v2, you can not just call download as in https://github.com/jakoch/phantomjs-installer/blob/master/src/PhantomInstaller/Installer.php#L190 - that will not do what you want anymore, and it uses async code which is rather messy to tap into like that.
You should instead do this:
$loop = $composer->getLoop()
$promise = $installationManager->download($package, $targetDir);
if ($promise) {
    $loop->wait(array($promise));
}
$promise = $installationManager->prepare('install', $package, $targetDir);
if ($promise) {
    $loop->wait(array($promise));
}
$promise = $installationManager->install($package, $targetDir);
if ($promise) {
    $loop->wait(array($promise));
}
$promise = $installationManager->cleanup('install', $package, $targetDir);
if ($promise) {
    $loop->wait(array($promise));
}

As an aside, I wonder if it wouldn't be better to let users specify the version they want to install in the root package's extra (like you have cdnurl option right now), instead of having a direct mapping of package version to phantomjs version..

Thank you for looking at the code and providing these upgrade hints, Jordi! ❤

$loop = $composer->getLoop()

Whoaa.. this is new! Finally, we can reach the inner download loop.

let users specify the version they want to install in the root package's extra

Yes, that's way cleaner and also easy to add. TY for the suggestion.

Hey guys
We checked composer v2 compatibility and stumbled upon this ticket.
It seems this one here is the only issue left for us to try and use v2.
Is there any plan from your side to release a new version here based on the fix above?
Thank you!

Composer 2 support landed.
I removed the direct mapping of package version to phantomjs version.
To indicate the BC break i'v tagged the version as v3.0.0.


what commitments of proxies do you rely on?

I am trying to grok how SES works, so am reading all the code.
A comment in the source of this module says "we rely upon certain commitments of Object.freeze and proxies here get stable/immutable outbound links before a Proxy has a chance to do something sneaky" then the next line getPrototypeOf is used
https://github.com/Agoric/make-hardener/blob/master/src/index.js#L107-L111
But I see that Proxies can trap calls to getPrototypeOf by "commitments" is it meant that there are certain things that code using a proxy just shouldn't do? it seems like a module exporting a proxy could easily interfer with hardening?
I also notice that proxy is in the Agoric/harden whitelist, https://github.com/Agoric/harden/blob/master/src/whitelist.js#L821 and indeed within the TinySES set
https://raw.githubusercontent.com/Agoric/Jessie/master/docs/jessie.png
Maybe it's difficult to use a proxy to attack other code, but it seems like it could definitely be used to make your own code vulnerable?

Good to see you here @dominictarr! I’m closing this issue since your question appears answered. I look forward to seeing you around.


[TACHYON-968] Worker can not re-register to master in fault tolerance mode

I left comments on what caused the problem below.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/5011/Failed Tests: 1org.tachyonproject:tachyon-integration-tests: 1tachyon.master.MasterFaultToleranceIntegrationTest.workerReRegisterTest
Test FAILed.

Test FAILed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/5013/Failed Tests: 1org.tachyonproject:tachyon-integration-tests: 1tachyon.master.MasterFaultToleranceIntegrationTest.workerReRegisterTest
Test FAILed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/5019/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/5020/
Test PASSed.

Test PASSed.
Refer to this link for build results (access rights to CI server needed):
https://amplab.cs.berkeley.edu/jenkins/job/Tachyon-Pull-Request-Builder/5022/
Test PASSed.

Thanks for this bug fix! At a high level, can the block worker just get a new workerId when it is commanded to re-register? Then, the ip doesn't have to be sent for both APIs. What do you think, @uronce-cc ?

@gpang Sounds good, then we don't need to journal workerIdGenerator's state. I'll close this PR and open another PR with this solution.


Support split jdbc table scan into multiple splits using auto-detect statistics

Relates to https://github.com/prestosql/presto/issues/389

@xumingming should you have any questions eg about considered approaches, please ping me on #dev channel on https://prestosql.io/slack.html

I'm interested in helping with this @xumingming.
Seems like a class that can be injected for JDBC based plugins like "JdbcDistributedReadStrategy" would be wise.
The default strategy provided by the BaseJdbc plugin can use SimpleReadStrategy - this implementation can be the functionality we have today, there is no distribution.
In my mind the implementation or interface absolutely needs to be implemented in the specific Plugin for a number of reasons

Differing approaches to indexes between databases
Metadata around querying indexes is different between databases
Postgres has Brin indexes - this is a good way to know the minimum and maximum for column values which can be used in determining a partitioned read strategy
Oracle stores internal histograms about the cardinality of data
Databases like Postgres allow for partitioning as well as Foreign Tables, this complexity means that the wisest way to fully read a partitioned table, would be in the manner it's currently partitioned most likely.
This huge variance in how databases may be able to hint at what columns can be used for distribution strategies when there is, or isn't an index present, or primary key means the implementation should be left up to an interface provided by the Driver as @findepi mentioned.

So then the question becomes, what information should a plugin provide, so Presto can make intelligent choices about the approach that should be used to read a table in a distributed manner.
Well first like I said, I think it makes sense to have a "DistributedReadStrategy" class that can be overridden.
Second, as far as providing common interfaces about column or table meta data...
it seems this might be useful to more than just this use case, so it should be reasonably thought out.
All information providers or methods should be optional.
For this purpose an interface such as "ColumnMetaInformation" or "ColumnStatistics"

Cardinality Histogram information, a BRIN index can help us estimate cardinality via min/max values for example if its present.
PrimaryKey information, in the presence of a primary key, max values can be retrieved without scanning the entire table; cardinality can be inferred.
Index information, is this column indexed, will queries or distinct be efficient?
Uniqueness information, is this column unique
DataType information
Table size estimate information (Postgres and other databases store estimate statistics about a tables size) - this allows us to know how much data we might be retrieving before performing a full table scan.

The Goal of the distributed JDBC reader should be to make the best reasonable guess about how many splits and simultaneous queries to perform with reasonable statistics on-hand.
Finally, a statistics cache is probably needed to achieve the best overall performance for repeated queries, but that can be thought about later.
Comments, Thoughts?

thanks @bendemott , sorry for the late response, I agree with you and @findepi these logic need to be implemented in specific db plugins.
For the first version, I will try to extract the abstract method in BaseJdbcClient and implement MySQL version in MySqlClient, and please help review when I submitted the new commits.

@findepi @bendemott Can you guys help review again?

By default, parallel-read is disabled.
Currently only mysql RANGE partition table is supported.

is this mixture of [ and ) intentional?

Intentional, the underlying mysql partition range works like this, and also most programming language do this too: lower bound inclusive, upper bound exclusive.


n8n initialization error - "/home/node/.n8n/config". It does not seem to be valid JSON."

We have still found instance of this error after #47 .

Temp fix explained here - https://community.faros.ai/docs/gotchas#n8n-initialization-error

We believe #94 removes the race condition causing this issue.


Necessary modifications to run the demo app for android and using node 4.X

older version of node-sass has issues compiling on node 4.X and hence migrating to latest version of gulp-sass which uses more recent node-sass is resolving the issue.
Was trying to run the demo on android and saw few issues. Other changesets help fix those.

This is good work; please re-issue the PR against our dev-next branch.


Interface handling improvements

Here is a running list of areas of improvement in pfSense base that will help:

A mechanism for packages to define new pseudointerface types/prefixes (either in config.xml or via some globals array). Or maybe we should abstract ALL interface types to this globals array so that packages can add entries as necessary.
Whatever mechanism, we need a way of defining capabilities...such as can this new pseudointerface type participate in LAGG, bridges, VLANs, etc. Maybe something like canLAGG, canBridge, and canVLAN. Blocking IP and MAC assignment via interfaces.php is also needed as well.
We need a concrete way for packages to create interface groups that can't be modified or deleted by customers.
In addition to number 2 above, we need a way for creating automatic gateways when appropriate.

Due to the present limitations, I have moved the address configuration for assigned wg interfaces out of the package. These interfaces will be configured using the traditional pfSense interface configurator.

I'm also closing this. It isn't necessarily imperative that the package automatically create gateways for assigned interfaces. If a user desires to route traffic over the WireGuard tunnel, the user can certainly just make their own gateway entry.


Fix RevisionAwareQueryGatewayTest test

Steps to reproduce

gateway-extension version: 0.1.2-SNAPSHOT
Axon Framework version: 4.6.1
JDK version: 11.0.5
Complete executable reproducer:
Steps: Test suddenly fails. Had to disable it to be able to proceed.

[INFO] -------------------------------------------------------
[INFO]  T E S T S
[INFO] -------------------------------------------------------
[INFO] Running io.holixon.axon.gateway.command.strategy.CompositeOrRegistrationCommandDispatchStrategyTest
[INFO] Tests run: 1, Failures: 0, Errors: 0, Skipped: 0, Time elapsed: 0.044 s - in io.holixon.axon.gateway.command.strategy.CompositeOrRegistrationCommandDispatchStrategyTest
[INFO] Running io.holixon.axon.gateway.query.RevisionAwareQueryGatewayTest
Error:  Tests run: 1, Failures: 1, Errors: 0, Skipped: 0, Time elapsed: 2.454 s <<< FAILURE! - in io.holixon.axon.gateway.query.RevisionAwareQueryGatewayTest
Error:  wait on subscription query until the result is received and cancels then  Time elapsed: 0.761 s  <<< FAILURE!
org.opentest4j.AssertionFailedError: Result future should be done now.
	at io.holixon.axon.gateway.query.RevisionAwareQueryGatewayTest.wait on subscription query until the result is received and cancels then(RevisionAwareQueryGatewayTest.kt:47)

tried to stabilize. still not clear.


[Feature Request] Shell script support for WireMock

Is your feature request related to a problem? Please describe.
I wish to use WireMock in my Maestro test flows.
My test flows would first configure the responses before starting the app.
This can be done by using the Admin API that WireMock offers and Maestro's HTTP Request support in Javascript
Therefore I wish to use the onFlowStart and onFlowComplete commands to run arbitrary scripts
flow.yaml
appId: ${APPID}
onFlowStart:
- runScript: 'start-wiremock.sh'
- runScript: "perform-http-requests-to-wiremock-to-change-stubbing.js"
onFlowComplete:
- runScript: 'stop-wiremock.sh'
---
- ...

I would stop my WireMock which each run so stubs are reset to defaults.
Currently I have no way of doing this.
Describe the solution you'd like
The runScript block should allow running arbitrary shell scripts.
Additional context
Similar to #247

This would be amazing!

it can help for now https://testableapple.com/gaining-access-to-command-line-from-maestro/

I worked around the problem by using HTTP request in JavaScript to stub WireMock requests.
However the issue is broader than just using WireMock
Ideally any arbitrary shell script can be used to extend the functionality of Maestro.
Especially in combination with the onFlowStart and onFlowComplete
For example #1253, I could simply fire these adb commands before every test run without having this built in Maestro.
In previous issues the concern was this would conflict with Maestro running in the cloud.
I'm totally fine not having this as we run Maestro purely locally.

I second the need for running arbitrary shell scripts (when running maestro locally or on self hosted ci/cd's), many times some setup or teardown on the system is required and could be synced via onFlowStart and onFlowComplete via sh scripts.
Also i've recently came across an interesting problem which could be solved if i could run sh scripts to store/share intermediary results between different maestro flows in separate instances -> https://mobile-dev-inc.slack.com/archives/C041FU72T54/p1733748442732449


Ensure name rows are unique

We import a subset of columns from the NCBI 'name' file; the file has unique rows, but by taking a subset, we sometimes remove the column that makes rows distinct. So, remove the unwanted columnd from the file, and uniqify before importing, to ensure we don't get duplicate rows in our ncbi_taxonomy db table.

Sounds good to me. This happened few times in the past but we didn't really have a fix for this in the past (we did manual SQL check...). Thanks a lot.


Score popup explanation messages

The meaning of the Scores is not evident to users. Explanation messages make the scores more actionable. For example build widget can be like this:

Code quality like this:

deploy like this:

Github is a little problamatic... the current category name "Commits per day" is flat out wrong
see #3011. If that is resolved by fixing the category name the detail would look like this:

I will wait for those changes to be merged before making PR for this.

@fidelcoria-aa which PR is dependent on this? We can prioritize merging soon.

PR #3013 should be merged first

@fidelcoria #3013 has been merged now.

@rvema Thanks! I have created the PR for this. It is mentioned above this comment.

@fidelcoria I merged #3015 as well


[base,ottf,test] Refactor ujson ottf console to support spi_device console

This PR has four commits that:

Refactor ujson ottf console and implement getc for SPI device.
Test the new getc implementation.
Refactor mem module to support the new SPI device console
Add an example test for spi_device ujson ottf console.

This fixes #21726.

cc @timothytrippel

I think you can rebase this on master now since https://github.com/lowRISC/opentitan/pull/24380 has been merged.

Upon pushing new commits, I observed that certain checks, like CW310 ROM Tests, were not executed again. Is there a way to rerun all the checks to ensure the latest commits do not break anything?

Hmm that is strange. IIRC, closing and re-opening the PR can retrigger CI. Let's try that.

The failed test pattgen_ios_test_fpga_cw310_sival in the most recent CI pipeline should be unrelated to the commits in the PR.
https://dev.azure.com/lowrisc/opentitan/_build/results?buildId=159102&view=logs&j=5011a995-22d7-5073-e1ce-26fc382a8885&t=875997a6-7e2b-594d-05e6-ce6a085f3383

I retriggered CI. Hopefully the transient error should go away. Once it passes, I will merge.


Create scraping7.rb

What the program do ?
scraoe a theme isle website
In what programming language it is written?
ruby

This pull request do not contains files in specific folders. Please fix it and reopen


feaure to : build-all, convert all, upload all?

it seems to me that the most common need for  to make a release is to

build a package for a  list of supported python versions
convert these to all platforms
upload all to anaconda.org

it sounds like this project does 1), would adding 2 and 3 be difficult?

Interesting request. If you are able to convert your distributions to all platforms, I guess you are able to build noarch packages instead?
The conda-build-all API is exposed and used by other packages (e.g. conda-smithy) - that could definitely be re-used for similar purpose to how you describe, but TBH I think putting platform information into conda-build-all is a direction that adds more complexity than it is worth.
Given that, I'm going to close this out as a WONTFIX. Let me know if there is something I've missed / there is an easy solution that you are aware of.
Cheers,


funny pathing with portal

https://imgur.com/a/8oTaQyf

legion was summoned in dalaran
exodar was invading Argus

@linaz2009 Not sure if there is anything we can do about this but I'll log it for now.

@YakaryBovine im not so sure, it might be related to #1097

it seems like the portals get set wrong? like maybe they are using the same variable?

Can't see how this could be related to #1097. I think we should just put this down to bad Waygate pathing when the Exodar is open in a particular position in Argus.