Stop using vagrant-triggers for Vagrant >= 2.1.0

When attempting to run vagrant up on Vagrant version 2.1.0 with vagrant-triggers installed, the command produces a warning and fails as a result of an exception:
$ vagrant up
WARNING: Vagrant has detected the `vagrant-triggers` plugin. This plugin conflicts
with the internal triggers implementation. Please uninstall the `vagrant-triggers`
plugin and run the command again if you wish to use the core trigger feature. To
uninstall the plugin, run the command shown below:

  vagrant plugin uninstall vagrant-triggers

Note that the community plugin `vagrant-triggers` and the core trigger feature
in Vagrant do not have compatible syntax.

To disable this warning, set the environment variable `VAGRANT_USE_VAGRANT_TRIGGERS`.
Bringing machine 'wordpress-box' up with 'virtualbox' provider...
/opt/vagrant/embedded/gems/2.1.0/gems/vagrant-2.1.0/lib/vagrant/plugin/v2/config.rb:73:in `method_missing': undefined method `before_triggers' for #<VagrantPlugins::Triggers::Config::Trigger:0x0000000100baca38> (NoMethodError)
	from /opt/vagrant/embedded/gems/2.1.0/gems/vagrant-2.1.0/lib/vagrant/plugin/v2/trigger.rb:40:in `fire_triggers'
	from /opt/vagrant/embedded/gems/2.1.0/gems/vagrant-2.1.0/lib/vagrant/machine.rb:164:in `action'
	from /opt/vagrant/embedded/gems/2.1.0/gems/vagrant-2.1.0/lib/vagrant/batch_action.rb:82:in `block (2 levels) in run'

According to https://www.vagrantup.com/docs/triggers/, it seems that Vagrant has its own trigger mechanism which conflicts with the vagrant-triggers plugin. We should probably move away from external plugins and investigate if we could start using Vagrant's own mechanism for newer Vagrant versions, and eventually deprecate the vagrant-triggers plugin.

Is there any way to bypass this issue? Or should I just downgrade vagrant to an older version (< 2.1.0)?

Hi! As a temporal workaround, you could try setting the suggested VAGRANT_USE_VAGRANT_TRIGGERS environment variable to disable the warning and see if that works for you. However, I myself have still kept to using an earlier Vagrant version (2.0.2) running on OSX.

See duplicate of this at https://github.com/Seravo/wordpress/issues/88

This will be fixed as part of a currently on-going refactoring of the whole Vagrant bootstrap process. In the mean time added this note to docs: https://github.com/Seravo/docs/commit/70bb7ec79537237ccbb476d65e22587fe349a5fd

Vagrant 2.0.4 doesn't support Virtualbox version 6.0 and Virtualbox 6.0 is the packaged version in Ubuntu 19.04 and Fedora 30.
This means that using wp-palvelu-vagrant on new distro releases even more trickery could be needed in order to make it work.

This was fixed in https://github.com/Seravo/wordpress/commit/a6bf06193af9afb4bb1b662fe1b65d465793e00f. Updating the Vagrantfile to the newest version should fix the trigger-related problems with Vagrant version 2.1.0 or later.


Import routes in customized_vue.js (not individual packs)

This fixes an error in production.
The problem is that $routes was undefined on bootstrap instances because Routes hadn't been loaded yet at the time that customized_vue.js was loaded.
This PR fixes that bug, and DRYs up the code a bit, too.

I don't understand this PR description, but ok. :-p


adding request types to communication protocol section

I think it would be useful to have a codeblock with request types outlined to demonstrate how we communicate between devices

I think it would be useful to have a codeblock with request types outlined to demonstrate how we communicate between devices

i agree <3


Premature end of JPEG file

Premature end of JPEG file
this is brain bug of tf team that can't imagine that if there is issue with image it should not be processed and should be skipped because after this error optimisation become some mess.
I get this error frequently then I try to train on some basic dataset from images downloaded from internet
Images are processed ad handled by OS and image software without problems and errors
I am using TF2.1 on conda dor windows but my problem is not that it get errors from time to time, but that TF team are not smart enough to:

print the path of file giving this error
check file health before to use it for training and if it is bad to skip it!!! or better optionally move it to some debug folder from where people could get it and inspect and analyze it, then fix it and return it back
As you understand for this issue, it is not important reason, but is important issue handling that is completely missing
error message Premature end of JPEG file is not handling of anything especially because in this case for normal people it is clear what must be done on this error

@easy-and-simple,
Could you please provide a sample code to reproduce the issue reported here, so that we can look into it. Thanks!

Hi. At the time the error is encountered, we only have a binary representation of the file contents. PRs to change the architecture/pass in more information are welcome. Or RFCs proposing a better design.
Please be respectful, consider the code of conduct. We are all human and make design mistakes

STRDYSs are realy JFGETRD
Because WTDPPR right?!

@easy-and-simple,
Could you please provide a sample code to reproduce the issue reported here, so that we can look into it. Thanks!

I started with ML and AI about 2 months ago, I am new to all this, and I can't write complicated code, so I am using code that is from github project implementing yolo2 on tensorflow.
This is more detailed error message:
Error 1:
Model.fit_generator (from tensorflow.python.keras.engine.training) is deprecated and will be removed in a future version.
Instructions for updating:
Please use Model.fit, which supports generators.
Error 2:
W tensorflow/core/kernels/data/generator_dataset_op.cc:103] Error occurred when finalizing GeneratorDataset iterator: Cancelled: Operation was cancelled
Premature end of JPEG file
Code implementing batch generator as whole project is for tensorflow v1, but is updated to tensorflow v2 using tensorflow v2 converter script and some manual changes. In general it is working but this JPEG issue is making problems because it obviously impact training algorithm by making big errors when problematic image is processed. I really doubt that problem is in image because windows process all images without errors and I make thumbnails for them
`class BatchGenerator(Sequence):
def init(self,
netin_gen,
netout_gen,
yolo_box,
img_aug,
annotations,
batch_size,
repeat_times):
"""
# Args
annotations : Annotations instance
    """
    self._netin_gen = netin_gen
    self._netout_gen = netout_gen
    self._img_aug = img_aug
    self._yolo_box = yolo_box

    self._batch_size = min(batch_size, len(annotations)*repeat_times)
    self._repeat_times = repeat_times
    self.annotations = annotations
    self.counter = 0

def __len__(self):
    return int(len(self.annotations) * self._repeat_times /self._batch_size)

def __getitem__(self, idx):
    """
    # Args
        idx : batch index
    """
    x_batch = []
    y_batch= []
    for i in range(self._batch_size):
        # 1. get input file & its annotation
        fname = self.annotations.fname(self._batch_size*idx + i)
        boxes = self.annotations.boxes(self._batch_size*idx + i)
        labels = self.annotations.code_labels(self._batch_size*idx + i)

        # 2. read image in fixed size
        img, boxes = self._img_aug.imread(fname, boxes)

        # 3. grid scaling centroid boxes
        norm_boxes = self._yolo_box.trans(boxes)

        # 4. generate x_batch
        x_batch.append(self._netin_gen.run(img))
        y_batch.append(self._netout_gen.run(norm_boxes, labels))

    x_batch = np.array(x_batch)
    y_batch = np.array(y_batch)
    self.counter += 1
    return x_batch, y_batch

def on_epoch_end(self):
    self.annotations.shuffle()
    self.counter = 0

`

@easy-and-simple,

Error 1:
Model.fit_generator (from tensorflow.python.keras.engine.training) is deprecated and will be removed in a future version.
Instructions for updating:
Please use Model.fit, which supports generators.

This issue has already been addressed here #38938 and has been fixed in TF v2.3.0rc1.

Error 2:
W tensorflow/core/kernels/data/generator_dataset_op.cc:103] Error occurred when finalizing GeneratorDataset iterator: Cancelled: Operation was cancelled
Premature end of JPEG file

Similarly, this warning too has been addressed in multiple issues previously. Please take a look at these duplicates #35100, #37515, #34156, #37324.
Hope this helps. Please feel free to close the issue if resolved. Thanks!

Are you in mind?!

Obviously for google work only morons!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
I hope this farm for real morons google will bankrupt soon

@easy-and-simple Please read code of conduct before posting any queries and be respectful as advised in earlier post. The issue tracker is for Tensorflow feature requests or bug reports. Please refrain from posting inappropriate comments. If any functionality or feature does not work to your satisfaction, please let us know, as each feedback is valuable to us. Tensorflow team will be happy to address them. Were you able to go over the information provided by @amahendrakar. Again, we can only help if you restrict your posts to product issues and not personal rants.

Is this issue is fixed or not? If someone is asking a question you should provide the exact resolution not some reference link to other issue on which this issues is subpart of. M using TF-GPU 2.3.1 as object detection and I am having the same issue while training the model. So, is there exist any resolution of this issue or not ? If exist what is the changes i need to make in the TF package because i just created record file and fed it to the model and it pops me this error.

Please open new issue and fill in issue template, provide a minimal reproducer.

This issue arises if your JPEG file isn't written or saved properly e.g. if your script is running and you interrupt it while cv2.imwrite or anything similar is being run at the moment and the image gets saved right before the script stops, you'll get this error if you use that image.


Time picker integration to lw project

PR Checklist
Please check if your PR fulfills the following requirements:

[ ] The commit message follows our guidelines: https://github.com/NG-ZORRO/ng-zorro-antd/blob/master/CONTRIBUTING.md#commit
[ ] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

[ ] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build related changes
[ ] CI related changes
[ ] Documentation content changes
[ ] Application (the showcase website) / infrastructure changes
[ ] Other... Please describe:

What is the current behavior?

Issue Number: N/A
What is the new behavior?
Does this PR introduce a breaking change?
[ ] Yes
[ ] No

Other information

Great job! Please increase version of this package in package.json, make it 11.3.0-2


Update spacemesh dependencies

Motivation
Dependabot seems to struggle at the moment. It hasn't created PRs for these packages within 24 hours (which it normally does) and it fails to rebase some existing PRs. I created this PR to update our own dependencies.
All of these have been updated for Go 1.20, without functional changes.
Changes

Update github.com/spacemeshos/go-scale
Update github.com/spacemeshos/fixed
Update github.com/spacemeshos/api/release/go

Test Plan

TODO

[x] Explain motivation or link existing issue(s)
[x] Test changes and document test plan
[x] Update documentation as needed
[ ] Update changelog as needed

bors merge


[CfgEditor] Fix to display cfg content initially

Until now, cfg content is not loaded initially, especially in remote-ssh environment.
It was because displaying cfg request is done even before all the elements are not ready.
This commit will fix it to request displaying cfg content after all the elements are ready.
ONE-vscode-DCO-1.0-Signed-off-by: Seok NamKoong<EMAIL_ADDRESS>

@YongseopKim
Sorry for bothering, I made code little bit more clean :(


Added my space invaders game

I have tried to model the original, and plan on coming back to this later to add new levels and a few other ideas I have but don't know how to implement yet.

An attempt at the original Space invaders game.

How do you play your game?
Press AD to move, J is a multipurpose button used to navigate(on screen instructions will specify what it will do), W to shoot.

Code
Check off the items that are true.

[x] The game was made using the Sprig editor.
[x] The game is placed in the in the /games directory.
[x] The code is significantly different from all other games in the Sprig gallery (except for games labeled "demo").
[x] The game runs without errors.
[x] The name of the file/game contains only alphanumeric characters, -s, or _s.
[x] The game name is not the same as the others from gallery

Image (If an image is used)

[ ] The image is in the /games/img directory.
[ ] The name of the image matches the name of your file.

Thanks for your PR!

@grymmy Hey grymmy, I have fixed those issue and a number of small bugs I found. If you need anything else, feel free to reach out

Congratz!  If you're a teen, and you haven't already received one, plz fill out this form to receive a Sprig device of your own!  Additionally, please feel free to join HC's Slack and share your creation in the #sprig channel!


Intermintent error "406 Not Acceptable" returned by SendGrid

Since October 6th (2020), more or less 50% of requests return with a 406 error.
It is not consistent. Same (exact) requests sometimes go well, sometimes not, seemingly randomly

406 Not Acceptable

406 Not Acceptable
nginx

Obviously I'm doing these request from GAE standard, php5.
As I say, NOT all the request.  Is like (from my infrastructure experience) is some node of the nginx cluster returns "ok" and some node returns the 406 error.

I'm getting the exact same issue


File asserts

For me, when i do assertion on a file, it is important that the File/Directory itself on the filesystem is the same for expected and actual comparisons. So when I do something like assertThat(File).isEqualTo(otherFile) they should return true when they are pointing to the same file/directory.
please consider this example:
File expected = new File("tests");
File actual = new File("tests/../tests");
assertThat(expected.getCanonicalPath()).isEqualTo(actual.getCanonicalPath());
assertThat(expected).isEqualTo(actual);
while comparing the string representation there is no assertion error, but comparing the file representation there will be an error issued.
From my point of view there are 2 solutions possible, either compare allways the canonicalPath  or offer methods which tell you that they compare the canonical path for equality

isEqualTo compares objects according to their equals method, for the consistency's sake I won't change that but I'm ok to add a new comparison based on canonical path (or real path for Path).
I propose to name the assertion: isEqualByComparingCanonicalPathTo (I'm open to suggestion).
I would also add isEqualByComparingRealPathTo for Path.
BTW in your example, you should switch expected and actual to get a relevant error message.

WDYT ?

hi,
sorry for not replying.
I understand your point about isEqualTo being implemented like equals.
On the other hand is the equals implementation the way we really need it? The equals implementation considers the object representation ( including the object address). But do we really care for the object address?
If we implement it the way you propose, I guess we need to implement other methods which are today based on the isEqualTo implementation. I thought that I had another case where I had list and wanted to do similar things.

I think it would be a bad thing to make isEqualTo not to use equals, it would be confusing for users if sometimes isEqualTo don't rely on equals.
An alternative solution is to use a specific comparator as shown here.

Your are right, that isEqualTo should use equals. ( By the way, why did you make the distinction between equals and isEqualTo?)
I like the alternative solution. No messing around with equals and keeping the backwars compatibility.
I'm all set with this solution. Now I guess, there is only need to provide an Comparator for files based on the canonical path (CanonicalPathFileComparator)

equals is the method from Object, it should not be used as an assertion method, it has been marked as deprecated to avoid users to accidentally use it in place of isEqualTo.
I'm closing this issue as it is addressed by usingComparator.


include codemirror autorefresh addon

I got this problem, that when rendering easyMDE in a hidden tab, I need to click inside the editor before seeing what content is inside it.
It's a known problem:

CodeMirror issue https://github.com/codemirror/CodeMirror/issues/2469
EasyMDE issue #84

Including the Codemirror AutoRefresh addon solves it.
I added the option autoRefresh as well and included the Typescript typings.
To use it, add the option:
autoRefresh: { delay: 250 },

Any reason why this is not being merged?

Because I haven't had the time to test this new feature well enough. Sorry for the delay.


Zoom To Feature Multiple Dropdowns

@tmcgee - What is the best way to implement multiple drop downs.
Should I create different versions of the same widgets or if there a way to specify multiple drop down downs within the same widget?

I think this would most easily be accomplished with different instances of the same widget (each with a separate url, field).
If you use a widget type: 'titlePane', each widget will be in a separate title pane widget in the sidebar. Instead, you might be able to use a widget type of contentPane or 'domNode to place the multiple dropdowns within the same container.

@tmcgee - Thank you sir let me work on this and if I get something working I will post back with the working code.

@tmcgee - I have tried changing to contentPane and domNode although I could not find any examples of contentPane. I think I saw domNode hooked to some buttons like the locateButton, not sure how to accomplish this with a widget. It would be neat if something like this could be accomplished, possibly a future enhancement opportunity as Esri likes to tell me :). Thanks again for all the help, for now separate widgets will work. Here is how I accomplished this.
            zoomToFeature: {
                include: true,
                id: 'zoomToFeature',
                type: 'titlePane',
                title: 'School Zones',
                position: 0,
                open: false,
                path: 'gis/dijit/ZoomToFeature',
                options: {
                        map: true,
                        url: 'http://<IP_ADDRESS>:6080/arcgis/rest/services/Charleston/Charleston_Query_Service_150605/MapServer/5',
                        field: 'NAME',
                        where: '1=1',
                        // you can customize the text
                        i18n: {
                            selectFeature: 'Select A School Zone'
                        }
                }
            },
            zoomToFeature2: {
                include: true,
                id: 'zoomToFeature2',
                type: 'titlePane',
                title: 'Charter Schools',
                position: 0,
                open: false,
                path: 'gis/dijit/ZoomToFeature',
                options: {
                    map: true,
                    url: 'http://<IP_ADDRESS>:6080/arcgis/rest/services/Charleston/Charleston_Query_Service_150605/MapServer/0',
                    field: 'NAME',
                    where: '1=1',
                    // you can customize the text
                    i18n: {
                        selectFeature: 'Select A Charter School'
                    }
                }
            },
            zoomToFeature3: {
                include: true,
                id: 'zoomToFeature3',
                type: 'titlePane',
                title: 'Magnet Schools',
                position: 0,
                open: false,
                path: 'gis/dijit/ZoomToFeature',
                options: {
                    map: true,
                    url: 'http://<IP_ADDRESS>:6080/arcgis/rest/services/Charleston/Charleston_Query_Service_150605/MapServer/1',
                    field: 'NAME',
                    where: '1=1',
                    // you can customize the text
                    i18n: {
                        selectFeature: 'Select A Magnet School'
                    }
                }
            },

@kcarrier I've added an example configuration to show how multiple zoomToFeature widgets can be placed in a single titlePane widget. The configuration file is here. You can see it in action here.

@tmcgee - I have said it more than a few times and I will say it again, you da man!


⚠ Bofrost.at has degraded performance

In a5234ed, Bofrost.at (https://www.bofrost.at) experienced degraded performance:

HTTP code: 200
Response time: 1398 ms

Resolved: Bofrost.at performance has improved in d4a8a11 after 13 minutes.


Fix PAM sessions when pam_systemd is used

The commit from Fedora that has been proposed to upstream over a year ago.
http://sourceforge.net/p/xrdp/patches/33/

I think this is fixed now.


extra (empty) outputs for core perl packages

Things like ExtUtils::MakeMaker are included with our perl package but listed as requirements by conda build skeleton create. Either skeleton should be taught not to do that, or we could add empty outputs to this recipe for each of them.
https://github.com/conda-forge/staged-recipes/pull/5149

Since @bgruening invited me to help transferring general-purpose Perl packages from bioconda to conda-forge, this question is also quite interesting to me.
If I understand the source of conda skeleton 3.12.1 correctly, some efforts have already been made to identify core packages and comment them out in the requirement list. However, this does not seem to work: e.g. conda skeleton cpan Unix::Processors creates a skeleton which excludes perl-warnings, but not perl-test, which is a core module. skeleton seems to be using the MetaCPAN API to perform its core module check, but I don't really get the rationale of it. I wondered whether MetaCPAN actually knows whether a module is a core module or not. After all, what is a core module and what not can change from Perl version to Perl version. For example, Module::Build was a core module in Perl 5.20, but was removed from the core as of 5.21(cf. perl5220delta). In Perl, the (core ;-)) module Module::CoreList may be used to determine whether a module is a core module in a given version of Perl.
Given the changing nature of the core module list, I  propose not to remove core module dependencies from each and every Perl module recipe, as this would mean one has to touch all recipes depending on a module removed from the core every time the Perl version pinning is updated.
The better choice would probably be to have "empty" recipes, as you proposed. However, in my opinion, these should also be fully functional recipes which include an unconditional build/skip key plus a comment stating that this is a core module. Then, should updating the Perl pinning make it necessary, the recipe can be "activated" easily. What do you think?

Absolutely not. That's my opinion.
On Wed, Aug 15, 2018, 8:52 AM Felix Kühnl<EMAIL_ADDRESS>wrote:

Since @bgruening https://github.com/bgruening invited me to help
transferring general-purpose Perl packages from bioconda to conda-forge,
this question is also quite interesting to me.
If I understand the source of conda skeleton 3.12.1 correctly, some
efforts have already been made to identify core packages and comment them
out in the requirement list. However, this does not seem to work: e.g. conda
skeleton cpan Unix::Processors creates a skeleton which excludes
perl-warnings, but not perl-test, which is a core module. skeleton seems
to be using the MetaCPAN API to perform its core module check, but I don't
really get the rationale of it. I wondered whether MetaCPAN actually knows
whether a module is a core module or not. After all, what is a core module
and what not can change from Perl version to Perl version. For example,
Module::Build was a core module in Perl 5.20, but was removed from the
core as of 5.21(cf. perl5220delta
https://perldoc.perl.org/perl5220delta.html#Removed-Modules-and-Pragmata).
In Perl, the (core ;-)) module Module::CoreList may be used to determine
whether a module is a core module in a given version of Perl.
Given the changing nature of the core module list, I propose not to
remove core module dependencies from each and every Perl module recipe, as
this would mean one has to touch all recipes depending on a module removed
from the core every time the Perl version pinning is updated.
The better choice would probably be to have "empty" recipes, as you
proposed. However, in my opinion, these should also be fully functional
recipes which include an unconditional build/skip key plus a comment
stating that this is a core module. Then, should updating the Perl pinning
make it necessary, the recipe can be "activated" easily. What do you think?
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/conda-forge/perl-feedstock/issues/25#issuecomment-413121911,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AA_pdBuE3Nw8_VUgZJ_iIGhNdsjL0cDKks5uQ9NIgaJpZM4VTH6U
.

@mingwandroid Could you please explain what exactly you mean? Which part of my comment don't you agree with and why?

I don't want to have empty packages that pretend to be something they are not, I also do not want sloppy dependency tracking causing unnecessary installation.
I also don't believe that this is a big deal to maintain 'normally' either, how frequently do modules move from core? How frequently do we update perl packages?

... how frequently do modules move from core?

Let's see:
##### All modules REMOVED from one version to next
perl_core_mods_removed() {
    perl -wle '
        use strict;
        use Module::CoreList;
        my ($lastver, $nxtver) = @ARGV;
        my %nxtver_mods             # lookup table for core mods of nxt ver
            = map {$_ => 1} Module::CoreList->find_modules(qr/.*/, $nxtver+0);
        print join "\n",
                   grep {not $nxtver_mods{$_}}
                        Module::CoreList->find_modules(qr/.*/, $lastver+0);
    ' $1 $2;
}

lastver=5.008;
for nxtver in 5.0{10,12,14,16,18,20,22,24,26};
    do echo -e "\n### $lastver => $nxtver ###";
    perl_core_mods_removed $lastver $nxtver;
    lastver=$nxtver;
done

Output:
### 5.008 => 5.010 ###
B::Asmdata
B::Assembler
B::Bblock
B::Bytecode
B::C
B::CC
B::Disassembler
B::Stackobj
B::Stash
ByteLoader
JNI
JPL::AutoLoader
JPL::Class
JPL::Compile
Thread::Signal
Thread::Specific

### 5.010 => 5.012 ###
CPAN::API::HOWTO
CPAN::DeferedCode
CPANPLUS::inc
ExtUtils::MakeMaker::bytes
ExtUtils::MakeMaker::vmsish
Test::Harness::Assert
Test::Harness::Iterator
Test::Harness::Point
Test::Harness::Results
Test::Harness::Straps
Test::Harness::Util
attrs

### 5.012 => 5.014 ###
Class::ISA
Pod::Plainer
Switch
TAP::Parser::Source::Perl
XS::APItest::KeywordRPN

### 5.014 => 5.016 ###
Devel::DProf
ExtUtils::MakeMaker::YAML
Locale::Constants
Shell
Sys::Syslog::win32::Win32

### 5.016 => 5.018 ###
List::Util::PP
Scalar::Util::PP
Version::Requirements

### 5.018 => 5.020 ###
Archive::Extract
B::Lint
B::Lint::Debug
CPANPLUS
CPANPLUS::Backend
CPANPLUS::Backend::RV
CPANPLUS::Config
CPANPLUS::Config::HomeEnv
CPANPLUS::Configure
CPANPLUS::Configure::Setup
CPANPLUS::Dist
CPANPLUS::Dist::Autobundle
CPANPLUS::Dist::Base
CPANPLUS::Dist::Build
CPANPLUS::Dist::Build::Constants
CPANPLUS::Dist::MM
CPANPLUS::Dist::Sample
CPANPLUS::Error
CPANPLUS::Internals
CPANPLUS::Internals::Constants
CPANPLUS::Internals::Constants::Report
CPANPLUS::Internals::Extract
CPANPLUS::Internals::Fetch
CPANPLUS::Internals::Report
CPANPLUS::Internals::Search
CPANPLUS::Internals::Source
CPANPLUS::Internals::Source::Memory
CPANPLUS::Internals::Source::SQLite
CPANPLUS::Internals::Source::SQLite::Tie
CPANPLUS::Internals::Utils
CPANPLUS::Internals::Utils::Autoflush
CPANPLUS::Module
CPANPLUS::Module::Author
CPANPLUS::Module::Author::Fake
CPANPLUS::Module::Checksums
CPANPLUS::Module::Fake
CPANPLUS::Module::Signature
CPANPLUS::Selfupdate
CPANPLUS::Shell
CPANPLUS::Shell::Classic
CPANPLUS::Shell::Default
CPANPLUS::Shell::Default::Plugins::CustomSource
CPANPLUS::Shell::Default::Plugins::Remote
CPANPLUS::Shell::Default::Plugins::Source
Devel::InnerPackage
File::CheckTree
Log::Message
Log::Message::Config
Log::Message::Handlers
Log::Message::Item
Log::Message::Simple
Module::Build::Platform::Amiga
Module::Build::Platform::EBCDIC
Module::Build::Platform::MPEiX
Module::Build::Platform::RiscOS
Module::Pluggable
Module::Pluggable::Object
Object::Accessor
Pod::LaTeX
TAP::Parser::Utils
Term::UI
Term::UI::History
Text::Soundex

### 5.020 => 5.022 ###
CGI
CGI::Apache
CGI::Carp
CGI::Cookie
CGI::Fast
CGI::Pretty
CGI::Push
CGI::Switch
CGI::Util
Module::Build
Module::Build::Base
Module::Build::Compat
Module::Build::Config
Module::Build::ConfigData
Module::Build::Cookbook
Module::Build::Dumper
Module::Build::ModuleInfo
Module::Build::Notes
Module::Build::PPMMaker
Module::Build::Platform::Default
Module::Build::Platform::MacOS
Module::Build::Platform::Unix
Module::Build::Platform::VMS
Module::Build::Platform::VOS
Module::Build::Platform::Windows
Module::Build::Platform::aix
Module::Build::Platform::cygwin
Module::Build::Platform::darwin
Module::Build::Platform::os2
Module::Build::PodParser
Module::Build::Version
Module::Build::YAML
Package::Constants
inc::latest

### 5.022 => 5.024 ###
ExtUtils::MakeMaker::version::vpp
Win32API::File::ExtUtils::Myconst2perl
autodie::ScopeUtil
version::vpp

### 5.024 => 5.026 ###

The list is quite lengthy because it contains all sub-packages of each removed module, and it also contains sub-packages removed despite their containing module still being present. Still, you can see that core package removal has happened quite often in the past. Maybe the core module list is more stable now, maybe not.
So what's the alternative to empty packages? Update conda skeleton cpan, maybe to include a hard-coded list of Perl core modules for each Perl version?

So what's the alternative to empty packages? Update conda skeleton cpan, maybe to include a hard-coded list of Perl core modules for each Perl version?

We could scan the source to see what's required? I do this for CRAN stuff (detecting if compilers and autotools etc are needed) and it works well. Not sure if its easy to do this for Perl though?

We know what modules are required already, it can be retrieved from MetaCPAN. But we need to know what's a core module and what not. Scanning the source won't help as, AFAIK, a module doesn't know whether it's a core module or not. In the end, "core module" only means "shipped with a standard Perl distribution". Everyone shipping a Perl distribution may choose to exclude or include different modules, cf. this comment from brian d foy.
Scanning the source would, however, be useful for the other points you mentioned, as they affect Perl as well (we need Make for MakeMaker-modules, compilers + Make for XS modules or Inline'd code, etc).

@xileF1337 Aren't those versions extremely old? 5.10 came out in 2007. Is it possible to run it for a more recent set of perl versions?

Ah, confusing, just like most things about Perl!
In that case I think that empty package outputs, pinned to the particular build, seems to make a lot of sense to me. I wonder whether it's possible to automate that in the recipe jinja, though, instead of having to maintain the list of core packages and checking with each new build....

What is the problem being solved here? I posit that there is none.

Given the changing nature of the core module list, I propose not to remove core module dependencies from each and every Perl module recipe, as this would mean one has to touch all recipes depending on a module removed from the core every time the Perl version pinning is updated.

This is exactly what should be done, you make conda skeleton handle everything for you. For R we routinely do this and it is far from problematic.

@mingwandroid The problem is that whether a recipe needs to separately depend on perl-module-build depends on whether it's built against perl 5.20 or 5.22....

Which is no different from R.
Conceptually empty packages are garbage.

With empty packages:

Consumers that use a package just depend on that package; they don't have to look up when it's included or not.
If we don't have a separate perl-module-build package for perl 5.20, then conda complains about that in a reasonable way if you try to pin perl 5.20, or makes sure you build with a valid version otherwise.
We can add a separate perl-module-build package for 5.20 and make everything work as expected.
The perl feedstock needs to keep track of when modules are added/removed.

Without empty packages:

Consumers that use a package need to know what versions it's core in, and add appropriate perl version dependencies, presumably by skeleton.
If a package is removed from core in a future update (maybe not likely), consumer recipe needs to look that up, or else break at runtime.
If a dependency is added to a future version of a package, recipe maintainers need to look up whether it's core or not and in what versions.
If a dependency is removed from a future version of a package, recipe maintainers need to look up whether it will now work with older perl or not (or, in practice, just assume it doesn't and keep a too-tight version constraint).
These dependencies on core packages aren't tracked anywhere in the recipe, so the maintainer needs
conda skeleton needs to keep track of when core modules are added/removed.

World 1 feels like it's a lot less work for recipe maintainers, and the centralized work is done here rather than in conda skeleton which then needs to be released for the updates to take effect rather than happening immediately on the channel. That feels like a better world to me, with the only cost some extra clutter for the solver.

Consumers do not need to do anything. Conda skeleton does.

Except when things change from version to version, unless you're calling skeleton again....

Yes that's precisely what you should do!
Whenever you update perl you update all the things that depend upon it and rebuild then.


Wrap in process.env.NODE_ENV

I'm currently using this library to validate configuration objects/options while in development. To accomplish this, code is wrapped in if (process.env.NODE_ENV !== 'production') { blocks, so that they're removed during minification and not included in the final bundle. This works.
However, since this library is imported in the module scope, the entirety of the library is included in the bundle, when it's not really necessary. A version of this library wrapped in prod/dev checks would be rather helpful.

Hey @milesj, thanks for opening this!
As this lib also targets browser environments, at the moment I'm not minded to do it in the lib itself. However it seems like it should be straightforward to have your own local wrapper which does the NODE_ENV checks, and then import that module instead? Would that work for you or is there some reason it needs to be done inside check-types?

Yeah, that's pretty much what I've been planning to do (haven't had a chance yet). I'll report back and see how it goes.

Got this working with a different approach. Will close for now.


added slick and lwjgl files to gradle and a "hello world" example code

Added required libraries to Gradle, added DLL files to project and modified run routine to support them, and created a "Hello World"-type app using them.
ping @sqreek

lgtm


[gql_dio_link] Converting object to an encodable object failed: Instance of 'MultipartFile'

When I try to upload file via gql_dio_link I get the following error

Converting object to an encodable object failed: Instance of 'MultipartFile'

I am using the latest alpha version which support file uploads after this PR  made by @TarekkMA
Demo project showing this problem is here
Any hints for solving this will be appreciated...

I tried to run your project and the MultipartFile got encoded correctly.
BTW there was a bug in the code, you didn't await for MultipartFile.fromFile(....)
variables: {
  "input": await MultipartFile.fromFile(
    file.path,
    filename: "image.png",
    contentType: MediaType("image", "png"),
  )
},

Actually this bug is found in graphql_flutter and not gql_dio_link. It seems like graphql_flutter is doing some caching to MultipartFile and fail then it throws exception. I think same thing happens in http.MultipartFile  as well as dio.MultipartFile.
I used hint I found here  for solving this.
Just add fetchPolicy: FetchPolicy.noCache for your mutation if you face same thing..
@TarekkMA Thanks for help. gql_dio_link is really amazing.

That's good to hear, really pleased you find gql_dio_link useful ❤

Use import 'package:http/http.dart' show MultipartFile; and not 'dio.dart` package


Upload files with .setFilesToUpload not working

I'm trying to upload a file, but .setFilesToUpload is not working: Here are the steps I need to cover in order to upload a file:

Click on "Upload" button - http://prntscr.com/juwcv8
Choose a file -
Click on "Open" button - http://prntscr.com/juwdp7
Now starts the tricky part because the file is not uploaded yet. There is another pop-up:
Click on "Upload" button - http://prntscr.com/juweh1

Here you can see the code for the second pop-up: http://prntscr.com/juwg3y
All the examples I found so far for upload were with 3 steps. For this case I would need a workaround.
Thank you.

Hi @Mihai0909, the .setFilesToUpload methods should be used with an upload input (<input type="upload">). You should find it in the DOM tree of your page, and use its selector as the first argument of the .setFilesToUpload method. E.g. for the simplest case you can use something like Selector('input[type=upload]').

I will close the issue because no activity has been encountered for a long time.
Feel free to reopen the issue if the problem persists and you can provide an example to reproduce it.

@AndreyBelym I am facing the same issue. We dont have a input text box but window popup to select the file.
The steps are:

Click and Upload button
File explorer opens
Select a file and click on 'Open' button
The file is uploaded and gets a successful message in the page

How to automate this? In selenium we used to use AutoIT for windows control

@miherlosev Should I create a new ticket as this is closed and I couldn't open it as I haven't created this ticket

Hi @vvedachalam, it's better to create a new ticket. Likely there is an invisible upload input somewhere on your page. You can try to detect it by executing the following code in Chrome DevTools console:
$$('input[type="upload"]')

Yes, you are right @AndreyBelym
I have created https://github.com/DevExpress/testcafe/issues/2653


⚠ PrivateHD has degraded performance

In 36eb283, PrivateHD ($PHD) experienced degraded performance:

HTTP code: 200
Response time: 1369 ms

Resolved: PrivateHD performance has improved in 3e3f158.


errors when running aqcc hello.c

Hi dear author,
I find some errors here, do you know why?

thank you
best regards
William

#include <stdio.h> is not supported in aqcc.
int printf(const char *format, ...);
int main()
{
    printf("hi\n");
    return 0;
}

should work with ./aqcc hello.c stdlib.c -o hello (but not tested)

I had same issue, so I compiled it with stdlib.c system.s it works. @ushitora-anqou I have tested it
maintest.c:
int main(int argc, char** argv)
{
int a;
a=10;
return a;
}
./aqcc maintest.c cc/stdlib.c cc/system.s -o hello
./hello
echo $?
10

Thanks! I'll close this issue.

@ushitora-anqou  I was looking for your contact information email etc, but i did not see any.
May I make a friend with since I am really interested in compiler. would like to discuss some questions with you.
my email address is
<EMAIL_ADDRESS>if you dont mind would you shoot me an email ?
thanks a lot.

was looking for your email address want to make friend with you and discuss
this aqcc more .
On Mon, Feb 28, 2022 at 7:28 PM Ushitora Anqou @.***>
wrote:

Closed #15 https://github.com/ushitora-anqou/aqcc/issues/15.
—
Reply to this email directly, view it on GitHub
https://github.com/ushitora-anqou/aqcc/issues/15#event-6158397521, or
unsubscribe
https://github.com/notifications/unsubscribe-auth/ADSOMJT4CK6XOQVVMEOUFCDU5VQCFANCNFSM45P2SJAA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you commented.Message ID:
@.***>

the funny part was. many of the website you on, written by Japanese. I was trying to read the Japanese, but cannot understand. lol

@zylinux My email address is<EMAIL_ADDRESS>and my Twitter account is ushitora_anqou. Or, if you want to discuss aqcc, feel free to make a new issue or discussion on this GitHub repo.

For Aqcc what is the future plan for this project ? any plan ?
On Tue, Mar 1, 2022 at 7:54 PM Ushitora Anqou @.***>
wrote:

@zylinux https://github.com/zylinux My email address is
@.***, and my Twitter account is ushitora_anqou
https://twitter.com/ushitora_anqou. Or, if you want to discuss aqcc,
feel free to make a new issue or discussion on this GitHub repo.
—
Reply to this email directly, view it on GitHub
https://github.com/ushitora-anqou/aqcc/issues/15#issuecomment-1056021578,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ADSOMJXSXZOB37TI226GRJDU5234NANCNFSM45P2SJAA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&referrer=utm_campaign%3Dnotification-email%26utm_medium%3Demail%26utm_source%3Dgithub.
You are receiving this because you were mentioned.Message ID:
@.***>


Use labels on examples

We need to improve the naming of our example Habitats.
At the moment, we sometimes use example-x-y-z.
This is fine in some cases (example-standalone-habitat), but then we also use "go" in other cases.
From a discoverability/UX point of view, using labels would free us to use the name that makes the most sense,
but still letting the user clearly know that the Habitat is from the operator and is an example.

Wouldn't annotations suit this purpose better?

@krnowak are you suggesting we use annotations instead. If we do not need the extra things labels have to offer, yes we can use annotations.

@asymmetric what say ye?

It's conceivable that users could want to query this, so I think we should stick to labels.


smart phone error

Virtual device works when it is enabled.
but put it in my smartphone, it will cause errors.
Please tell me why.

Do you have an exception you are receiving?


Better support for networks

Currently my understanding of how networks are handled in miniboss, is that a service group has a network associated with it, and you can optionally set the name of that network. I don't however see any way in which to modify this network, or to more generically assign individual services to different networks.
This first issue, being able to modify the network, I believe is rather straight-forward, you could just pass options for the different network options available in Docker. Specifically the option that brought this to light for me was internal, which can be seen as a parameter to network creation in the docker-py documentation.
Being able to set these options on networks would be very helpful for more intricate setups with miniboss.
The second issue here is the ability of a service to have more than one network, unless I'm missing something, I didn't see a way to do this.
Below I've added an example docker-compose file. Which blocks an application from all internet access, and uses a Traefik proxy to be able to access the application. This is achieved by the application being on an internal network, and the proxy being on a regular bridge network, in addition to the internal one. While this may be a rather contrived example, it's a good demonstration of the network creation flexibility that is possible with docker-compose that would be nice to have in miniboss.
If I'm wrong and this flexibility does exist but I'm blind, I'd love to be shown the way. If I'm correct that it doesn't currently exist, it doesn't seem like it would be too heavy of a lift to add? I would definitely be on board for submitting a PR for it
version: "3"

services:
    proxy:
        image: traefik:latest
        networks:
            - my_not_internal_network
            - my_internal_network
        ports:
            - "80:80"
            - "8080:8080"
        command:
            - --providers.docker
            - --providers.docker.exposedbydefault=false
            - --entrypoints.http.address=:80
            - --api.insecure=true

    my_app:
        image: my_app_image
        networks:
            - my_internal_network
        labels:
            - traefik.enable=true
            - traefik.http.routers.my_app.rule=Host(`localhost`)
            - traefik.http.routers.my_app.entrypoints=http
            - traefik.http.services.my_app.loadbalancer.server.port=80

networks:
    my_not_internal_network:
    my_internal_network:
        internal: true

@Cleptomania thanks a lot for this detailed proposal, it indeed makes sense. This shouldn't be difficult at all; it's a matter of adding a way to specify different networks, adding the networks field to the service, and connecting the to with the actual functionality. I'm working on podman support at the moment; would be great if you could do a PR, otherwise I would work on it after finishing podman support.


Document kraken_config variable expansion

The ansible playbook (ansible/roles/kraken.config/tasks/main.yml) which sets facts derived from the k2 config file (e.g. ~/.kraken/config.yaml) should be better documented. In particular the expand_config filter (cf. ansible/roles/kraken.config/filter_plugins/expand_config.py) should be explained. This will reduce the bar of entry to k2 development. While there is currently some documentation in the Documentation directory, with rare exception, the README's in the source directory are stubs which need to be either fleshed out or removed.

closed as part of k2recon


ADBDEV-3888: Improve CTE check for ORCA to validate only affected slice

ORCA: Improve CTE validation only for affected slice
We assume that plan before hazard-motion transformation was validated (such check exists) and CTE producers/consumers are consistent. The next cases may appear after hazard-motion transformation:

all slices, which contains shared scans, was transformed
the slices, which contains CTE producers, and some CTE consumers
(the plan may contains other slice with consumers of these
producers) was transformed
the slice, which contains only producer/s, was transformed
the slice, which contains only consumer/s, was transformed
the slice, without CTE producers/consumers, was transformed

This patch is a follow-up for #302. Now detection of unpaired CTE's is performed on the current slice (current motion) instead of recursing into it's children slices (motions), also validation of unpaired CTE was changed: previous approach collected all CTE consumers into array and CTE producers was collected into set at the end each element of CTE producer array was probed at producers hash-set (this may lead to a false-negative cases when the slice contains two different  producers, but only a single consumer). Now the sets of CTE consumers and producers compares.
Current approach correctly validates 3, 4, 5 cases, while 1 case may give a false-positive result. The 2 case maybe dangerous: there is a possible situation, when the hazard-motion (slice) contains a CTE producer and it's consumer, but the plan may contain other unmodified motion (slice) with the CTE consumer of the producer from modified slice, thus this approach won't reconnize that there are unpaired CTE producers and consumers, because it checks only the consistency of producers/consumers within the hazzard motion (one slice), on the other side, this situation is possible if the replicated distribution requested for the Sequence node, but due to this patch such situation shouldn't appear.
Follow-up for #302 (51fe92e)
For example the next query fallbacks to the postgres planner:

CREATE TABLE distr (a int, b int, c int) DISTRIBUTED BY (a);
CREATE TABLE repl (a int, b int, c char(255)) DISTRIBUTED REPLICATED;
INSERT INTO distr SELECT 1, generate_series(1,10), 1;
INSERT INTO repl SELECT 1, 2, generate_series(1,100);
EXPLAIN WITH e AS (
    SELECT DISTINCT b FROM distr
) SELECT * FROM repl JOIN e USING (b) JOIN e f USING (b);
                                                      QUERY PLAN
----------------------------------------------------------------------------------------------------------------------
 Gather Motion 3:1  (slice3; segments: 3)  (cost=0.79..4.16 rows=100 width=267)
   ->  Hash Join  (cost=0.79..4.16 rows=34 width=267)
         Hash Cond: (repl.b = distr.b)
         ->  Seq Scan on repl  (cost=0.00..2.00 rows=100 width=267)
         ->  Hash  (cost=0.66..0.66 rows=4 width=8)
               ->  Hash Join  (cost=0.33..0.66 rows=4 width=8)
                     Hash Cond: (distr.b = distr_1.b)
                     ->  HashAggregate  (cost=1.45..1.55 rows=4 width=4)
                           Group Key: distr.b
                           ->  Redistribute Motion 3:3  (slice1; segments: 3)  (cost=1.12..1.32 rows=4 width=4)
                                 Hash Key: distr.b
                                 ->  HashAggregate  (cost=1.12..1.12 rows=4 width=4)
                                       Group Key: distr.b
                                       ->  Seq Scan on distr  (cost=0.00..1.10 rows=4 width=4)
                     ->  Hash  (cost=1.65..1.65 rows=4 width=4)
                           ->  HashAggregate  (cost=1.45..1.55 rows=4 width=4)
                                 Group Key: distr_1.b
                                 ->  Redistribute Motion 3:3  (slice2; segments: 3)  (cost=1.12..1.32 rows=4 width=4)
                                       Hash Key: distr_1.b
                                       ->  HashAggregate  (cost=1.12..1.12 rows=4 width=4)
                                             Group Key: distr_1.b
                                             ->  Seq Scan on distr distr_1  (cost=0.00..1.10 rows=4 width=4)
 Optimizer: Postgres query optimizer
(23 rows)
INFO:  GPORCA failed to produce a plan, falling back to planner
DETAIL:  Feature not supported: CTE Consumer without the appropriate CTE Producer under a duplicate-hazard motion or a tainted replicated node

But ORCA generates a correct query-plan (see below) after patch (1). Fallbacks to postgres appears due to #302 (2) patch which is applied above patch (1). There makes a false-positive  decision that plan contains an unpaired CTE consumer under the hazzard CPhysicalMotionRandom (from the physical plan below) - the CollectConsumersAndProducers functions visits this motion and recurses into it's child's where it finds consumers without Producer, as a result hasUnpairedCTEConsumer check satisfies and fallback appears, while the plan generated by GPORCA is correct, because this motion doesn't contain any CTE consumer.
Physical plan:
+--CPhysicalMotionGather(master)   rows:100   width:305  rebinds:1   cost:1724.375078   origin: [Grp:11, GrpExpr:3]
   +--CPhysicalSequence   rows:100   width:305  rebinds:1   cost:1724.275576   origin: [Grp:11, GrpExpr:2]
      |--CPhysicalCTEProducer (0), Columns: ["b" (1)]   rows:9   width:4  rebinds:1   cost:431.000299   origin: [Grp:21, GrpExpr:1]
      |  +--CPhysicalStreamAgg( Global ) Grp Cols: ["b" (1)], Minimal Grp Cols:["b" (1)], Generates Duplicates :[ 0 ]    rows:9   width:4  rebinds:1   cost:431.000296   origin: [Grp:20, GrpExpr:4]
      |     |--CPhysicalSort  ( (<IP_ADDRESS>), "b" (1), NULLsLast )    rows:10   width:42  rebinds:1   cost:431.000275   origin: [Grp:18, GrpExpr:4]
      |     |  +--CPhysicalMotionHashDistribute HASHED: [ CScalarIdent "b" (1), nulls colocated ], opfamilies: (0.1977.1.0),   rows:10   width:42  rebinds:1   cost:431.000144   origin: [Grp:18, GrpExpr:2]
      |     |     +--CPhysicalTableScan "distr" ("distr")   rows:10   width:42  rebinds:1   cost:431.000077   origin: [Grp:18, GrpExpr:1]
      |     +--CScalarProjectList   origin: [Grp:19, GrpExpr:0]
      +--CPhysicalMotionRandom   rows:100   width:305  rebinds:1   cost:1293.266377   origin: [Grp:10, GrpExpr:21]
         +--CPhysicalInnerHashJoin   rows:100   width:305  rebinds:1   cost:1293.197046   origin: [Grp:10, GrpExpr:19]
            |--CPhysicalTableScan "repl" ("repl")   rows:100   width:297  rebinds:1   cost:431.016335   origin: [Grp:0, GrpExpr:1]
            |--CPhysicalMotionBroadcast    rows:9   width:8  rebinds:1   cost:862.002050   origin: [Grp:12, GrpExpr:6]
            |  +--CPhysicalInnerHashJoin   rows:9   width:8  rebinds:1   cost:862.001334   origin: [Grp:12, GrpExpr:3]
            |     |--CPhysicalCTEConsumer (0), Columns: ["b" (20)]   rows:9   width:4  rebinds:1   cost:431.000032   origin: [Grp:1, GrpExpr:1]
            |     |--CPhysicalCTEConsumer (0), Columns: ["b" (30)]   rows:9   width:4  rebinds:1   cost:431.000032   origin: [Grp:2, GrpExpr:1]
            |     +--CScalarCmp (=)   origin: [Grp:8, GrpExpr:0]
            |        |--CScalarIdent "b" (20)   origin: [Grp:4, GrpExpr:0]
            |        +--CScalarIdent "b" (30)   origin: [Grp:6, GrpExpr:0]
            +--CScalarCmp (=)   origin: [Grp:5, GrpExpr:0]
               |--CScalarIdent "b" (11)   origin: [Grp:3, GrpExpr:0]
               +--CScalarIdent "b" (20)   origin: [Grp:4, GrpExpr:0]

And here is a query-plan:
                                                       QUERY PLAN
------------------------------------------------------------------------------------------------------------------------
 Gather Motion 3:1  (slice3; segments: 3)  (cost=0.00..1724.38 rows=100 width=267)
   ->  Sequence  (cost=0.00..1724.28 rows=34 width=267)
         ->  Shared Scan (share slice:id 3:0)  (cost=0.00..431.00 rows=4 width=1)
               ->  Materialize  (cost=0.00..431.00 rows=4 width=1)
                     ->  GroupAggregate  (cost=0.00..431.00 rows=4 width=4)
                           Group Key: distr.b
                           ->  Sort  (cost=0.00..431.00 rows=4 width=4)
                                 Sort Key: distr.b
                                 ->  Redistribute Motion 3:3  (slice2; segments: 3)  (cost=0.00..431.00 rows=4 width=4)
                                       Hash Key: distr.b
                                       ->  Seq Scan on distr  (cost=0.00..431.00 rows=4 width=4)
         ->  Result  (cost=0.00..1293.27 rows=34 width=267)
               One-Time Filter: (gp_execution_segment() = 1)
               ->  Hash Join  (cost=0.00..1293.20 rows=100 width=267)
                     Hash Cond: (repl.b = share0_ref3.b)
                     ->  Seq Scan on repl  (cost=0.00..431.02 rows=100 width=267)
                     ->  Hash  (cost=862.00..862.00 rows=10 width=4)
                           ->  Broadcast Motion 3:3  (slice1; segments: 3)  (cost=0.00..862.00 rows=10 width=4)
                                 ->  Hash Join  (cost=0.00..862.00 rows=4 width=4)
                                       Hash Cond: (share0_ref3.b = share0_ref2.b)
                                       ->  Shared Scan (share slice:id 1:0)  (cost=0.00..431.00 rows=4 width=4)
                                       ->  Hash  (cost=431.00..431.00 rows=4 width=4)
                                             ->  Shared Scan (share slice:id 1:0)  (cost=0.00..431.00 rows=4 width=4)
 Optimizer: Pivotal Optimizer (GPORCA)
(24 rows)

Here are some reminders before you submit the pull request

[ ] Add tests for the change
[ ] Document changes
[ ] Communicate in the mailing list if needed
[ ] Pass make installcheck
[ ] Review a PR in return to support the community

also validation of unpaired CTE was cahnged too

was changed?

To be honest, I still don't really like such formulations:

1. all slices, which contains shared scans, was tansformed

2. the slices, which contains CTE producers, and some CTE consumers
   (the plan may contains other slice with consumers of these
   producers) was tansformed

3. the slice, which contains only producer/s, was tansformed

4. the slice, which contains only consumer/s, was tansformed

5. the slice, without CTE producers/consumers, was tansformed

Current approach correctly validates 3, 4, 5 cases. 1 case may give a false-positive result, the 2 case seems would be correctly validated too.

was changed?

Right, I've fixed typos the descriotion, after the review I'll squash commits and fix the commit message

To be honest, I still don't really like such formulations: ...

What do you mean?

What do you mean?

For me, they do not explain anything, and the statements themselves are not explained.

The wording "it seems that the problem has been solved" sounds especially cool.

But what about situations where the producer and consumers are in different slices, but in the same place?

I came up with another request that falls back both without this patch and with this patch!

Also look at another interesting query that doesn't fallback without a patch, but it does fallback with a patch!
CREATE TABLE d (a int, b int, c int) DISTRIBUTED BY (a);
CREATE TABLE r (a int, b int, c char(255)) DISTRIBUTED REPLICATED;

INSERT INTO d SELECT 1, generate_series(1,10), 1;
INSERT INTO r SELECT 1, 2, generate_series(1,100);

EXPLAIN (ANALYZE off, COSTS off, VERBOSE off)
WITH e AS (
    SELECT DISTINCT b FROM d
), e1 as (
    SELECT DISTINCT b FROM d  JOIN e USING (b)
) SELECT * FROM r JOIN e1 USING (b) JOIN e1 f USING (b);

Interesting cases

I came up with another request that falls back both without this patch and with this patch!

Here is a physical plan (CPhysicalMotionRandom   rows:20  is a hazzard motion):
Physical plan:
+--CPhysicalMotionGather(master)   rows:20   width:305  rebinds:1   cost:3017.163596   origin: [Grp:12, GrpExpr:3]
   +--CPhysicalSequence   rows:20   width:305  rebinds:1   cost:3017.143696   origin: [Grp:12, GrpExpr:2]
      |--CPhysicalCTEProducer (0), Columns: ["b" (1)]   rows:9   width:4  rebinds:1   cost:431.000299   origin: [Grp:46, GrpExpr:1]
      |  +--CPhysicalStreamAgg( Global ) Grp Cols: ["b" (1)], Minimal Grp Cols:["b" (1)], Generates Duplicates :[ 0 ]    rows:9   width:4  rebinds:1   cost:431.000296   origin: [Grp:45, GrpExpr:4]
      |     |--CPhysicalSort  ( (<IP_ADDRESS>), "b" (1), NULLsLast )    rows:10   width:42  rebinds:1   cost:431.000275   origin: [Grp:44, GrpExpr:4]
      |     |  +--CPhysicalMotionHashDistribute HASHED: [ CScalarIdent "b" (1), nulls colocated ], opfamilies: (0.1977.1.0),   rows:10   width:42  rebinds:1   cost:431.000144   origin: [Grp:44, GrpExpr:2]
      |     |     +--CPhysicalTableScan "d" ("d")   rows:10   width:42  rebinds:1   cost:431.000077   origin: [Grp:44, GrpExpr:1]
      |     +--CScalarProjectList   origin: [Grp:30, GrpExpr:0]
      +--CPhysicalMotionRandom   rows:20   width:305  rebinds:1   cost:2586.141617   origin: [Grp:11, GrpExpr:3]
         +--CPhysicalSequence   rows:20   width:305  rebinds:1   cost:2586.127750   origin: [Grp:11, GrpExpr:2]
            |--CPhysicalCTEProducer (1), Columns: ["b" (11)]   rows:2   width:4  rebinds:1   cost:1293.002962   origin: [Grp:35, GrpExpr:1]
            |  +--CPhysicalMotionRandom   rows:2   width:4  rebinds:1   cost:1293.002961   origin: [Grp:34, GrpExpr:4]
            |     +--CPhysicalLimit <empty> global   rows:2   width:4  rebinds:1   cost:1293.002941   origin: [Grp:34, GrpExpr:2]
            |        |--CPhysicalMotionGather(master)   rows:2   width:4  rebinds:1   cost:1293.002933   origin: [Grp:43, GrpExpr:2]
            |        |  +--CPhysicalLimit <empty> local   rows:2   width:4  rebinds:1   cost:1293.002903   origin: [Grp:43, GrpExpr:1]
            |        |     |--CPhysicalStreamAgg( Global ) Grp Cols: ["b" (11)], Minimal Grp Cols:["b" (11)], Generates Duplicates :[ 0 ]    rows:9   width:4  rebinds:1   cost:1293.002900   origin: [Grp:31, GrpExpr:4]
            |        |     |  |--CPhysicalSort  ( (<IP_ADDRESS>), "b" (11), NULLsLast )    rows:10   width:50  rebinds:1   cost:1293.002879   origin: [Grp:29, GrpExpr:23]
            |        |     |  |  +--CPhysicalInnerHashJoin   rows:10   width:50  rebinds:1   cost:1293.002748   origin: [Grp:29, GrpExpr:19]
            |        |     |  |     |--CPhysicalMotionHashDistribute HASHED: [ CScalarIdent "b" (11), nulls colocated ], opfamilies: (0.1977.1.0),   rows:10   width:42  rebinds:1   cost:431.000144   origin: [Grp:19, GrpExpr:4]
            |        |     |  |     |  +--CPhysicalTableScan "d" ("d")   rows:10   width:42  rebinds:1   cost:431.000077   origin: [Grp:19, GrpExpr:1]
            |        |     |  |     |--CPhysicalInnerHashJoin   rows:9   width:8  rebinds:1   cost:862.001334   origin: [Grp:36, GrpExpr:3]
            |        |     |  |     |  |--CPhysicalCTEConsumer (0), Columns: ["b" (20)]   rows:9   width:4  rebinds:1   cost:431.000032   origin: [Grp:20, GrpExpr:1]
            |        |     |  |     |  |--CPhysicalCTEConsumer (0), Columns: ["b" (30)]   rows:9   width:4  rebinds:1   cost:431.000032   origin: [Grp:21, GrpExpr:1]
            |        |     |  |     |  +--CScalarCmp (=)   origin: [Grp:27, GrpExpr:0]
            |        |     |  |     |     |--CScalarIdent "b" (20)   origin: [Grp:23, GrpExpr:0]
            |        |     |  |     |     +--CScalarIdent "b" (30)   origin: [Grp:25, GrpExpr:0]
            |        |     |  |     +--CScalarCmp (=)   origin: [Grp:24, GrpExpr:0]
            |        |     |  |        |--CScalarIdent "b" (11)   origin: [Grp:22, GrpExpr:0]
            |        |     |  |        +--CScalarIdent "b" (20)   origin: [Grp:23, GrpExpr:0]
            |        |     |  +--CScalarProjectList   origin: [Grp:30, GrpExpr:0]
            |        |     |--CScalarConst (0)   origin: [Grp:32, GrpExpr:0]
            |        |     +--CScalarConst (2)   origin: [Grp:33, GrpExpr:0]
            |        |--CScalarConst (0)   origin: [Grp:32, GrpExpr:0]
            |        +--CScalarConst (2)   origin: [Grp:33, GrpExpr:0]
            +--CPhysicalInnerHashJoin   rows:20   width:305  rebinds:1   cost:1293.119448   origin: [Grp:10, GrpExpr:19]
               |--CPhysicalTableScan "r" ("r")   rows:100   width:297  rebinds:1   cost:431.016335   origin: [Grp:0, GrpExpr:1]
               |--CPhysicalMotionBroadcast    rows:2   width:8  rebinds:1   cost:862.000739   origin: [Grp:13, GrpExpr:6]
               |  +--CPhysicalInnerHashJoin   rows:2   width:8  rebinds:1   cost:862.000596   origin: [Grp:13, GrpExpr:3]
               |     |--CPhysicalMotionHashDistribute HASHED: [ CScalarIdent "b" (50), nulls colocated ], opfamilies: (0.1977.1.0),   rows:2   width:4  rebinds:1   cost:431.000016   origin: [Grp:1, GrpExpr:5]
               |     |  +--CPhysicalCTEConsumer (1), Columns: ["b" (50)]   rows:2   width:4  rebinds:1   cost:431.000006   origin: [Grp:1, GrpExpr:1]
               |     |--CPhysicalMotionHashDistribute HASHED: [ CScalarIdent "b" (80), nulls colocated ], opfamilies: (0.1977.1.0),   rows:2   width:4  rebinds:1   cost:431.000016   origin: [Grp:2, GrpExpr:5]
               |     |  +--CPhysicalCTEConsumer (1), Columns: ["b" (80)]   rows:2   width:4  rebinds:1   cost:431.000006   origin: [Grp:2, GrpExpr:1]
               |     +--CScalarCmp (=)   origin: [Grp:8, GrpExpr:0]
               |        |--CScalarIdent "b" (50)   origin: [Grp:4, GrpExpr:0]
               |        +--CScalarIdent "b" (80)   origin: [Grp:6, GrpExpr:0]
               +--CScalarCmp (=)   origin: [Grp:5, GrpExpr:0]
                  |--CScalarIdent "b" (41)   origin: [Grp:3, GrpExpr:0]
                  +--CScalarIdent "b" (50)   origin: [Grp:4, GrpExpr:0]

And here is a plan without unpaired cte consumers/producers checks:
 Gather Motion 3:1  (slice8; segments: 3)
   ->  Sequence
         ->  Shared Scan (share slice:id 8:0)
               ->  Materialize
                     ->  GroupAggregate
                           Group Key: d_1.b
                           ->  Sort
                                 Sort Key: d_1.b
                                 ->  Redistribute Motion 3:3  (slice7; segments: 3)
                                       Hash Key: d_1.b
                                       ->  Seq Scan on d d_1
         ->  Result
               One-Time Filter: (gp_execution_segment() = 0)
               ->  Sequence
                     ->  Shared Scan (share slice:id 8:1)
                           ->  Materialize
                                 ->  Redistribute Motion 1:3  (slice6)
                                       ->  Limit
                                             ->  Gather Motion 3:1  (slice5; segments: 3)
                                                   ->  Limit
                                                         ->  GroupAggregate
                                                               Group Key: d.b
                                                               ->  Sort
                                                                     Sort Key: d.b
                                                                     ->  Hash Join
                                                                           Hash Cond: (d.b = share0_ref3.b)
                                                                           ->  Redistribute Motion 3:3  (slice4; segments: 3)
                                                                                Hash Key: d.b
                                                                                ->  Seq Scan on d
                                                                           ->  Hash
                                                                                ->  Hash Join
                                                                                Hash Cond: (share0_ref3.b = share0_ref2.b)
                                                                                ->  Shared Scan (share slice:id 5:0)
                                                                                ->  Hash
                                                                                ->  Shared Scan (share slice:id 5:0)
                     ->  Hash Join
                           Hash Cond: (r.b = share1_ref3.b)
                           ->  Seq Scan on r
                           ->  Hash
                                 ->  Broadcast Motion 3:3  (slice3; segments: 3)
                                       ->  Hash Join
                                             Hash Cond: (share1_ref3.b = share1_ref2.b)
                                             ->  Redistribute Motion 3:3  (slice1; segments: 3)
                                                   Hash Key: share1_ref3.b
                                                   ->  Shared Scan (share slice:id 1:1)
                                             ->  Hash
                                                   ->  Redistribute Motion 3:3  (slice2; segments: 3)
                                                         Hash Key: share1_ref2.b
                                                         ->  Shared Scan (share slice:id 2:1)
 Optimizer: Pivotal Optimizer (GPORCA)
(50 rows)

Here we've got unpaired cte producer - the third case.

Also look at another interesting query that doesn't fallback without a patch, but it does fallback with a patch!

Here is a physical plan (CPhysicalMotionGather is hazzard):
Physical plan:
+--CPhysicalMotionGather(master)   rows:100   width:305  rebinds:1   cost:2155.524116   origin: [Grp:12, GrpExpr:3]
   +--CPhysicalFilter   rows:100   width:305  rebinds:1   cost:2155.225610   origin: [Grp:12, GrpExpr:2]
      |--CPhysicalSequence   rows:100   width:305  rebinds:1   cost:2155.225610   origin: [Grp:11, GrpExpr:2]
      |  |--CPhysicalCTEProducer (1), Columns: ["b" (11)]   rows:9   width:4  rebinds:1   cost:862.001865   origin: [Grp:27, GrpExpr:1]
      |  |  +--CPhysicalStreamAgg( Global ) Grp Cols: ["b" (11)], Minimal Grp Cols:["b" (11)], Generates Duplicates :[ 0 ]    rows:9   width:4  rebinds:1   cost:862.001861   origin: [Grp:26, GrpExpr:4]
      |  |     |--CPhysicalSort  ( (<IP_ADDRESS>), "b" (11), NULLsLast )    rows:10   width:46  rebinds:1   cost:862.001841   origin: [Grp:24, GrpExpr:7]
      |  |     |  +--CPhysicalInnerHashJoin   rows:10   width:46  rebinds:1   cost:862.001709   origin: [Grp:24, GrpExpr:4]
      |  |     |     |--CPhysicalMotionHashDistribute HASHED: [ CScalarIdent "b" (11), nulls colocated ], opfamilies: (0.1977.1.0),   rows:10   width:42  rebinds:1   cost:431.000144   origin: [Grp:19, GrpExpr:3]
      |  |     |     |  +--CPhysicalTableScan "d" ("d")   rows:10   width:42  rebinds:1   cost:431.000077   origin: [Grp:19, GrpExpr:1]
      |  |     |     |--CPhysicalStreamAgg( Global ) Grp Cols: ["b" (20)], Minimal Grp Cols:["b" (20)], Generates Duplicates :[ 0 ]    rows:9   width:4  rebinds:1   cost:431.000296   origin: [Grp:20, GrpExpr:5]
      |  |     |     |  |--CPhysicalSort  ( (<IP_ADDRESS>), "b" (20), NULLsLast )    rows:10   width:42  rebinds:1   cost:431.000275   origin: [Grp:28, GrpExpr:4]
      |  |     |     |  |  +--CPhysicalMotionHashDistribute HASHED: [ CScalarIdent "b" (20), nulls colocated ], opfamilies: (0.1977.1.0),   rows:10   width:42  rebinds:1   cost:431.000144   origin: [Grp:28, GrpExpr:2]
      |  |     |     |  |     +--CPhysicalTableScan "d" ("d")   rows:10   width:42  rebinds:1   cost:431.000077   origin: [Grp:28, GrpExpr:1]
      |  |     |     |  +--CScalarProjectList   origin: [Grp:25, GrpExpr:0]
      |  |     |     +--CScalarCmp (=)   origin: [Grp:23, GrpExpr:0]
      |  |     |        |--CScalarIdent "b" (11)   origin: [Grp:21, GrpExpr:0]
      |  |     |        +--CScalarIdent "b" (20)   origin: [Grp:22, GrpExpr:0]
      |  |     +--CScalarProjectList   origin: [Grp:25, GrpExpr:0]
      |  +--CPhysicalInnerHashJoin   rows:100   width:305  rebinds:1   cost:1293.197046   origin: [Grp:10, GrpExpr:19]
      |     |--CPhysicalTableScan "r" ("r")   rows:100   width:297  rebinds:1   cost:431.016335   origin: [Grp:0, GrpExpr:1]
      |     |--CPhysicalMotionBroadcast    rows:9   width:8  rebinds:1   cost:862.002050   origin: [Grp:13, GrpExpr:6]
      |     |  +--CPhysicalInnerHashJoin   rows:9   width:8  rebinds:1   cost:862.001334   origin: [Grp:13, GrpExpr:3]
      |     |     |--CPhysicalCTEConsumer (1), Columns: ["b" (40)]   rows:9   width:4  rebinds:1   cost:431.000032   origin: [Grp:1, GrpExpr:1]
      |     |     |--CPhysicalCTEConsumer (1), Columns: ["b" (60)]   rows:9   width:4  rebinds:1   cost:431.000032   origin: [Grp:2, GrpExpr:1]
      |     |     +--CScalarCmp (=)   origin: [Grp:8, GrpExpr:0]
      |     |        |--CScalarIdent "b" (40)   origin: [Grp:4, GrpExpr:0]
      |     |        +--CScalarIdent "b" (60)   origin: [Grp:6, GrpExpr:0]
      |     +--CScalarCmp (=)   origin: [Grp:5, GrpExpr:0]
      |        |--CScalarIdent "b" (31)   origin: [Grp:3, GrpExpr:0]
      |        +--CScalarIdent "b" (40)   origin: [Grp:4, GrpExpr:0]
      +--CScalarConst (1)   origin: [Grp:31, GrpExpr:0]
"

And here is a plan without  unpaired cte consumers/producers checks:
                                                 QUERY PLAN
------------------------------------------------------------------------------------------------------------
 Gather Motion 1:1  (slice4; segments: 1)
   ->  Sequence
         ->  Shared Scan (share slice:id 4:1)
               ->  Materialize
                     ->  GroupAggregate
                           Group Key: d.b
                           ->  Sort
                                 Sort Key: d.b
                                 ->  Hash Join
                                       Hash Cond: (d.b = d_1.b)
                                       ->  Redistribute Motion 3:1  (slice2; segments: 3)
                                             Hash Key: d.b
                                             ->  Seq Scan on d
                                       ->  Hash
                                             ->  GroupAggregate
                                                   Group Key: d_1.b
                                                   ->  Sort
                                                         Sort Key: d_1.b
                                                         ->  Redistribute Motion 3:1  (slice3; segments: 3)
                                                               Hash Key: d_1.b
                                                               ->  Seq Scan on d d_1
         ->  Hash Join
               Hash Cond: (r.b = share1_ref3.b)
               ->  Seq Scan on r
               ->  Hash
                     ->  Broadcast Motion 3:1  (slice1; segments: 3)
                           ->  Hash Join
                                 Hash Cond: (share1_ref3.b = share1_ref2.b)
                                 ->  Shared Scan (share slice:id 1:1)
                                 ->  Hash
                                       ->  Shared Scan (share slice:id 1:1)
 Optimizer: Pivotal Optimizer (GPORCA)
(32 rows)

As a result there is cteProudcer was changed - the case three is here

I still don't really understand the logic of the current version of the patch.
Prior to translation, producers and consumers were validated using the ValidateCTEProducerConsumerLocality function.
When some motion is truncated to 1, we clearly know that all producers and consumers in the same slice are also truncated.
Why, then, collect them again and check for compliance?
At the same time, if there are no producers and consumers in the current slice, then everything is fine,
but if there are, then it is not enough to check only the current slice, because producers and consumers can be in different slices!

Also look at another interesting query that doesn't fallback without a patch, but it does fallback with a patch!
CREATE TABLE d (a int, b int, c int) DISTRIBUTED BY (a);
CREATE TABLE r (a int, b int, c char(255)) DISTRIBUTED REPLICATED;

INSERT INTO d SELECT 1, generate_series(1,10), 1;
INSERT INTO r SELECT 1, 2, generate_series(1,100);

EXPLAIN (ANALYZE off, COSTS off, VERBOSE off)
WITH e AS (
    SELECT DISTINCT b FROM d
), e1 as (
    SELECT DISTINCT b FROM d  JOIN e USING (b)
) SELECT * FROM r JOIN e1 USING (b) JOIN e1 f USING (b);

it is fixed by https://github.com/arenadata/gpdb/pull/514

it is fixed by https://github.com/arenadata/gpdb/pull/514

So there is no reason to add this query to tests?

So there is no reason to add this query to tests?

It looks like it.

Current approach correctly validates 3, 4, 5 cases. 1 case may give a false-positive result, the 2 case seems would be correctly validated too.

This paragraph of PR description was changed


sudo caught by AV

It seems that the sudo command gets caught by some antivirus programs.
Example from Bitdefender:
PowerShell tried to load a potentially malicious resource and was blocked.Your device is safe.
Do you know of any ways around this? (that isn't to put PowerShell on the exceptions list)

Same issue here, also occurring with Bitdefender. It seems that Bitdefender does not like turning off strict mode. Is it possible to not disable strict mode in the scripts?
I've already tried adding the sudo script to the exceptions list, but that didn't work. I will try again once I'm back at the machine in question. Maybe Bitdefender doesn't like scoops symlinks.


Can we draw shapes (Circle,Rect,Arrow etc ?)

No, it's not possible at the moment. I am also looking for that feature too.

No, it's not possible at the moment. I am looking out for that feature support.

Duplicate of #72

@ankitbatra11 / @burhanrashid52 Is it still not supported? Any chances to be add this feature in near future if not added.


policy: Fix policy unit tests in context of new identity garbage coll…

…ector
Commit 10e50bef7b6 has revelead a bug in the policy tests where identities are
allocated but never released. By not releasing the identities can re-appear in
another unit test and be included in the policy calculation which leads to
false negatives.
Example of failed test:
---------------------------------------------------------------------
FAIL: <autogenerated>:1: DaemonConsulSuite.TestUpdateConsumerMap

policy_test.go:252:
    c.Assert(qaBarNetworkPolicy, comparator.DeepEquals, expectedNetworkPolicy)
... obtained *cilium.NetworkPolicy = &cilium.NetworkPolicy{Name:"<IP_ADDRESS>", Policy:0xee10, IngressPerPortPolicies:[]*cilium.PortNetworkPolicy{(*cilium.PortNetworkPolicy)(0xc433171940)}, EgressPerPortPolicies:[]*cilium.PortNetworkPolicy{(*cilium.PortNetworkPolicy)(0x39bf0a0), (*cilium.PortNetworkPolicy)(0x3923000)}, XXX_NoUnkeyedLiteral:struct {}{}, XXX_unrecognized:[]uint8(nil), XXX_sizecache:0} ("name:\"<IP_ADDRESS>\" policy:60944 ingress_per_port_policies:<port:80 rules:<remote_policies:22814 remote_policies:45960 http_rules:<http_rules:<> > > rules:<remote_policies:22814 remote_policies:45960 http_rules:<http_rules:<headers:<name:\":method\" regex_match:\"GET\" > headers:<name:\":path\" regex_match:\"/bar\" > > > > > egress_per_port_policies:<> egress_per_port_policies:<protocol:UDP > ")
... expected *cilium.NetworkPolicy = &cilium.NetworkPolicy{Name:"<IP_ADDRESS>", Policy:0xee10, IngressPerPortPolicies:[]*cilium.PortNetworkPolicy{(*cilium.PortNetworkPolicy)(0xc4331b5480)}, EgressPerPortPolicies:[]*cilium.PortNetworkPolicy{(*cilium.PortNetworkPolicy)(0xc4331b54c0), (*cilium.PortNetworkPolicy)(0xc4331b5500)}, XXX_NoUnkeyedLiteral:struct {}{}, XXX_unrecognized:[]uint8(nil), XXX_sizecache:0} ("name:\"<IP_ADDRESS>\" policy:60944 ingress_per_port_policies:<port:80 rules:<remote_policies:45960 http_rules:<http_rules:<> > > rules:<remote_policies:45960 http_rules:<http_rules:<headers:<name:\":method\" regex_match:\"GET\" > headers:<name:\":path\" regex_match:\"/bar\" > > > > > egress_per_port_policies:<> egress_per_port_policies:<protocol:UDP > ")

Fixes: 10e50bef7b6 ("allocator: Periodically re-create master keys for local allocations")

This change is

test-me-please


Add two inverse conversions (#6, #7)

I wonder if there's a way to better organize these into pairs...

type.hpp now makes all these things distinct classes. That should help with organizing stuff later on, as well as adding stuff like a clip() function for RGB. I hope this doesn't cause extra copies or anything...

Thank you very much for this nice PR! The inverse functions are really important for this library, and the change on type.hpp looks reasonable to me.


KAFKA-16821: Member Subscription Spec Interface

Create a new interface called MemberSubscriptionSpec to hold the members subscription information.
The assignment member spec is replaced by the MemberSubscriptionSpecImpl class.
Eventually we want the ConsumerGroupMember class to implement the MemberSubscriptionSpec interface.

Hum... It looks like the new changes are gone now.

There are two tests failing in GroupMetadataManagerTest, will look into it tomorrow

Trunk

Trunk
Benchmark                               (memberCount)  (partitionsToMemberRatio)  (topicCount)  Mode  Cnt  Score   Error  Units
TargetAssignmentBuilderBenchmark.build          10000                         10           100  avgt    5  4.292 ± 0.132  ms/op
TargetAssignmentBuilderBenchmark.build          10000                         10          1000  avgt    5  5.477 ± 1.292  ms/op

Patch
Benchmark                               (memberCount)  (partitionsToMemberRatio)  (topicCount)  Mode  Cnt  Score   Error  Units
TargetAssignmentBuilderBenchmark.build          10000                         10           100  avgt    5  4.701 ± 0.257  ms/op
TargetAssignmentBuilderBenchmark.build          10000                         10          1000  avgt    5  5.492 ± 0.269  ms/op

Merged to trunk and to 3.8.


Liveleak link support

show name and info about video for liveleak

Implemented with 8ecaa9ae4654d7b3fe4d0186571d71fd333b3bbe
<Edward> testing liveleak plugin:
<Edward> http://www.liveleak.com/view?i=f5f_1449941999
<8ppp-helpdesk2> Edward: Another ship launch at my work, skip to 1:35 in Other Items from Liveleakers - 95633 views - 1 day ago by Josh Emrick


Remove false-positive GHSA-q4h9-7rxj-7gx2

Remove GHSA-q4h9-7rxj-7gx2, in which a Netty vulnerability is reported against the Lettuce artifact.  This is a false positive report.
The advisory asserts that the Lettuce package is vulnerable only because it expresses a dependency on a vulnerable version of Netty -- but Lettuce itself does not have this vulnerability: it does not actually package or shade the vulnerable Netty code. The Netty vulnerability already has its own CVE/advisory. This advisory incorrectly flags the usage of Lettuce even when a consuming project has otherwise overridden or excluded the actually-vulnerable Netty package.

Filed issue https://github.com/github/advisory-database/issues/5116 for this instead.


[Formatter] Fix several formatting issues

Purpose
Fixes #26002
Fixes #26001
Fixes #26005
Fixes #26004
Disables the formatting of nested if statements and query expressions in order to reduce the priority levels of the following issues.
#25999
#25988
Approach

Describe how you are implementing the solutions along with the design details.

Samples

Provide high-level details about the samples related to this feature.

Remarks

List any other known issues, related PRs, TODO items, or any other notes related to the PR.

Check List

[ ] Read the Contributing Guide
[ ] Updated Change Log
[ ] Checked Tooling Support (#)
[ ] Added necessary tests

[ ] Unit Tests
[ ] Spec Conformance Tests
[ ] Integration Tests
[ ] Ballerina By Example Tests

[ ] Increased Test Coverage
[ ] Added necessary documentation

[ ] API documentation
[ ] Module documentation in Module.md files
[ ] Ballerina By Examples

Fixes: #26004

@SupunS Fixed the issue pointed and added a test case for it.


v2.4.0 error

also please make sure to also update @thirdweb-dev/sdk to the latest version

It gives another error with 2.4.1

also please make sure to also update @thirdweb-dev/sdk to the latest version

Make sure the sdk is updated to the latest version please, that should solve this new error

I'm using the latest version. but still the issue exists

I'm using the latest version. but still the issue exists

+1, i'm having the same issue

same error


Revisited how transitions are handled by the cmx 3600 adapter.

The code handling transitions in the cmx 3600 adapter was hard to follow and was introducing problems. These changes
fix these problems and make the code easier to maintain.

Transitions lines are now collected when parsing EDL lines and treated by the ClipHandler.
The Clip source and record points are replaced with the transition values when the line is parsed.
The transition in_offset is now 0 and the out_offset is the transition duration, matching in the timeline what would be done if the editing was read from another format.
The transition is added just before the clip when it is added to a track, and that's it.
Adjusted tests for the new way of handling transitions, added some other checks.
Added an EDL read/write/read roundtrip to check that the reader and writer are compatible.
Removed code which was not needed anymore.

Fixes #1328
Fixes #912
Fixes #977
Now the transitions read from an EDL appear at the right time in the timeline, and the timeline has the right overall length.

Associated tests.
These changes are covered by the test_cmx_3600_adapter tests. A read/write/read roundtrip test was added to ensure they are compatible with the writer.

Codecov Report

Merging #1337 (beac098) into main (d48163e) will increase coverage by 0.00%.
The diff coverage is 88.46%.

@@           Coverage Diff           @@
##             main    #1337   +/-   ##
=======================================
  Coverage   86.17%   86.18%
=======================================
  Files         196      196
  Lines       19848    19825   -23
  Branches     2319     2309   -10
=======================================
- Hits        17105    17087   -18
+ Misses       2175     2171    -4
+ Partials      568      567    -1

Flag
Coverage Δ

py-unittests
86.18% <88.46%> (+<0.01%)
:arrow_up:

Flags with carried forward coverage won't be shown. Click here to find out more.

Impacted Files
Coverage Δ

...opentimelineio/opentimelineio/adapters/cmx_3600.py
84.77% <70.00%> (-0.79%)
:arrow_down:

tests/test_cmx_3600_adapter.py
99.14% <100.00%> (+0.07%)
:arrow_up:

Continue to review full report at Codecov.

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

The failed jobs look like a temporary network problem. I pressed the "Re-run failed jobs" button.

Hello, I signed the CLA, but the PR still says "uncovered". Should I push an empty commit to get the bot ran again and have it updated?

Hmm.. I would have expected it to update automatically. Can you try resolving the DCO check first? Maybe that will re-run the CLA check also. We only recently enabled EasyCLA, so we're still learning it's quirks.


Supporting iOS 13 Dark Mode

iOS13 supports Dark Mode, is there any plan to support this feature?

I know this doesn’t follow a template, but an answer to this would be appreciated.

Also interested to know if this will be supported.

This is copied from the issue template that was ignored when creating this issue:

If you'd like to discuss topics related to the future of React Native, or would like to propose a new feature or change before sending a pull request, please check out the discussions and proposals repo:

https://github.com/react-native-community/discussions-and-proposals

As it happens, "Dark Mode support" is already discussed in the mentioned repository.
If you head over to https://github.com/react-native-community/discussions-and-proposals/issues/126 you will find the discussion and suggested strategies on how to support dark/light mode themes on the supported platforms 👍


Create traffic sign component

~BLOCKED BY PR-846!~
Changes

A new RUI component is introduced that renders traffic signs onto a konva canvas.

TrafficSign component created.
TrafficSign component variations created in storybook.
End-to-end tests written for the TrafficSign component.

Dependencies

~BLOCKED BY PR-846!~
~Merge only after the PR above is merged. Ideally, don't review before as this will cause the Figure component to be reviewed twice.~
Testing notes

[!IMPORTANT]
Failed CI tests are a known issue, please ignore.

Checkout the branch
pnpm i
pnpm run storybook
Test the 'TrafficSign' component under Road View (category)
Test all props can be changed and the component updates as expected. Change speed limit value to a non valid value like 42 and expect a file unknown icon to render.
Using the testing tab in VSCode run the tests manually. Make sure they all run. Make sure storybook is running before testing!

[!NOTE]
You'll have to run the test at least twice. First run generates the reference images. Make sure the reference images display the expected component.

Author checklist before assigning a reviewer

[x] Reviewed my own code-diff.
~[ ] Branch has been run in docker.~
[x] PR assigned to me or an appropriate delegate.
[x] Relevant labels added to the PR.
[x] Appropriate tests have been added.
[x] Lint and test workflows pass.

5. Using the testing tab in VSCode run the tests manually. Make sure they all run. Make sure storybook is running before testing!
Note
You'll have to run the test at least twice. First run generates the reference images. Make sure the reference images display the expected component.

I don't think we should recommend manually running tests in PRs like this. You should recommend to run the tests via Docker, for which snapshots already exist. Don't confuse it for reviewers.

A new RUI component is introduced that renders traffic signs onto a konva canvas.

TrafficSign component created.
TrafficSign component variations created in storybook.
End-to-end tests written for the TrafficSign component.

It would be nice to show a screenshot of the component in future reviews. That's what the UI section is for (which you deleted by the look of it).

You need to make sure your component is exported from the root index otherwise you won't be able to import it in your app. Same goes for figure component which also appears to be missing although already merged.
https://github.com/IPG-Automotive-UK/react-ui/blob/create-traffic-sign-component/src/index.ts

The default story should show default values for all props. The "set number" buttons etc mean there isn't currently a value defined in the story. Make sure all stories have appropriate values defined for all props.

In future, just delete sections that are no longer relevant rather than strikethrough. I don't need to see the past state when I'm reviewing it today.

I don't think this is related to your changes but there's somethign weird with storybook giving me this error for your component and all components. If I open in incognito browser it works fine but doesn't work in my usual browser window. Some weird cache or something maybe between branches. I'm copying in @mattcorner to take a look as I wonder if it's related to vite changes https://github.com/IPG-Automotive-UK/react-ui/pull/810.

No need to hold up this PR with it.


arvindkgs: A quick and practical example of Hexagonal Architecture in…

Evaluation article on Hexagonal Architecture. User: arvindkgs

Closing as per guidelines


Can't debug into @functions code

I am unable to debug into my @functions code in my razor page:

This is with VS2017 Update3 preview1

Was able to reproduce this as well.

@NTaylorMullen can you take a look at this one please? Balance as necessary, but we'll need to figure this out of course.

This issue was moved to aspnet/Razor#1387


[FP]<EMAIL_ADDRESS>CVE-2020-36518

Package URl
<EMAIL_ADDRESS>CPE
cpe:2.3:a:fasterxml:jackson-databind::::::::
CVE
CVE-2020-36518
ODC Integration
{"label"=>"Maven Plugin"}
ODC Version
7.0.0
Description
Refer to this  https://github.com/jeremylong/DependencyCheck/issues/792 .

Agree that this is a FP, however, also recommend you to look into upgrading to Jackson v2 as Jackson v1 is deprecated and not receiving any maintenance releases
<dependency>
    <groupId>com.fasterxml.jackson.jaxrs</groupId>
    <artifactId>jackson-jaxrs-json-provider</artifactId>
    <version>2.13.2</version>
</dependency>

Thanks for reminding. However, for various reasons, it has not been upgraded yet.

Just wanted to be sure that you were aware, because when looking at maven central you might get the impression that 1.9.13 is the latest release of jackson-jaxrs functionality as they changed maven coordinates afterwards in the upgrade to jackson v2.

Just wanted to note @aikebah, that the CVE still affects the latest version "2.13.2". Upgrading will not resolve this CVE and still appears in the vulnerability check.

@t4colingough Only jackson-databind 2.13.2 hits, which is a transitive dependency of the jaxrs library. So that's a true positive.
For the patch of the CVE only jackson-databind got a new version (micro-patch). Best approach is to use dependencyManagement with the latest 2.13.x jackson bill-of-materials.


#53: Error on invalid "config" item

This adds a manual check that the name "config" is not used anywhere where a valid Pile config is expected or will cause confusion with the same.

I also had to replace chrono with time to make cargo audit happy.


Installing spotify doesn't work as expected

Brief description of your issue

I am not sure what is going wrong but look like hash doesn't match. What I believe is spotify team come up with new version and since winget-cli match with the old hash, it's failed. I am just guessing. It might be a different reason, it's work fine in the past.
Steps to reproduce
install it by given command, I am on windows 10.
Expected behavior
it should work and install the software
Actual behavior
it's failed due to hash mismatch.
Environment
Windows 10,
latest winget package ( not preview)

Unfortunately, this is due to a bug in the validation process: https://github.com/microsoft/winget-pkgs/issues/72224. I've opened a PR to update Spotify's hash, but it'll need to be manually reviewed by Microsoft since validation won't pass :/
For now, winget install Spotify.Spotify --force will work.

@jedieaston  Thanks for fast reply. I was not sure since the domain is not spotify.com so I go to the site and manually download it.


Gatsby client-only routes and 404 pages

Describe the bug
To Reproduce
Steps to reproduce the behavior:
1.1. Go to '(https://zealous-coast-0d9f37603-36.westeurope.azurestaticapps.net/)'
1.2. Click on the login button in the header
1.3. Refresh the page
4. The styling is weird
2.1. Go to '(https://zealous-coast-0d9f37603-36.westeurope.azurestaticapps.net/dskjalasjdklas)'
{
  "navigationFallback": {
    "rewrite": "/index.html"
  },
"responseOverrides": {
        "404": {
          "rewrite": "/404.html"
        }
    }
}

Expected behavior
The css/styling should be consistent on a refresh, and not existing paths should show a 404 page and not fallback to the indexpage of the site.

I'm getting the same issue in a production application (not a Gatsby one), and this makes https://nuget.info/packages fail to route properly. This breaks a lot of scenarios inside the app as a result.
Here's the configuration : https://github.com/NuGetPackageExplorer/NuGetPackageExplorer/blob/ae50e38c82a042a94c7c61b46aa48607e60e98aa/Uno/NuGetPackageExplorer.Wasm/wwwroot/staticwebapp.config.json#L3


Workaround for empty list entry

The "Install apt packages" step will fail because of empty list entry on Ubuntu < 18.04:
TASK [baremetal : Install apt packages] ***************************************************************************************************************************************************************************
ok: [localhost] => (item=docker-ce)
ok: [localhost] => (item=git)
failed: [localhost] (item=) => {"changed": false, "item": "", "msg": "No package matching '' is available"}
...

Thank you for contributing to openstack/kolla-ansible!
openstack/kolla-ansible uses Gerrit for code review.
If you have never contributed to OpenStack before make sure you have read the
getting started documentation:
https://docs.openstack.org/infra/manual/developers.html#getting-started
Otherwise please visit
https://docs.openstack.org/infra/manual/developers.html#development-workflow
and follow the instructions there to upload your change to Gerrit.


Handling unsupported widgets/properties in wxPython and XRC

Description:

With XRC, if wxUiEditor supports a control and/or properties that XRC doesn't support, a comment is made to that effect in the XRC panel display (which is removed when the XRC file is written).
It's more complicated with Python, because you can end up with non-working UI. For example, wxPython does not (as of 4.2.0) support using a control in place of a label for wxStaticBox -- which means you cannot have a wxStaticBoxSizer with a checkbox or radiobutton as the label, but you can in both C++ and XRC.
The other issue is that the Mockup panel only shows what the UI looks like using C++ -- which is incorrect if one or more elements are not supported in XRC or Python. In some cases, we should be able to adjust the display based on the prop_code_preference of the current project, though if the user sets it to any then it is effectively only showing C++ code.
I don't have a good solution in mind for this problem -- I'm just adding the issue now to refer to.

wxRearrangeCtrl is supported by C++ and Python, but not supported by XRC. Currently this control is simply ignored when generating XRC, which means there is nothing to indicate to the user that XRC doesn't support it.

Once the hidden and magnify toolbar buttons become part of the Mockup panel, we could add a dropdown menu that let's the user choose which language to Mockup (C++, Python, Ruby, XRC). C++ would be the default.


a few things

Codecov Report

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

@@           Coverage Diff           @@
##           master     #639   +/-   ##
=======================================
  Coverage   87.18%   87.18%
=======================================
  Files          21       21
  Lines        1529     1529
=======================================
  Hits         1333     1333
  Misses        196      196

Flag
Coverage Δ

#unittests
87.18% <ø> (ø)

Flags with carried forward coverage won't be shown. Click here to find out 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 8b2bb03...852e169. Read the comment docs.


chore: jump to v1.6.7

Codecov Report

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

@@           Coverage Diff           @@
##           master     #725   +/-   ##
=======================================
  Coverage   84.88%   84.88%
=======================================
  Files           7        7
  Lines        1872     1872
=======================================
  Hits         1589     1589
  Misses        177      177
  Partials      106      106

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 6a1781e...38b923c. Read the comment docs.