Jenkins framework unregisters from Mesos frequently

Hi
I have registered Jenkins frame work on Mesos and able to launch jobs.  But some times I see the framework goes to completed framework list in Mesos. Any help as why its going like this?
I have got to save this Mesos cloud from Jenkins once again to register this framework on Mesos.

Have you configured Mesos plugin with 'On Demand registration' ? If yes, then jenkins will connect to mesos only when there is a build in queue and disconnect from mesos after the build is complete.

Hi Mani
I have made it as no in this option below:
On-demand framework registration	 Yes  No

@vidyajothiraman, did you try 1.0 or 2.0 of the plugin?

Closing for lack of response.


VirtualScroll rendering issue after altering source array

Ionic version:  (check one with "x")
[ ] 1.x (For Ionic 1.x issues, please use https://github.com/driftyco/ionic-v1)
[ ] 2.x
[x] 3.x
I'm submitting a ...  (check one with "x")
[x] bug report
[ ] feature request
[ ] support request => Please do not submit support requests here, use one of these channels: https://forum.ionicframework.com/ or http://ionicworldwide.herokuapp.com/
Current behavior:
The scrolling behavior is as expected until some elements are added to the source array.
Afterwards rapidly scrolling the list results in visible flickering of items or even empty item slots, which are filled after a short timeout or sometimes only triggered by an additional small scrolling push.
This seems to occur with or without using headerFn and/or virtualTrackBy.
(Loading the complete list content within a VirtualScroll without altering the source array results in smooth and solid scrolling without the mentioned issue..)
Expected behavior:
Altering the source array (adding or removing items) should not result in VirtualScroll rendering issues; scrolling should be as smooth and solid as after initialization.
Steps to reproduce:

Use VirtualScroll and intialize source array
Rapidly scroll up and down to verify smoothness of scrolling
Alter source array by adding more items (could be done by simple setTimeout or by using InfiniteScroll)
Rapidly scroll up and down; you eventually see the described flickering issue.

Related code:
<ion-content>
  <ion-list no-lines [virtualScroll]="Measures" approxItemHeight="'50px'"
        approxHeaderHeight="'50px'" [headerFn]="myHeaderFn" [virtualTrackBy]="trackByFn">
    <ion-item-divider *virtualHeader="let header" class="header">
      <h2>{{ header }}</h2>
    </ion-item-divider>

    <ion-item *virtualItem="let measure">
      <ion-icon [name]="measure.Icon" item-left></ion-icon>
      {{ measure.Value }} {{ measure.Unit}}
      <ion-note item-right>
        {{ measure.Caption }}
      </ion-note>
    </ion-item>
  </ion-list>

  <ion-infinite-scroll (ionInfinite)="doInfinite($event)">
    <ion-infinite-scroll-content></ion-infinite-scroll-content>
  </ion-infinite-scroll>
</ion-content>

  trackByFn(index, item) {
    if (!item) {
      return undefined;
    }
    return item.TrackID;
  }

  myHeaderFn(record, recordIndex, records) {
    if (!record || !record.FormattedTime) {
      return null;
    }

    // show header on first item and each new measure time
    if (recordIndex === 0 || (recordIndex > 0 && record.FormattedTime !== records[recordIndex-1].FormattedTime)) {
      return record.FormattedTime;
    }
    return null;
  }

  // method for infinite scroll
  doInfinite(infiniteScroll) {
    // load next measures to display
    this.dataProvider.loadMeasureHistory(OFFSET, LIMIT).then(measures => {
        measures.forEach(m => {
          this.Measures.push(m);
        });

        // report end of loading process, so that list can hide spinner
        infiniteScroll.complete();
    }).catch(err => {
      infiniteScroll.complete();
    });
  }

Ionic info: (run ionic info from a terminal/cmd prompt and paste output below):
global packages:

    @ionic/cli-utils : 1.2.0
    Cordova CLI      : 6.4.0
    Ionic CLI        : 3.2.0

local packages:

    @ionic/app-scripts              : 1.3.7
    @ionic/cli-plugin-cordova       : 1.2.1
    @ionic/cli-plugin-ionic-angular : 1.2.0
    Cordova Platforms               : android 6.1.2
    Ionic Framework                 : ionic-angular 3.3.0

System:

    Node       : v6.9.4
    OS         : Windows 10
    Xcode      : not installed
    ios-deploy : not installed
    ios-sim    : not installed

I am also experiencing similar issues. In my case I'm not using ion-infinite-scroll.
In my case, I'm updating a single item in the list immutably (via @ngrx/store), and the array gets newly created (as it's also immutable).
I see no refresh/flicker using *ngFor.
I also checked the behaviour with ionic-angular 2.2.0, and that worked flawlessly, so this problem has been introduced since then.
The Ionic documentation says:

Changing the dataset requires the entire virtual scroll to be reset, which is an expensive operation and should be avoided if possible

... however in my opionion the [virtualScroll] should work as well as *ngFor.

Hello, thanks for opening an issue with us, we will look into this.

Is there an Ionic 3.3.0 plnkr or codepen that I could fork to demonstrate the problems I'm having with virtualScroll?

Okay, I now have a Ionic 3.3.0 plnkr that demonstrates this problem:
http://plnkr.co/edit/wcsNrJ?p=preview
Click on any item in the [virtualScroll] and the content of the ion-item get increased. You can see also that all the items get redrawn and the list flickers.
I hope this helps in being able to replicate the problem.

This seems related to #11294. Situation was improved by #11297 but just for edits outside the viewable port and additions deletions after the viewable port (fast path update).
The rest take the slow path which essentially destroys and recreates all rendered items, thus causing the flickering and other side effects like closing a ion-slide-item that was open etc.
@manucorporat had mentioned that there might be a solution for not destroying the elements when a slow path is taken.

Hello all! After further review I am going to close this issue as a duplicate of #11788


Fix: template utils caused APIBinding case failed

Fix: template utils caused APIBinding case failed
Root cause
When we do some negative test the create failed is as an expected result, but @zimo-xiao 's new utils kcp-tests/pull/19 expected all create results are successful.
Fix Solution
Change the underlayer framework utils not process the error with assert, return it directly, in addition we could process in sub component util methods, it'll be more general.
Test Record
$ ./bin/kcp-tests run smoke
started: (0/1/8) "[area/workspaces] Author:pewang-Medium-[Smoke] Multi levels workspaces lifecycle should work [Suite:kcp/smoke/parallel/minimal]"

started: (0/2/8) "[area/transparent-multi-cluster] Author:pewang-Critical-[Smoke][BYO] Validate creating, modifying and deleting a deployment from KCP get synced to the pcluster [Suite:kcp/smoke/parallel/minimal]"

started: (0/3/8) "[area/common-version] Author:knarra-Medium-[Smoke] Checking kcp server version should display correctly [Suite:kcp/smoke/parallel/minimal]"

passed: (13.7s) 2022-11-09T06:33:14 "[area/common-version] Author:knarra-Medium-[Smoke] Checking kcp server version should display correctly [Suite:kcp/smoke/parallel/minimal]"

started: (0/4/8) "[area/apiexports] Author:pewang-Critical-[Smoke] Verify APIBinding working with personal workspace [Suite:kcp/smoke/parallel/minimal]"

passed: (29.8s) 2022-11-09T06:33:44 "[area/apiexports] Author:pewang-Critical-[Smoke] Verify APIBinding working with personal workspace [Suite:kcp/smoke/parallel/minimal]"

passed: (1m30s) 2022-11-09T06:34:31 "[area/transparent-multi-cluster] Author:pewang-Critical-[Smoke][BYO] Validate creating, modifying and deleting a deployment from KCP get synced to the pcluster [Suite:kcp/smoke/parallel/minimal]"

passed: (1m34s) 2022-11-09T06:34:34 "[area/workspaces] Author:pewang-Medium-[Smoke] Multi levels workspaces lifecycle should work [Suite:kcp/smoke/parallel/minimal]"

started: (0/5/8) "[area/transparent-multi-cluster] Author:knarra-Critical-[Regression] Verify default placements for shared compute [Suite:kcp/smoke/parallel]"

started: (0/6/8) "[area/transparent-multi-cluster] Author:knarra-Critical-[Regression] Verify default placements for BYO [Suite:kcp/smoke/parallel]"

started: (0/7/8) "[area/quota] Author:zxiao-Critical-[API] Verify that quota works for cluster-scoped resources across all namespaces in the workspace [Suite:kcp/smoke/parallel]"

passed: (24.1s) 2022-11-09T06:34:58 "[area/transparent-multi-cluster] Author:knarra-Critical-[Regression] Verify default placements for shared compute [Suite:kcp/smoke/parallel]"

passed: (50.8s) 2022-11-09T06:35:25 "[area/transparent-multi-cluster] Author:knarra-Critical-[Regression] Verify default placements for BYO [Suite:kcp/smoke/parallel]"

passed: (1m34s) 2022-11-09T06:36:08 "[area/quota] Author:zxiao-Critical-[API] Verify that quota works for cluster-scoped resources across all namespaces in the workspace [Suite:kcp/smoke/parallel]"

started: (0/8/8) "[area/workspaces] Author:zxiao-Medium-[Serial] I can create context for a specific workspace and use it [Suite:kcp/smoke/serial]"

passed: (13.8s) 2022-11-09T06:36:22 "[area/workspaces] Author:zxiao-Medium-[Serial] I can create context for a specific workspace and use it [Suite:kcp/smoke/serial]"

8 pass, 0 skip (3m22s)

@xingxingxia @kasturinarra @wangke19 @duanwei33 @zxiao-redhat Could you please help to have a review when you get a chance? Thanks!

/lgtm

/assign @xingxingxia

When we do some negative test the create failed is as an expected result

@Phaow When we do some negative test, the functions will fail and this is expected, yes I agree to this. But in KCP current and future tests, do/will we have such negative test? If not, then seems to need not the fix, because @zimo-xiao's intention of these functions is to make the calling of them concise?

/lgtm

Merging. make our codes the same style is good topic. Indeed among current functions, some are seen with o.Expect(err).NotTo(o.HaveOccurred()) included, some are seen leaving o.Expect(err).NotTo(o.HaveOccurred()) not included, this leads to: if not reading the definitions of them and if only reading the function names, some functions' names are not easy to tell if an o.Expect(err).NotTo(o.HaveOccurred()) is needed after the function is called. Could be discussed further if needed.

Merging. make our codes the same style is good topic. Indeed among current functions, some are seen with o.Expect(err).NotTo(o.HaveOccurred()) included, some are seen leaving o.Expect(err).NotTo(o.HaveOccurred()) not included, this leads to: if not reading the definitions of them and if only reading the function names, some functions' names are not easy to tell if an o.Expect(err).NotTo(o.HaveOccurred()) is needed after the function is called. Could be discussed further if needed.

Sure, thanks! We could discuss and do some optimizations later.


Ability to change the MudSwitch icon color for "off" mode

Feature request type
Enhance component
Component name
MudSwitch
Is your feature request related to a problem?
No response
Describe the solution you'd like
The MudSwitch Color property sets the color for the "on" mode (toggled right).
In the "off" mode (toggled left), the default icon color is always white (unless disabled)
which causes visual issues in our app (white-on-white).
Since there's already a Color property, I imagine a new property should be added,
something like : StartColor, OffColor, ...
Have you seen this feature anywhere else?
No response
Describe alternatives you've considered
I've tried changing the color using CSS to no avail.
Pull Request

[ ] I would like to do a Pull Request

Code of Conduct

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

We discussed this once and noticed that we can do with one line code
Please look at this example
https://mudblazor.com/components/switch#thumb-icon

Unfortunately that does not work.
"on"

"off", still white.

Are you talking about thumb background color?

No, the circle color, it always remains white.

No, the circle foreground color, it always remains white.

I think we are talking about same, when we created the Icon and iconcolor PR also thought about the thumb color but we didn't implement in that PR. What do you think about @Garderoben?

Or you just use any of the other colors than the default one if this specific color does not work for you?
Normally the "default" switch does not even exists, see it as a bonus.

Or you just use any of the other colors than the default one if this specific color does not work for you?
Normally the "default" switch does not even exists, see it as a bonus.

That's the issue, the white color can not be changed.

I've managed to get it working: .mud-switch-base {color: red;}
Off mode:

On mode:

Would be cool if this could be translated to an additional MudSwitch parameter.
Given the current class name, something like BaseColor seems fitting?

new feature reqiest: https://github.com/MudBlazor/MudBlazor/issues/4340


add django 2.0 support (remove no_initial_data)

A quick search showed no recent usage of removal of this flag, so I assume it was depreciated some time ago.

In case anyone else needs this in the meantime, the end user fix looks like this https://github.com/project-callisto/django-wizard-builder/pull/209/commits/a7f4a11c38826c93e5fbbfe34c1657c96f299274#diff-394e6b61ec4b04ef867603002928b3deR10

@plumdog I think we need help on this, maybe you could take a look?
I feel like we are very close to the end :)

👀 looks pretty quite in here
someone else can handle fixing this particular thing, I think


lazy-ads not working with multiple Google AdSense placeholders of same format, Solution?

When you have three placeholders of Google AdSense, the ad snippet you place there from Google is always the same.
However, if you wrap each of those snippets into a lazy-ad, only the first one executes...
In the console, I get these errors:
Uncaught TypeError: Cannot read property '1' of null
(anonymous function)
it is a resource that gets loaded from
http://googleads.g.doubleclick.net/pagead/adview?ai=C5Z9jY9YnVfehDerx7QaIvY…6sq_AQcZfTwpN0SRatdIWXmV0WUgAb_vM3Rpdegx8QBoAYh2AcA&sigh=7Ec_ESyXWa0&vis=1
Anyone having used lazy-ads with multiple AdSense placeholders of same format (e.g. three times 300x250) ?

Nobody with some experience with this? I heard now that lazy-ads caches the output and it might be the case that this is the reason why only one placeholder gets processed...
I think this is a bug in lazy-ads

I use only one Google AdSense slot and this works. Sorry I can't help.

Ok, but it would be fair to mention it somehow on the front page documentation that is has been tested well for one placeholder only and not for multiple placeholders of the same format (e.g. three placesholders for 300x250).

Question: is lazy-ads using a local cache somehow? If so, what is the "key" for the cache? I'd like to dig into this and resolve it.

I'm late to the party, but I'm having a similar issue with another network. If I have multiple placements of the same format, 1/2 of them render at the bottom of the browser.

Any updates on this? Using multiple instances of the same advertising tags, i.e: two copies of a 300x250 ad unit, results in some of the ad units being displayed in the footer region of my website. I can reproduce this over and over.


Potential patch for issue https://github.com/jldec/marked-forms/issues/2

Think what I said earlier in the bug report may have been a bit skewed; I have since retested the package as cloned directly from git. I am still experiencing issues with the code, if I test the library out of the source directory. It seems it still fails if I then require it from a local subdirectory, for example. I.e. if I clone the repo, and copy my code into the source directory, I experience no problems; if I copy the clean copy of marked-forms.js into my project however, I get issues, as I do when creating a clean project and installing via npm. Either way, I have had to patch it for use in another project and it is running fine so have PRed anyway for you to see the changes I was mentioning in the bug, up to you what you want to do with them :)
Actually in case it's of any interest, the project was to integrate this library into Jekyll for rapid prototyping of a basic webform, I've tied-in some Javascript I found in an article that is able to rip out the form's contents without needing anything serious and present it as a JSON object that can then be used to do something useful. I'll hope to upload that in the next few days just in case it's nice to know someone's appreciated your library. (I would like to make some processes for myself quicker, like booking train tickets (think I will need nightmare.js for this, the trains in the UK are a right mess) and online shopping: If I need to buy something, I search the same sites and re-enter a lot of similar information on lots of different sites, ebay, amazon, Oxfam, onbuy, gumtree, etc. So what you've written is great as I can specify some quick options like category, used/new, max/min price, sort-by in markdown, run it, and then by having a simple static site hopefully I can just dump the site structure on my GDrive etc. and each time, fill out the form on whatever machine I'm on to open a number of tabs in my browser and see if I can find what I'm looking for at a decent price  and environmentally-friendly way 🎆🎆🎆)
Thanks :D

Thanks for this - I hope the latest release takes care of your issue.


Get Millan et al. (2022) ice velocity data from OGGM

A new entity task is available at OGGM to download ice surface velocity data for each gdir. Learn how to use it and add it to the ice rheology inversions pipeline.

Already implemented in the invert branch.


[FLINK-2113][gelly] removed env.execute() after print()

This PR removes all the env.execute() that occur after a Dataset.print() in gelly examples to fit the new functionality.
@uce can you have a quick look at this?
Thanks!:)

Looks good to me. Will merge this.


Add NH functions

Main modification is to add NHtimestep() to integral steps under Nose Hoover thermostat algorithms. A few more functions to work with NH conduction are also added.

Hi @ctu-3u . Thanks a lot. Would you permit me to do a bit of editing to your PR ? I think it would be friendlier on your time than for me to give you feedback.

Dear Tom,
Of course. Let me check how to make the permission.

If you marker "Allow edits from mainteners" (which is by default on) it should be fine

Okay. It is on.

Let me work on this still a bit and merge it


Add .envrc and shell.nix with build deps

This PR adds a shell.nix for use with the Nix package manager http://nixos.org/nix/
This should provide an OS-agnostic way to install all the build dependencies.
FIXME: for some reason using llvm from Nix on Darwin causes a panic during the build of librocksdb. Happens while looking for clang folders.

[clabot:check]

While I'm using nixos myself and also have direnv installed. I'm not sure we should add these files to the repo.

@bkchr What's your concern? I guess there could be people using their own .envrc so we could exclude that file. Also, could move shell.nix into a subfolder?

CI seems to be failing because of DNS resolution?
fatal: unable to access<EMAIL_ADDRESS>Could not resolve host: gitlab.parity.io

I'm personally no fan of cluttering a project repository with distribution specific files etc.
While I'm using also nix, my file looks quite different and I would not want to use yours. I think having the basic dependencies written, should be enough for any developer to install these on the system of choice.
For reference, my default.nix:
with import <nixpkgs> {};
let
  myrust = ((rustChannelOf { date = "2019-05-22"; channel = "nightly"; }).rust.override { extensions = [ "rust-src" "rls-preview" "rust-analysis" "rustfmt-preview" "clippy-preview" ]; targets = [ "wasm32-unknown-unknown" ]; });
  wasm-gc = rustPlatform.buildRustPackage rec {
    name = "wasm-gc-${version}";
    version = "0.1.11";
    src = fetchFromGitHub {
      owner = "alexcrichton";
      repo = "wasm-gc";
      rev = "wasm-gc-api-${version}";
      sha256 = "0nw6yhgn3d38s1dmh4jkiccsrks5i1cpjgb7r52l2n8cnry4h1zs";
    };

    cargoSha256 = "1sr54na5pvqxb38g8187w1z5a88lfidyb5a0q8fdfnxjjrny1556";
  };
in
stdenv.mkDerivation {
  name = "substrate";
  buildInputs = [ myrust wasm-gc openssl pkgconfig cmake python3 llvmPackages.clang-unwrapped gnuplot wabt ];
  LIBCLANG_PATH="${llvmPackages.libclang}/lib";
  RUST_SRC_PATH="${myrust}/lib/rustlib/src/rust/src";
  shellHook = ''
    export NIX_CXXSTDLIB_LINK=""
  '';
}

So, thank you for your pr, but I will close it.

Please add yours! You have no idea how much time you'd have saved me. I don't use brew and to install all depends to build the project takes a long time

@bkchr From the looks of it, the file you shared is also a shell.nix, not an actual buildable package default.nix. I've combined yours with mine to fix MacOS support https://github.com/enumatech/substrate/commit/3fd7eeffe9c0e6d343f8c04ca1827b5afc7d537b
Please reconsider your decision not to add this to the repo, perhaps in a contrib folder? The README only shows how to install dependencies with apt and brew. As you know, Nix is the only OS-agnostic package manager, so the shell.nix is helpful to Linux and OSX users alike.


RxJS Observable.ajax cross domain issue

RxJS version:
5.0.0-beta.8
Code to reproduce:
Codepen example
const { Observable } = Rx;

/*
XMLHttpRequest cannot load https://www.reddit.com/r/reactjs.json.
Response to preflight request doesn't pass access control check: No 'Access-Control-Allow-Origin' header is present on the requested resource.
Origin 'http://s.codepen.io' is therefore not allowed access.
*/
Observable.ajax(`https://www.reddit.com/r/reactjs.json`)
  .catch(err => console.log('Observable.ajax error', err))
  .subscribe(res => console.log('Observable.ajax', res))

// Same error
Observable.ajax({ url:`https://www.reddit.com/r/reactjs.json`, crossDomain: true })
  .catch(err => console.log('Observable.ajax error', err))
  .subscribe(res => console.log('Observable.ajax', res))

// Success!
Observable.from(fetch(`https://www.reddit.com/r/reactjs.json`))
  .subscribe(res => console.log('window.fetch', res))

Expected behavior:
Unable to request third party APIs using Observable.ajax(...), although using window.fetch with Observable.from works as expected
Actual behavior:
Determine if this is a bug with RxJS's Observable.ajax, or just a configuration issue.
Additional information:

As error message mentions, seems like default factory of XHR in ajaxObservable sets withCredentials to true by default (https://github.com/ReactiveX/rxjs/blob/ceb99904c6b56a5d2e832fdd9e07dcf58cb2ad3d/src/observable/dom/AjaxObservable.ts#L28-L29) causes this issue.

A wildcard '*' cannot be used in the 'Access-Control-Allow-Origin' header when the credentials flag is true.

as an immediate workaround, can provide custom factory to XHR such as
Observable.ajax({
    url:`https://www.reddit.com/r/reactjs.json`,
    crossDomain: true,
    createXHR: function () {
      return new XMLHttpRequest();
    }
})

allows bypassing default configurations.
I'm not sure if this is expected behavior to set credential by default, or at least need to allow user level configurations to those flags - CC'ing @trxcllnt for asking helps as original author.

thanks @kwonoj, this works.  I'm interested in what @trxcllnt has to say about the defaults as well

@kwonoj @techniq while I helped with an initial port of the ajax method from RxJS-DOM, I believe @blesh is responsible for the version that actually made it into the library. It seems we should be doing something similar to the fix for RxJS-DOM#95, and switch how we create the XHR based on the crossDomain flag.

Let me try to update implementations.

This is not fixed:
There is still an error the above example, when using rxjs 5+ and redux-observable.
const fetchTestReportsEpic = (actions) => {

    const requestSettings = {
        url:'http://localhost:3001/testReports',
        crossDomain: true,
        body: {},
        responseType:'json',
    }

    return actions.ofType(ActionTypes.FETCH_TEST_REPORTS)
        .switchMap(() =>
            Observable.ajax(requestSettings)
            .map(payload => {
                console.log(payload);
                fetchTestReportsFulfilledAction(payload)
            }));
}

Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://localhost:3001/testReports. (Reason: CORS header ‘Access-Control-Allow-Origin’ missing).

Hi guys,
I too face the same issue. There was an example using:
import {ajax} from "rxjs/observable/dom/ajax";
And just calling whatever ajax.getJSON("http://...") will result in an error that Access-Control-Allow-Origin header is missing.


Behaviour Trees

seqsel/ contains the behaviour tree transpiler, data/ contains the example (simple) wall following tree
Send messages (std_msgs/Bool) to "/nord/houston/mission_result" to indicate success or failure, or an empty message (std_msgs/Empty) to "/nord/houston/mission_abort" to force a top-down re-evaluation of the tree.
Based on the usual https://en.wikipedia.org/wiki/Behavior_tree_(artificial_intelligence,_robotics_and_control) except nodes are expected to run until they finish, instead of returning "running".

If Haskell isn't your thing I recommend at least reading and understanding how WallFollow.ss works.

Koolt.

From what I understood it is OK

I don't doubtt that it is ok but after you create your .ss file, which files does the parser/printer generate?  the xxx.cpp and behaviour.hpp?

Behaviour.hpp is written by me, the script generates this: https://gist.github.com/Jinxit/49444e7f68422f6633bf


v3.0.x: add tooling for clang-format/clang-tidy from node-cpp-skel

Addresses #807 for the v3.0.x branch. Selected parts will need to be ported to master after this is confirmed to be working on travis.

closing as stale. will pick back up against master in the future using latest node-cpp-skel tooling.


Express Route Ipv6 changes

This checklist is used to make sure that common issues in a pull request are addressed. This will expedite the process of getting your pull request merged and avoid extra work on your part to fix issues discovered during the review process.
PR information

[ ] The title of the PR is clear and informative.
[ ] There are a small number of commits, each of which have an informative message. This means that previously merged commits do not appear in the history of the PR. For information on cleaning up the commits in your pull request, see this page.
[ ] Except for special cases involving multiple contributors, the PR is started from a fork of the main repository, not a branch.
[ ] If applicable, the PR references the bug/issue that it fixes.
[ ] Swagger files are correctly named (e.g. the api-version in the path should match the api-version in the spec).

Quality of Swagger

[ ] I have read the contribution guidelines.
[ ] My spec meets the review criteria:

[ ] The spec conforms to the Swagger 2.0 specification.
[ ] The spec follows the guidelines described in the Swagger checklist document.
[ ] Validation tools were run on swagger spec(s) and have all been fixed in this PR.

@vinayada1,
Thanks for your contribution as a Microsoft full-time employee or intern. You do not need to sign a CLA.
Thanks,
Microsoft Pull Request Bot

Hi There,
I am the AutoRest Linter Azure bot. I am here to help. My task is to analyze the situation from the AutoRest linter perspective. Please review the below analysis result:
File: arm-network/2017-03-01/swagger/expressRouteCircuit.json
Before the PR: Warning(s): 25  Error(s): 10
After the PR: Warning(s): 25  Error(s): 10
File: arm-network/2017-06-01/swagger/expressRouteCircuit.json
Before the PR: Warning(s): 25  Error(s): 10
After the PR: Warning(s): 25  Error(s): 10
Know more about AutoRest Linter Guidelines.
Send feedback and make AutoRest Linter Azure Bot smarter day by day!
Thanks for your co-operation.

No modification for AutorestCI/azure-sdk-for-node

 https://github.com/Azure/azure-sdk-for-ruby/pull/821

 https://github.com/Azure/azure-sdk-for-python/pull/1272

Hi There,
I am the AutoRest Linter Azure bot. I am here to help. My task is to analyze the situation from the AutoRest linter perspective. Please review the below analysis result:
File: arm-network/2017-03-01/swagger/expressRouteCircuit.json
Before the PR: Warning(s): 25  Error(s): 10
After the PR: Warning(s): 25  Error(s): 10
File: arm-network/2017-06-01/swagger/expressRouteCircuit.json
Before the PR: Warning(s): 25  Error(s): 10
After the PR: Warning(s): 25  Error(s): 10
Know more about AutoRest Linter Guidelines.
Send feedback and make AutoRest Linter Azure Bot smarter day by day!
Thanks for your co-operation.


Implement a create view for lobbies

Goal: We need users to be able to create lobbies. This will be the Create page of the CRUD pages for lobbies.

forked new branch called matches/lobby-create

pushed a very basic framework for the create view
We need to restrict access to just staff & get rid of some of the fields we don't want to be customized by the user

I believe adding staff access restrictions can be done in a separate issue!

get rid of some of the fields we don't want to be customized by the user
Done

@lucien386 I don't think we can just delete the fields from forms.py cause we still need some kind of an input for those fields for the form to work

I also just realized we don't want to restrict access because we want users to be able to create lobbies whenever they want

added lobbies to nav bar in base.html

Associated PR: PR #277

Closing Comment:
PR is merged and task is finished.
We instantiated a Create button/link that allows users to create lobbies. There were no restrictions placed on who could create lobbies because we want all users to be able to create them. Users' access to certain attributes were restricted, however, as we don't want users to be able to manually change settings like the host of the lobby and match status.

Issue Score: Excellent
Comments:
Summary description was a little too terse, but otherwise good work.


Issues on introduction to project

It is great project, this is very cool that it has so many abilities,
though common use of factories usually is simple, like:
factory.define('post', Post, {
    title: 'Втащили по клюву!',
    rate: 2
});

And when you look at readme - it looks overcomplicated
I think, many people may stop at this point and then try to look for alternatives.
It would be more friendly to have first example simple - to show, that it is really proper tool for factories.
(Programmer would use ORM itself for populating database, if he wouldn't look for simplicity)
Like here - first example shows only essentials: https://mochajs.org/
And reader understands - that's easy tool for testing.

That's a good suggestion, that README has really just grown over time and lost its simplicity.

I've updated the README, is that clearer?

https://github.com/aexmachina/factory-girl#defining-factories
In my opinion it is still tries to give too much information, than needed to visitor,
who looks something to quickly add records to his tables.
Usually he won't need all these features, so they could be moved to following section with name like "Advanced"
And first "Simple" section could be just like
var factory = require('factory-girl');
var User    = require('../models/user');

factory.define('user', User, {
  username: "Bob",
  scores: 50,
});

factory.build('user', function(err, user) {
  console.log(user.attributes);
  // => {username: 'Bob', scores: 50}
});

Also too much comments usually mean, that code is not clear itself.
Variable/function names - is best tool to express what code does as uncle bob says

Cool thanks for the feedback. I've made a few more changes. Any other improvements feel free to submit a PR.

@aexmachina Sorry for being a newb here, but what is expected when requiring the 'User' model?  Try to use with an empty Node project
var User    = require('../models/user');
What does this object expect?
Is there an example project that I could review for details?
Don't want to toss it away due to lack of documentation, etc. but not much information supplied for a brand new app.

@aexmachina If you could supply a sample of user model at a minimum, I can surely take it from there

@mikeerickson it depends on the adapter you're using. e.g. If you're using Mongoose then the user model would be a Mongoose model, or if you're using Bookshelf then the user model would be a Bookshelf model.

@aexmachina That makes good sense, but what if you arent using either (just plain vanilla JS)  is there an adapter for such a beast?  I am just wanting to create temporary objects for mocha tests.

Yes, it's the ObjectAdapter. It uses var post = new Post(), post.save() and post.destroy().
var Post = function() {};
Post.prototype.save = function() {};
Post.prototype.destroy = function() {};

factory.define('post', Post);
factory.setAdapter(new factory.ObjectAdapter(), 'post');

@aexmachina - A bit late to the party, but I do think that this example should be placed in the readme somewhere - I've been looking for quite a while around here debugging model.save is not a function trying to use this with objectmodel.

Okay, thanks for the reminder. Have done.


Build executables for windows, mac and linux in maven package using javapackager

completed together with github actions workflows (artifact uploading)


Add python37 to travis CI.

Codecov Report

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

@@           Coverage Diff           @@
##           master      #56   +/-   ##
=======================================
  Coverage   89.43%   89.43%
=======================================
  Files          13       13
  Lines         937      937
=======================================
  Hits          838      838
  Misses         99       99

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 0e1d6e4...4e2ac6c. Read the comment docs.


C&c generals zhor bug on dxvk+d8vk

On turnip android

This is a regression from commit https://github.com/doitsujin/dxvk/commit/7df8017e46692e972c710435261950c941b03acd
The as of writing current version of PR https://github.com/doitsujin/dxvk/pull/4036 improves it so it is only a bit over half the ground that is black, like seen above, versus below a quarter of it on the regressing commit.

Apitrace captured with wined3d https://drive.proton.me/urls/KRKSTRGW78#6yVyH6GGidSU

Works


Profiler: Consume the profile as we stream it to the serializer

What does this PR do?
Reduces memory needed to serialize the profiler into a pprof. In particular, it enables serialization to occur in a streaming manner which consumes the profile, allowing memory usage to remain flat.
Motivation
Currently, serialization takes significant memory (see below, ~60MB on a Ruby benchmark with timeline enabled).  The standard prost model of serializing to protobuf works on complete messages, and requires multiple copies of the data.  Instead, tweak the serialization to:

Consume the in-memory representation of the Profile as it is serialized
Stream the creation of the serialized pprof
stream lz4 encoding of the pprof (timeline pprofs compress extremely well, so keeping only the compressed version in memory saves memory).

Running @ivoanjo Ruby benchmark gives

Config
Timeline
Process Memory Rss before serialization (bytes)
Process Memory Rss after serialization (bytes)
Process Memory Rss after GC (bytes)
Maximum rss (from /bin/time -v, bytes)

16 threads with depth 50 (libdatadog 4.0)
false
70980k
70980k
70980k
70980k

16 threads with depth 50(libdatadog 4.0)
true
78636k
134004k
85196k
153676k

16 threads with depth 50 (libdatadog 5.0)
false
70900k
71060k
71060k
71060k

16 threads with depth 50 (libdatadog 5.0)
true
78808k
76540k
76540k
79128k

4 threads with depth 400(libdatadog 5.0)
true
76512k
76136k
76136k
77472k

Additional Notes

Builds on @ivoanjo work in https://github.com/DataDog/libdatadog/commit/3bb98dc5074e034ca8b26f50360e2291274c8652
The key insight is that the top level protobuf message doesn't carry any frame information. So the emitted bytes are identical if we either (1) serialize the Profile top level message or (2) serialize a series of single field messages, each with the tag of their corresponding Profile field.  This only works for the top-level message, but luckily that's all we need.*

How to test the change?

Rerun the ruby benchmark, and see the memory savings
I modified all tests to round-trip through the serializer, which ensures that both serialization and deserialization work.

For Reviewers

[ ] If this PR touches code that signs or publishes builds or packages, or handles credentials of any kind, I've requested a review from @DataDog/security-design-and-guidance.
[ ] This PR doesn't touch any of that.

Before reviewing the PR, I've spent some time updating the Ruby timeline memory testing branch with the latest changes.
The test suite is 100% green with the new serializer, which I think is great news -- there's a lot of tests in the Ruby profiler test suite where we turn on the profiler, then serialize the result, then deserialize it and assert on it, and no issues there with the serializer.
I've also tested it in staging with our prof-fibonacci minimal test app, and both timeline, as well as regular profiles are in good shape. I also did some really quick memory measurements for prof-fibonacci:

dd-trace-rb v1.14.0 (libdatadog 3) + timeline: maximum rss 151548 kb
timeline testing branch (libdatadog 5) + timeline: maximum rss 99620 kb
timeline testing branch (libdatadog 5) + no timeline: maximum rss 92812 kb

P.s: Also probably not a bad idea to update the PR title to reflect that we also kinda rebuilt the serializer ;)


int8 quantization

Thanks for your great work! Could you please tell me the dataset this project uses since I want to do a int8 quantization to deploy it on other devices. Thanks.

As mentioned in MLSD paper, we used Wireframe dataset to train our line segment detector.
Wireframe dataset: https://paperswithcode.com/dataset/wireframe

Thank you!


Widescreen Fixes Pack for Vice City not working

I have GTA VC Im not sure which version it is but I know it is 3.1MB. Anyways I installed the Widescreen Fix by placing it in my root file however nothing happened and my FOV is still the same. Does anyone know how to fix this issue.

It only works with 1.0 exe (3 088 896 bytes). Or steam version.

Is there any version which is compatible with version 1.1?

No.

Is there currently a version in development?

No, 1.1 support is never going to happen, it's pointless.

ok


Bad UI: scrollable not disabled

The Landing page is scrollable and the background image doesn't fit the screen properly

please assign this issue to me @arcVaishali


New version: Allocations v0.2.0

Registering package: Allocations
Repository: https://github.com/mlhetland/Allocations.jl
Created by: @mlhetland
Version: v0.2.0
Commit: d82a6ad1dae0882dc024b61137c0092f080f4b01
Git reference: v0.2.0
Description: Algorithms for fair item allocation.
Release notes:

This release adds some new functionality:

Inclusion and exclusion constraints (Permitted, Forbidden and Required), specifying which agents an agent can or must receive.
Leximin allocation, via the alloc_lmm function (where LMM stands for "Lexicographic Maximin").
Proper handling of asymmetric constraints (i.e., ones that apply differently to different agents) in MMS-allocations, along with the possibility of supplying separate options for the mms function when calling alloc_mms, through the mms_kwds argument.
Initial, basic code for generating random instances (with functions such as rand_profile).

In addition, there are various minor tweaks and adjustments. For example, in order to reduce namespace pollution, the use of unnecessary accessors has been deprecated. So instead of using, e.g., graph(C) on a Conflicts constraint, you should now use C.graph.

@JuliaRegistrator register branch=main

@JuliaRegistrator register branch=master


Strict types

Yes, who ever thought it was a good idea to introduce yet another behavior that might be toggled... we have to deal with strict types in the spec. We have to define whether loop implementations MUST or MUST NOT use strict typing. They call a lot of callbacks and thus implementations shouldn't differ there. Unfortunately, the callbacks are subject to the caller file's declaration, so the loop driver one.

See https://twitter.com/kelunik/status/811854681790185472 and https://gist.github.com/kelunik/51d3e8620e0b54ea2c158d94689f423a.

Oh. Very good point.
Within event loop implementations I think strict typing makes a lot of sense as callbacks are generally only dealing with fixed types (e.g. string $watcherId, int $sigNo) and mismatches are likely to indicate bugs, while even the mixed $data args will be specified by the same code which provides the callback, so there shouldn't be any reason to rely on weak typing for those either.

I do not care here in the loop, but tend to side with Josh here.

I agree with @joshdifabio, strict-typing is the way to go in loop implementations. At least the callbacks here are more consistent and concise than with promises, where this issue also needs to be addressed. Type declarations in callbacks is a serious oversight in strict vs. weak typing. Probably a feature at this point rather than a bug…

Promise and loop should definitely be the same.

Promise and loop should definitely be the same.

You might be right. I personally feel my strongly that promises should use weak typing than I do that the loop should use strong typing. So I guess I'd rather both weak than both strong.

One major point against going strict is that it's the only thing that would make us require PHP 7.0 in the promise spec currently.

https://github.com/async-interop/promise/issues/21#issuecomment-269020883 means we're probably going with weak here, too.

I don't think it'd be a problem to take a different approach between the two specs but I also don't see any issues with both being weak.

@joshdifabio I think it's weird to be inconsistent there.

Okay. I'm 50/50 on it so I'll keep quiet.

I still prefer strict types, but also understand we don't want to force that on everyone using these specs, so it looks like the logical choice is weak types…

@trowski: The callable arguments here are anyway always only form the loop and should be fine in all cases, so it doesn't really matter here.

@kelunik Watcher callbacks may have type declarations for the $data parameter. This is far less of an issue than for Promise callbacks since the creator of the watcher provides the data, but there could be casting happening there with weak types.

Closing as #123 has been merged.

Done via #123.


d-math in d-footnote

d-math doesn't render inside of a d-footnote-list. It works fine in the hover card, but not the list in the appendix.

duplicate of #56


Update CLI extensions available doc

Update CLI extensions available doc.
Triggered by Azure/azure-cli-extensions - TRAVIS_BUILD_ID=364311142
https://github.com/Azure/azure-cli-extensions/commit/ec5360028926590a0aba7e1aa733db0a7d8ae767

:white_check_mark: Validation status: passed

File
Status
Preview URL
Details

docs-ref-conceptual/azure-cli-extensions-list.md
:white_check_mark:Succeeded
View (azure-cli-latest) View (azure-cli-2017-03-09-profile)

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

:x: Validation status: errors

File
Status
Preview URL
Details

:x:Error

Details

[Error] Cannot sync git repo to specified commit because branch az-auto-ext-doc-364311142 has been deleted or has been force pushed: fatal: Could not parse object 'c578f393f979b4b7ec1f7aa1cbf1f09f946f561b'.

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


where is image dragging function ?

Hi really thank you for your awesome plugin.It's really help me to complete my project .I am mainly using the drag and drop property of this plugin . Let me know how can i use multiple images here . That is user can upload first foto , then he can upload next photo  then next photo , then he can drag each photos to whichever position he want . How can i do this ? Please help .
Currently i added functionality for multiple photos . But that time the photo can't be dragged .

Please help .


delete lockfile before updating plist (lion only)

ref: http://reviews.cnet.com/8301-13727_7-20093292-263/lockfiles-and-other-plist-file-subtypes-in-os-x-lion/


Improve SignalService

Describe the bug
Because this contract is now kind of built into the protocol, it'd be kind of nice to make it as simple as possible. I think the contract could be as simple as:
mapping(address addr => mapping (bytes32 key => bytes32 value)) public data;

function store(bytes32 key, bytes32 value) public {
  data[msg.sender][key] = value;
}

All other functionality could be implemented using a library on top of this. That makes it much easier to update and also provides some extra flexibility (like being able to store data directly in the value which allows a smart contract on the source chain to still have access to the data directly instead of having to store it both on L1 and send a signal to get it to the other chain as well).

This will break existing tests, so lets be cautious and do it only when necessary.

I think not done? I still think this would be a significant improvement that also makes sure we won't ever have to worry having to upgrade this contract.


Update readme to incorporate suggestions from liw

Thank you!
Signed-off-by: Dominik Schulz<EMAIL_ADDRESS>

Should we mention pass in the intro too, maybe?


feat: add npm mirror support

Changes

adds npm mirror support

By submitting this pull request, I confirm that you can use, modify, copy, and redistribute this contribution, under the terms of your choice.

Perhaps add a little more info as to how the secret should be named and the format. REF:https://github.com/awslabs/aws-codeseeder/pull/164/files
NOTE: the docs for codeseeder need to be revamped

Updated changelog, created issue for us to get on the docs when bandwidth permits


duplicate-item shows up with runelite's mouse tooltips but it shouldn't, just like remove-layout doesn't.

this was in an inventory setup idk if its the same in regular bank tags.
this is confusing because left-clicking doesn't do anything even though it says "duplicate-item" on the mouse tooltip.

fixed in badbf64b31433c3c4fa992d4a7faed7d4a1f4962


Synology NAS installation tutorial (or package)

Hi.
I would like to install HTPC manager on my Synology NAS. I have found a couple of issues about that:

https://github.com/styxit/HTPC-Manager/issues/12
https://github.com/styxit/HTPC-Manager/issues/93

But finally no real conclusion and no ready to use material. I would expect a tutorial in the installation page:
http://htpc.io/installation.html
This tutorial could be just a description of the steps specific to the Synology, or even better, based on a package. This last option is appealing, but the package should be clean, meaning it should be integrated with DSM. If there is such a package in progress, I could give a hand. Otherwise I can write a tutorial for a standard command lines installation.
Hosting HTPC manager on a NAS is really meaningful, so my guess is that such a feature would be used by many.

I installed it on my synology nas and successfully ran one upgrade. However now it is showing that it is 109 versions behind and won't upgrade. The main reason for upgrade is headphones support.

@imro2 If you want to use hp you need to use my work. There was some request for a custom package https://github.com/SynoCommunity/spksrc/issues/1441#issuecomment-109931558, there is also a pr awaiting review. Until thats merged you can use this guide https://github.com/Hellowlol/HTPC-Manager/wiki/Installing-HTPC-on-Synology-NAS to switch to my fork. Please note the issues with that install method.


Fix a missing category

@vboulineau, maybe you missed to fill the category in your last commit. Please approve.
Signed-off-by: j0zi<EMAIL_ADDRESS>

/hold

@vboulineau please click Ready for review if ok with you

@vboulineau feel free to open a new PR if you have a different opinion


fixed libsodium build

Disclaimer: I have no idea what I'm doing.
Makefile has to be included in the release, so I removed it from .gitignore. There are also irrelevant entries in .gitignore, but I did not touch them.
node-gyp will be always called during make sodium, so I added it to dependencies. This should also ensure that node-gyp will be always called from local node_modules during install.
This pull request is supposed to fix Issue #74.

I added autogen.sh it generates Makefile and configure for libsodium. I supposed the libsodium configure you have in your repo should be generated by autotools.

Thanks!!


False positive report of unused implementation("com.google.firebase:firebase-analytics:17.5.0")

I used this tool on my android project for the first time and it says that this dependency is unused. If I remove this dependency then my code doesn't compile. Not sure why this dependency is being flagged as safe for removal.

I will try to come up with a minimal repro but it might take some time.

Okay.
So it was simpler than I thought it was going to be!
File > New > New Project > Basic Activity
Add implementation "com.google.firebase:firebase-analytics:17.6.0"
Then in your activity do
val analytics: FirebaseAnalytics? = null
analytics!!.logEvent("test", null)

Add the dep analysis plugin and it will say
Unused dependencies which should be removed:
- implementation("com.google.firebase:firebase-analytics:17.6.0")

I comment out implementation("com.google.firebase:firebase-analytics:17.6.0"), run ./gradlew buildHealth and it fails because of
Unresolved reference: firebase
Unresolved reference: FirebaseAnalytics

So yeah. That's the issue.
TLDR. Add the dep. Add the two lines for FirebaseAnalytics and it'll repro.

I don't believe it's a false positive per se. com.google.firebase.analytics.FirebaseAnalytics class is located at com.google.android.gms:play-services-measurement-api: artifact and com.google.firebase:firebase-analytics: looks like marker parent artifact without any implementation inside.
So google asks to add firebase-analytics at the docs and leaves open possibility for changing internal artifacts structure. While dependency-analysis plugin tells you that nothing from that artifact is used.

Please excuse my ignorance and lack of knowledge of gradle and dependencies here... but it sounds like what you're saying is that firebase-analytics is empty and it just defers it's actual implementation to com.google.android.gms:play-services-measurement-api?
Which is why the list of "Transitively used dependencies that should be declared directly as indicated:" includes
- implementation("com.google.android.gms:play-services-measurement-api:17.6.0")?
So my solution in this case is to just swap firebase-analytics with play-services-measurement?
If so, I think it would be cool somehow indicate that a "removal" of a dependency, should really be a "replace" of a dependency. How else would I know that these two are connected?

This is a common problem that I've only partially solved. There's a concept that I call "logical dependencies", which may be a single "physical" artifact (like a single jar or aar), or may be a composite of multiple dependencies that are closely related. This case is an example of the latter. Another common one is kotlin-stdlib, which has -jdkX variants; it's common to declare only the -jdkX variant even though you may only use the core stdlib.
The problem is that it's impossible (maybe?) to know if a set of dependencies constitutes a logical dependency a priori. It may just be that the publication was misconfigured and is exposing its own implementation dependencies on the consumer's compile classpath, and if so, I strongly believe that you should directly declare that transitive dependency if you also use it directly.
I have begun whitelisting known logical dependencies (referred to as "dependency bundles" in the plugin's DSL), with kotlin-stdlib being the sole example at the moment. I may consider adding more. In the meantime, users may add their own on an ad hoc basis. You can find out how in the wiki; if you need help doing that, just let me know.

The explanation is enough for me @autonomousapps Thank you! Learned something new!


Add subtype_map and is_subtype queries

closes #297

On further thought, is it worth caching results of "is_subtype" at all? It’s rather cheap once subtype_map is available/cached.


avoid a linear scan over the entire int_to_ptr_map on each deallocation

Oof. Yeah this probably matters a fair bit if it's not done by the GC.
@bors r+

:pushpin: Commit 622a4d35b4a3f2404caa6834429d1ff452f5b27d has been approved by saethlin
It is now in the queue for this repository.

:hourglass: Testing commit 622a4d35b4a3f2404caa6834429d1ff452f5b27d with merge 107337b64aa45ff8f09ea11f92460ca3fd07c138...

:sunny: Test successful - checks-actions
Approved by: saethlin
Pushing 107337b64aa45ff8f09ea11f92460ca3fd07c138 to master...


Error after server returns connection close

Using vibe.d 0.7.29 and dmd 2.070
I am writing an adapter to move data from CouchDB into ElasticSearch. There are aroung 600 small databases that I need to move over. CouchDB is behind an nginx proxy with SSL termination.
I have determined that CouchDB sends a connection:close response header on api call no. 99 (due to some setting) Then things go haywire.
With libevent the app blocks at res.readJson() in the requestHttp. With libasync it fails on the next call to requestHttp with exception saying Socket operation on nonsocket.
What I think happens is that CouchDB closes the connection, and vibe.d or nginx isn't handling SSL finalizing properly.
This is my course of action:

will try https://ma.ttias.be/enable-keepalive-connections-in-nginx-upstream-proxy-configurations/ as per https://github.com/rejectedsoftware/vibe.d/issues/1400 (didn't do much, although one time I got 299 calls before freezing)
I will look in the nginx and couchdb logs. (didn't say much)
I will get rid of the nginx proxy in the middle and try again. (confirmed this worked)
Find a way how to get my adapter to close the connection before reaching 100, and force opening a new one.

Here is a log for a correct call (libevent):
[02BD0000:02BD3100 trc] returning HTTPClient connection 0 of 1
[02BD0000:02BD3100 trc] --------------------
[02BD0000:02BD3100 trc] HTTP client request:
[02BD0000:02BD3100 trc] --------------------
[02BD0000:02BD3100 trc] GET /a26c3188d-59f4-4aea-80b0-43c523be38da HTTP/1.1
[02BD0000:02BD3100 trc] User-Agent: vibe.d/0.7.27 (HTTPClient, +http://vibed.org/)
[02BD0000:02BD3100 trc] Connection: keep-alive
[02BD0000:02BD3100 trc] Accept-Encoding: gzip, deflate
[02BD0000:02BD3100 trc] Host: app-data.21brains.com
[02BD0000:02BD3100 trc] Accept: application/json
[02BD0000:02BD3100 trc] evbuffer_add (fd 556): 285 B
[02BD0000:02BD3100 trc] Content-Type: application/json
[02BD0000:02BD3100 trc] Authorization: Basic xxxx
[02BD0000:02BD3100 trc] --------------------
[02BD0000:02BD3100 trc] evbuffer_add (fd 556): 94 B
[02BD0000:02BD3100 trc] HTTP client waiting for response
[02BD0000:00000000 trc] socket 556 write event (false)!
[02BD0000:00000000 trc] socket 556 read event!
[02BD0000:02BD3100 trc] HTTP client reading status line
[02BD0000:02BD3100 trc] stln: HTTP/1.1 200 OK
[02BD0000:02BD3100 trc] ---------------------
[02BD0000:02BD3100 trc] HTTP client response:
[02BD0000:02BD3100 trc] ---------------------
[02BD0000:02BD3100 trc] HTTP/1.1 200 OK
[02BD0000:02BD3100 trc] Server: nginx/1.9.5
[02BD0000:02BD3100 trc] Date: Wed, 24 Feb 2016 09:58:46 GMT
[02BD0000:02BD3100 trc] Content-Type: application/json
[02BD0000:02BD3100 trc] Content-Length: 266
[02BD0000:02BD3100 trc] Connection: keep-alive
[02BD0000:02BD3100 trc] Cache-Control: must-revalidate
[02BD0000:02BD3100 trc] Strict-Transport-Security: max-age=31536000
[02BD0000:02BD3100 trc] ---------------------
[02BD0000:00000000 trc] socket 556 read event!

Here the failing one (libevent):
[02BD0000:02BD3100 trc] returning HTTPClient connection 0 of 1
[02BD0000:02BD3100 trc] --------------------
[02BD0000:02BD3100 trc] HTTP client request:
[02BD0000:02BD3100 trc] --------------------
[02BD0000:02BD3100 trc] GET /a26e0aa8c-ca37-4fd0-add7-432b991da964 HTTP/1.1
[02BD0000:02BD3100 trc] User-Agent: vibe.d/0.7.27 (HTTPClient, +http://vibed.org/)
[02BD0000:02BD3100 trc] Connection: keep-alive
[02BD0000:02BD3100 trc] Accept-Encoding: gzip, deflate
[02BD0000:02BD3100 trc] Host: app-data.21brains.com
[02BD0000:02BD3100 trc] Accept: application/json
[02BD0000:02BD3100 trc] evbuffer_add (fd 556): 285 B
[02BD0000:02BD3100 trc] Content-Type: application/json
[02BD0000:02BD3100 trc] Authorization: Basic xxxx
[02BD0000:02BD3100 trc] --------------------
[02BD0000:02BD3100 trc] evbuffer_add (fd 556): 94 B
[02BD0000:02BD3100 trc] HTTP client waiting for response
[02BD0000:00000000 trc] socket 556 write event (false)!
[02BD0000:00000000 trc] socket 556 read event!
[02BD0000:02BD3100 trc] HTTP client reading status line
[02BD0000:02BD3100 trc] stln: HTTP/1.1 200 OK
[02BD0000:02BD3100 trc] ---------------------
[02BD0000:02BD3100 trc] HTTP client response:
[02BD0000:02BD3100 trc] ---------------------
[02BD0000:02BD3100 trc] HTTP/1.1 200 OK
[02BD0000:02BD3100 trc] Server: nginx/1.9.5
[02BD0000:02BD3100 trc] Date: Wed, 24 Feb 2016 09:58:47 GMT
[02BD0000:02BD3100 trc] Content-Type: application/json
[02BD0000:02BD3100 trc] Content-Length: 260
[02BD0000:02BD3100 trc] Connection: close
[02BD0000:02BD3100 trc] Cache-Control: must-revalidate
[02BD0000:02BD3100 trc] Strict-Transport-Security: max-age=31536000
[02BD0000:02BD3100 trc] ---------------------
[02BD0000:00000000 trc] socket 556 read event!
[02BD0000:02BD3100 trc] OpenSSLStream finalize
[02BD0000:02BD3100 trc] evbuffer_add (fd 556): 31 B
[02BD0000:02BD3100 dbg] TCP close request true open
[02BD0000:02BD3100 dia] Actively closing TCP connection
[02BD0000:02BD3100 trc] Closing socket 556...
[02BD0000:00000000 dbg] Socket event on fd 556: 17 (DF4044 vs DF4044)
[02BD0000:00000000 dbg] Connection was closed (fd 556).

and the failing libasync one
[02CA0000:02CA3200 trc] returning HTTPClient connection 0 of 1
[02CA0000:02CA3200 trc] Async resolved address xxx.xxx.xxx.xxx:0
[02CA0000:02CA3200 trc] Acquire Writer
[02CA0000:00000000 trc] Handler
[02CA0000:00000000 trc] onClose
[02CA0000:00000000 trc] exception trap
[02CA0000:02CA3200 CRITICAL] Task terminated with uncaught exception: Socket operation on nonsocket.
[02CA0000:02CA3200 dbg] Full error: object.Exception@C:\Users\Bas\AppData\Roaming\dub\packages\vibe-d-0.7.27\source\vibe\core\drivers\libasync.d(1451): Socket operation on nonsocket.
[02CA0000:02CA3200 dbg] ----------------
0x004FCDF7 in @safe void vibe.core.core.VibeDriverCore.processDeferredExceptions(vibe.core.task.Task) at C:\Users\Bas\AppData\Roaming\dub\packages\vibe-d-0.7.27\source\vibe\core\core.d(1327)
0x004FC47F in @safe void vibe.core.core.VibeDriverCore.yieldForEvent() at C:\Users\Bas\AppData\Roaming\dub\packages\vibe-d-0.7.27\source\vibe\core\core.d(1203)
0x004EA110 in vibe.core.drivers.libasync.LibasyncTCPConnection vibe.core.drivers.libasync.LibasyncDriver.connectTCP(libasync.windows.NetworkAddress) at C:\Users\Bas\AppData\Roaming\dub\packages\vibe-d-0.7.27\source\vibe\core\drivers\libasync.d(292)
0x004E626E in vibe.core.net.TCPConnection vibe.core.net.connectTCP(libasync.windows.NetworkAddress)
0x004E080D in vibe.core.net.TCPConnection vibe.core.net.connectTCP(immutable(char)[], ushort) at C:\Users\Bas\AppData\Roaming\dub\packages\vibe-d-0.7.27\source\vibe\core\net.d(96)
0x004965A9 in bool vibe.http.client.HTTPClient.doRequest(scope void delegate(vibe.http.client.HTTPClientRequest), bool*, bool, std.datetime.SysTime) at C:\Users\Bas\AppData\Roaming\dub\packages\vibe-d-0.7.27\source\vibe\http\client.d(534)
0x004963C5 in bool vibe.http.client.HTTPClient.doRequestWithRetry(scope void delegate(vibe.http.client.HTTPClientRequest), bool, out bool, out std.datetime.SysTime) at C:\Users\Bas\AppData\Roaming\dub\packages\vibe-d-0.7.27\source\vibe\http\client.d(472)
0x00495F87 in void vibe.http.client.HTTPClient.request(scope void delegate(scope vibe.http.client.HTTPClientRequest), scope void delegate(scope vibe.http.client.HTTPClientResponse)) at C:\Users\Bas\AppData\Roaming\dub\packages\vibe-d-0.7.27\source\vibe\http\client.d(406)
0x004A392D in void vibe.http.client.requestHTTP(vibe.inet.url.URL, scope void delegate(scope vibe.http.client.HTTPClientRequest), scope void delegate(scope vibe.http.client.HTTPClientResponse), vibe.http.client.HTTPClientSettings) at C:\Users\Bas\AppData\Roaming\dub\packages\vibe-d-0.7.27\source\vibe\http\client.d(137)
0x0049AEAD in void vibe.http.client.requestHTTP(immutable(char)[], scope void delegate(scope vibe.http.client.HTTPClientRequest), scope void delegate(scope vibe.http.client.HTTPClientResponse), vibe.http.client.HTTPClientSettings) at C:\Users\Bas\AppData\Roaming\dub\packages\vibe-d-0.7.27\source\vibe\http\client.d(107)
0x004318F3 in couch.DBInfo couch.getDbInfo!(settings.Settings).getDbInfo(settings.Settings, immutable(char)[]) at c:\Users\Bas\dev\21brains\sourcing-tool-log-adapter-service\source\couch.d(145)
0x00406CE1 in void app.main().__lambda1() at c:\Users\Bas\dev\21brains\sourcing-tool-log-adapter-service\source\app.d(88)
0x00420BBA in void vibe.core.core.makeTaskFuncInfo!(void delegate()).makeTaskFuncInfo(ref void delegate()).callDelegate(vibe.core.core.TaskFuncInfo*) at C:\Users\Bas\AppData\Roaming\dub\packages\vibe-d-0.7.27\source\vibe\core\core.d(499)
0x004D98B2 in void vibe.core.core.CoreTask.run() at C:\Users\Bas\AppData\Roaming\dub\packages\vibe-d-0.7.27\source\vibe\core\core.d(1085)
0x005AC99D in void core.thread.Fiber.run()
[02CA0000:02CA3200 trc] Emitting signal
[02CA0000:02CA3200 trc] Looping signals. found: 0

I can confirm that removing the nginx proxy resolved the issue. I will try fiddling with nginx's settings, as there seems to be going something wrong there.

I reduced my code to this:
import vibe.d;

void main(){
	import std.stdio;
	runTask({
		writeln("Making Request");
		requestHTTP("https://www.google.com",
			(scope req)
			{
				writeln("Sending Headers");
				req.method = HTTPMethod.HEAD;
				req.headers["Connection"] = "close";
			},
			(scope res)
			{
				writeln("Reading Response");
				scope(exit) { res.dropBody(); }
				if (res.statusCode < 200 || res.statusCode > 299)
				{
					writeln(res);
				}
				writeln(res.headers);
				writeln(cast(char[])res.bodyReader.readAll); // gets stuck here
			}
		);
		writeln("Never reaches here!");
		exitEventLoop();
	});
	runEventLoop();
};

I added Connection: close header to simulate what I get back from CouchDB.
Is this normal?

I keep returning to https://github.com/rejectedsoftware/vibe.d/blob/3d851408a813523b73a003805a58f5c5f14c53aa/source/vibe/core/drivers/libevent2_tcp.d#L191.
In my case the request method in HTTPClient finds the Connection: close headers and calls the disconnect method. That one in turn calls finalize on the m_stream object, which happens to be
an instance of the OpenSSLStream since I'm making SSL requests. In the finalize method OpenSSL's SSL_shutdown function is called, which, per the specs, sends a notification to the peer that its shutting down. The next thing the disconnect method does is calling the close method on the - in my case - Libevent2TCPConnection instance. Everybody tidies up, except execution never continues after calling yieldForEvent().
I changed the onBioWrite function in openssl.d to not write the closing notification and behold - all is well.
Somehow it seems vibe.d is waiting for some event to never happen, or some queue to drain that never does.

I changed this https://github.com/rejectedsoftware/vibe.d/compare/master...skoppe:ssl-conn-close and it worked for libevent.

This issue might also explain D-Programming-Language/dub#760, even though the trace logs seem to indicate something else, but I'll have to double-check.
So the problem appears to be that during the active connection close, the connection got reset by the peer before that TLS close notification got delivered (at least for libevent). Due to that, an onSocketEvent gets emitted before onSocketWrite, which actually then never gets called. The reason for this bug seems to be the fix for #1376. I'll have to take a closer look to find a correct and clean fix for both.

Yep that is correct. onSockerWrite is never called and the yieldForEvent() in the close function never resumes.

The reason yieldForEvent() doens't resume is because the task isn't resumed in onSocketEvent due to ctx.state != ConnectionState.activeClose

Exactly, that check got introduced to fix #1376. I think there simply needs to be an additional state to keep track of the resumption state of the task.

What about removing res.headers.get("Connection") == "close" from if (user_exception || res.headers.get("Connection") == "close") disconnect(); in client.d ??
I mean, we are actively closing a connection, that is already closed on the other end. We just need to yield to receive the BEV_EVENT_EOF event (and maybe set ctx.state to ConnectionState.passiveClose to cause further reads/writes to throw.)

The thing is that there is definitely a bug in the libevent driver, so that has to be fixed anyway. Letting the server do the disconnect would probably still be a good idea, but it would have to be somewhat more complex (i.e. actually wait for the server to close the connection and actively close after a timeout if necessary).
I've quickly tested with an additional state, but then I stumbled over another issue involving onSocketRead+onSocketEvent triggering a "task already scheduled to be resumed" assertion. I think I'll just have to hack around it using a separate Boolean. On the plus side, the next major version of the vibe.core module won't have this issue, because it uses a unified approach to yield+resume that works a little differently.

PR #1443 looks like it works. I'll also test that w.r.t. the dub-registry issue.

will test tomorrow

test is green


Fill in empty lines of trades window with some pattern of -s or #s

Honestly, I think this looks fine:

Can we close this?


bug: How can i style "chore" commits with my colorscheme?

Did you check docs and existing issues?

[X] I have read all the lazy.nvim docs
[X] I have searched the existing issues of lazy.nvim
[X] I have searched the existing issues of plugins related to this issue

Neovim version (nvim -v)
v0.9.0-dev-878+g6c39edaa7-dirty
Operating system/version
MacOS 13.2.1
Describe the bug
Since some time, I have a weird highlighting for chore commits.

Which Highlight is used to style this? Wasn't able to find something on a quick search.
Steps To Reproduce

install https://git.bruegge.dev/danbruegge/kong in neovim
enable colorscheme
run :Lazy log
check last updates with chore commits

Expected Behavior
I know which Highlight to use, to style all commits properly.
Repro
No response

:LazyDimmed ?

Thanks. This one did it. 👍
In my theme I have no styling for Conceal. Which LazyDimmed is mapped to.


[CI] Enforce daily budget in Jenkins CI

Fixes #5176 by enforcing a daily budget in Jenkins CI.
How it works: For each incoming pull request, Jenkins will first call the AWS Lambda (*) function XGBoostCICostWatcher. The Lambda function determines whether the expense incurred for today (**) is under the specified daily budget. The function returns true when today's expense did not yet exceed the budget; the function returns false if the expense exceeds the budget. When the expense is found to exceed the daily budget, all testing jobs for incoming pull requests gets terminated preemptively so that the CI server stops incurring more cloud expenses.
EC2 (compute) comprises the vast majority of the cloud cost, so we only keep track of the expenses for EC2.
The content of XGBoostCICostWatcher is found at https://github.com/hcho3/xgboost-devops/tree/mainline/cost_watcher.
Expected message (when limit is not yet reached)
Testing approved. Reason: Today's spending (8.85 USD) is within the budget (33.00 USD) allocated for today.

Expected message (when limit is reached)
Testing rejected. Reason: Today's spending (35.00 USD) exceeded the budget (33.00 USD) allocated for today!

(*) AWS Lambda is a service that lets you host and run a small function that runs for a short while.
(**) Each day starts at midnight UTC and ends at 23:59:59 UTC. So the spending limit gets reset every midnight UTC.

Future TODOs:

Create a web page to display the expense and the budget for today.
Filter out draft pull requests
Require a GitHub comment to start every test job

Codecov Report

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

@@           Coverage Diff           @@
##           master    #5884   +/-   ##
=======================================
  Coverage   81.16%   81.16%
=======================================
  Files          12       12
  Lines        2835     2835
=======================================
  Hits         2301     2301
  Misses        534      534

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 9f85e92...edec666. Read the comment docs.

@RAMitchell I'd also like to hear your opinion as well.

I wonder if it's possible to make PRs draft by default?

I don't so. To achieve more savings, we should really require an explicit approval to trigger the tests. I will file another pull request later.

What happens if we want to make a release on a schedule and we run out of cloud budget? Is it possible to override this under special circumstances?

Yes. The Lambda function can be (temporarily) modified to approve all incoming requests.

@trivialfis @RAMitchell FYI you can now monitor the cloud expense at https://xgboost-ci.net/dashboard/:


data model refactoring (WIP)

Cutting a merge here. Application is at function parity. However there's more to do to differentiate between event IDs and content IDs in an upcoming merge.


Update Meta “authors”

Automatically generated by Netlify CMS

👷 Deploy Preview for suspicious-bhabha-9e08fd processing.
🔨 Explore the source changes: e649392aefb2b18ccfb3d1a874b9c9fa11effa8e
🔍 Inspect the deploy log: https://app.netlify.com/sites/suspicious-bhabha-9e08fd/deploys/614b68757da85e00079b2820


Incorporate Emma Wedekind's Component Checklist

https://twitter.com/EmmaWedekind/status/1177248937763311617?s=20

This is great, thank you @jesstelford , and @elisechant for picking this up from slack

Added this image to the existing README,  in the following commit
will iterate on this as we refine our thinking around what we think best practice definition of done should look like, thanks again @jesstelford  :D


enhance Support load data into temporary partition

Change-Id: Id977545450b5d71da5ae932bd0b52a5dfdda8600
What problem does this PR solve?
Issue Number: close #xxx
Related PR: #xxx
Problem Summary:
Support load data into temporary partition
Release note
None
Check List (For Author)

Test

[x] Regression test
[ ] Unit Test
[ ] Manual test (add detailed scripts or steps below)
[ ] No need to test or manual test. Explain why:

[ ] This is a refactor/code format and no logic has been changed.
[ ] Previous test can cover this change.
[ ] No code files have been changed.
[ ] Other reason

Behavior changed:

[x] No.
[ ] Yes.

Does this need documentation?

[x] No.
[ ] Yes.

Check List (For Reviewer who merge this PR)

[ ] Confirm the release note
[ ] Confirm test cases
[ ] Confirm document
[x] Add branch pick label

run buildall

run buildall

run buildall

run p0

run buildall

run buildall


What is a field boundary?

I think we should start a discussion about what a field boundary is - or there should be a type-like field for boundaries in core.
I just stumbled across a dataset (Thuringia, Germany) that included (in my view) more than just agricultural fields, e.g. forests.
To make sure that we don't mix things up, we should try to define something that guides a user.

Good discussion. We're into mixed farming (Cibo Labs) and define a "field" as a management unit that's usually inside a "paddock", and the paddocks are mostly (given surveying errors and image errors) within a "cadastral boundary". This, I suspect, is a local definition.
Paddocks can be large—some in our system are ~90,000 ha, so close to the Fiboa spec max size—but they are relatively stable over time, whereas our field bounds can change multiple times/year.
This definition differs from what I commonly see elsewhere, where "field" and "cultivated area" distinguish the fenced/surveyed bounds from the management.
Either way, some way to distinguish these two boundaries with say, a type-like field is essential.
Other definitions use "fields" but include landUse and grazableArea to inform that there are ungrazable areas such as forests, dams etc.
Also, it's worth looking at Datalinker-Org for some thinking on this - they define a few farm data classes.
It would certainly be helpful to have a consistent definition for traceability and conformance that could fit into UN/CEFACT.

Thank you, @m-mohr for pointing me to this discussion. I had added a viewpoint in https://github.com/fiboa/specification/issues/28#issuecomment-2089987957 and here are responses to your questions:

Would it be meaningful to split the MultiPolygons that you get into single Polygons?

Not from the authority's perspective: These parcels are managed by the same farmer and have the same crop (mostly grassland). The farmers receive subsidies for the whole parcel, not for subparts.
From a satellite monitoring perspective it might make sense: The farmer might have their sheep on one side of the hedge in one week and on the other side of the hedge in the other week. Then we are talking about "partial grazing", and splitting the parcel up would result in more fine-grained monitoring results, i.e. subpolygon 1 was grazed during CW 19 and subpolygon 2 was grazed during CW 20.

Who assigns the IDs, i.e. is it possible to have unique IDs per Polygon after the split?

No, the IDs are assigned by the authority based on a farmer's subsidy application. From their perspective, the subparts of the multi-polygon still belong to one entity.

Do they regularly have different crops planted?

I'm mostly talking about grassland, which does not change across years.

In response to the line on the main README of the specification:

The Field Boundaries for Agriculture (fiboa) project is focused on making field boundary data openly available in a unified format on a global scale.

Maybe my data exchange use-case with fields that are prepared for satellite monitoring (split by hedges, inner buffer) does not fit with the open data goal of fiboa. In this case I would argue that a field can only be a single polygon.

There could be potentially be interesting take aways in https://adaptstandard.org/docs and https://github.com/ADAPT/Standard/issues/97

We didn't really came to a conclusion today, e.g. what about forests, pastures, orchards, etc.
Could we potentially define at least a very high-level categorization that people can filter on if we don't restrict/define field boundaries?


Triggered based on some but not all inputs

Let's say that we have some reference data that is being generated in a first pipeline (maybe persisted models), and that reference data is to be used in one or more other pipelines.  The follow potential feature was brought up in users Slack:
It would be nice to trigger pipelines automatically on some of the inputs but not on other of the inputs.  For example, you may want to utilize the latest persisted model when you run a Pipeline on new events coming into a first repo.  But you might not want to run that pipeline each time the persisted model is updated.
Right now it appears that users are working around this by egressing or exporting reference data to a globally accessible object store bucket (outside of Pachyderm), then re-downloading the data when it is needed.

So this would be a non-triggering flag that they'd specify as part of the input spec in the pipeline?
In the scenario you described, what WOULD they want to happen when the persisted model (PM) is updated?
Do new updates to there other input use the old persisted model? In other words, do they want to have one input repo be "fixed" to a specific commit that is manually updated in the pipeline spec when they want to change it?
Or does the other input repo always use the "head" persisted model, but just doesn't trigger based on PM updates?
What if there are multiple new versions of the PM? Run on all or just HEAD?

Yes, a repo-level non-triggering flag of some sort.
In this scenario they wouldn't want anything to happen when the persisted model is updated.  They would just want the latest model to be utilize for new commits on the other input, whenever those new commits happen.
This is related to the discussions we have had about update-pipeline and models.  Sometimes when you update a model, you don't want to re-calculate results for previous input.  You just want it to be utilized for new inputs.  This is basically the parallel of that when, instead of changing your code, you change your training data, for example.
If there are multiple new versions of the PM, you would just run on the HEAD.  The idea is to always use the latest PM when you make predictions, but not update for old input whenever the PM changes.

Confirming that @dwhitena is describing our usecase accurately. Thank you.

Reading through this raises another issue, is it possible for a job to then write to this repo (as well as its default repo)?

@kareemk can you clarify your question? In general, a job/pipeline can only write out to a single repo.

We're considering integrating Pachyderm as a pipeline engine into our product, and we also need better control over what can trigger a pipeline. Ideally would be to have a possibility to disable automatic triggering at all, for example, if customer account does not have enough balance when customer uploads new data to the repo, and also possibility to trigger pipeline manually by some api call and command. It would then work on files committed since last time it was triggered.

Ideally would be to have a possibility to disable automatic triggering at all, for example, if customer account does not have enough balance when customer uploads new data to the repo, and also possibility to trigger pipeline manually by some api call and command. It would then work on files committed since last time it was triggered.

We're discussing adding options like this. It's not ideal yet, but stop-pipeline and start-pipeline should give you a way to implement some of this already. stop-pipeline basically just pauses a pipeline so it not longer triggers on commits, and then it'll catch up once you start it again. That catch up will include one job per commit, but as always, pachyderm will only process each new piece of data once even if it shows up in multiple commits.

Has any progress been made on this suggestion? Such an option would be perfectly suited for our use cases as well.

Hi @itssimon unfortunately we haven't gotten this implemented, could you tell us a bit more about your use case so we can understand the requirements for this feature better and also recommend potential workarounds for you?

Yeah, there probably is an obvious workaround for this, but I could use some guidance on how to best implement it. I've got a pipeline that pulls data from S3 and processes it continually. Only once a month I want to generate an aggregate report based on all the data of the previous month. If I could use a cron input crossed with a non-trigger atom input of the continually updated data that would be easy.

@itssimon @gabrielgrant  the recommended way of doing this is to have to branches in place of the "non-trigger" input. One that's actually hooked up to the pipeline that you commit to only when you want to run the pipeline (master) and one that's not hooked up to anything and you can commit to it whenever you want (staging).
Now when you want to run the pipeline with the latest version of the data available in staging you just need to copy staging to master with pachctl copy-file repo staging / repo master /. Copying is just rewriting pointers so it's a very efficient operation.

Thanks, that should do just fine!

Updating this from in-person conversations.
In cases where you have two separate inputs where you want one to be triggering and non-triggering (in functionality terms), this can be accomplished in the current system using differred processing as follows:
In this scenario, I’m assuming that data added to A you want to be non-triggering and data added to B to be triggering.
First, instead of having A and B as separate repos, you’ll need to make those directories in the same repo. Pipelines can take multiple inputs from the same repo, so that’s fine, and you’ll just use different glob patterns. So your inputs will be repo:foo glob: A/ or glob: A/* or whatever glob patterns you’re using and repo:foo glob: B/ etc.
The other piece to this is to use the deferred processing method outlined in this document: http://docs.pachyderm.io/en/latest/cookbook/deferred_processing.html.
Your pipeline inputs will both be taking the master branch of that repo. But when you commit data (e.g. put-file …), you should commit it to the staging branch (you can name that branch something other than “staging” of course).  In this case, this means that any time you commit data to B you call set-branch after that, but dont call set-branch when committing to A.
Currently, the input sources need to be in the same repo for this to work nicely. We understand that there are logical scenarios where having A and B in the same repo is annoying because there may be other pipelines that consume A and B and they prefer to be separated. Once #3267 is added, this will work as described above in separate repos as well. You'd atomic update the branches in both repos.
One unresolved annoyance of this deferred processing method is that it requires that whoever is adding data to the repo to be aware of pipelines that are consuming that repo and follow this differed processing method. This can be very cumbersome to automate and is restrictive in a large organization where adding data to pfs and pipeline creators are very separated. This is a possible argument for still considering "passive" (e.g. non-triggering) inputs -- that way this behavior is captured in the pipeline only independent of data getting added to the repo.

This workflow is now well supported through a combination of deferred processing and transactions.


Support For Other Orchestrators/Workflow Managers

Other workflow manages (often based on Kubernetes) are in widespread use for doing inference and workflow serving. Kubeflow, MLFlow, Argo, and others are well known technologies that we should consider supporting with MAPs in some way. This could just be examples of how to deploy MAPs in these environments or some actual supporting code.

@ericspod Is this a request to have:

MIS run under KF (for instance?) or is this a request for
MAP can run easily under KF? (at which point, I want to know what KF needs for the MAP container to be run under it; and I don't think its an issue for MIS but for MAP SDK.)

For KF it was more about what would have to be defined for a MAP to be usable as a component in a pipeline or as a served model in KFServing. The configuration and container that is created for either of these can potentially be generated from a MAP's metadata, specifically what that would be I need to read more into what KF requires.


Typescript

This adds TypeScript types for the library. Even when not using TypeScript itself many IDEs read TypeScript type definitions in order to provide better autocompletion.
Is this something you would like to add?
I migrated two projects of mine to typescript while using this typedefs and had no problem yet.
Currently it is not complete, some simplify methods are missing.
I can add them when you think TypeScript type definitions are a great benefit for this project.
~Also please check out https://github.com/maxlath/wikidata-sdk/commit/a8b0dd4ea842f7a7f336538508a9b47a05be09f6 as that is unrelated to typescript itself but fixes problems for me to work with this library. Is there something I am not seeing or is jsondepth simply not needed (anymore)?~

I dropped the not relevant commit from this branch via rebase, now the discussion is not linked anymore: https://github.com/maxlath/wikidata-sdk/commit/a8b0dd4ea842f7a7f336538508a9b47a05be09f6

@maxlath whats your general thought? Do you like to add TypeScript Types? Should I type the rest in order to be able to merge this?

I think some types could be improved when needed as they are currently just any. Especially the simplify claims part has a bunch of any. But that can be done when they are actually needed by someone using typescript.
I think libraries in general can benefit from being written in TypeScript natively instead of just being typed. Also this library seems a bit confusing at parts as it tries to keep legacy code which makes code harder to read. Maybe consider a breaking release that cleans up legacy stuff and increases code readability. (Especially the simplify claims code raises some question marks.)

Note that there are already some types available over at: https://github.com/DefinitelyTyped/DefinitelyTyped/tree/master/types/wikidata-sdk
VS code downloads them automatically for intellisense, but they're definitely not perfect, e.g. certain parts seem to make my intellisense slow to a crawl. Still, they might provide a good reference.

@noinkling should definitely take a look there. I didn't check that out as I thought the first thing to do is trying to add typings to the project directly instead via the DefinitelyTyped workaround?
Looks like @kamontat added them there.
I will integrate whats missing into this PR.

@EdJoPaTo Just as a word of warning, I'd suggest not copying the massive union type for language codes in https://github.com/DefinitelyTyped/DefinitelyTyped/blob/master/types/wikidata-sdk/def/type/language.d.ts
Those codes change relatively often and I strongly suspect it's what caused most of my intellisense slowdown. I think it would be best just to leave keys/values that use those codes typed as string.

@noinkling yeah. I do not like that massive list either. Thanks for the advice!

@noinkling would you like to check the current typings with a project of yours? As you seemed to used typescript it could be helpful to have a different pair of eyes.
I had no issues so far and only 3 places remain with any / unknown as a type.
This took way longer than I expected but hey: Now I know way more about the Wikidata API :)

Sorry for the spam, I should have made them all part of the same review.

Sorry for the spam, I should have made them all part of the same review.

@noinkling You can combine suggestions into one commit. But I had to add tests and proper return types. See a200372 ;)

@noinkling what do you think about using ReadonlyArray here? (see Common Mistakes)
also remove the DefinitelyTyped typings has to be done later.
Other than that… I think its ready. Everything marked by @noinkling is added / fixed.

Re: ReadonlyArray, I'm not experienced enough with TS to know if it might cause issues or not, but it seems like it should be ok?
I should probably clear up that my project isn't actually written in TypeScript. I just use the TS language service built into VS Code for intellisense, and there's also an option I can enable for it to check JS, and I can annotate types with JSDoc where required. All that combines to make sort of a half-assed version of TS, but it means my TS knowledge is limited - you likely have a better idea of these things than I do.

I haven't used ReadonlyArrays yet too. For now I think the typings are ready enough and can further adapted over the time anyway.
So @maxlath can merge them. But I think all the changes should be combined into a single commit as this PR has grown into 40 commits.

I rebased and, as suggested, squashed all those commits in one: f30b4aa . Can I force-push it to EdJoPaTo:typescript and merge it? Alternatively, I can simply merge that single commit into master, and close this PR, but let your branch untouched if you still want to keep the history

If I remember correctly squashing together the PR is an option on GitHub when accepting the PR.
The history is not that important to me, the end result is ;)

thanks @EdJoPaTo and @noinkling !! types are now part of v6.1.0!

@EdJoPaTo @noinkling I just released v7.0.0 which came with some major breaking changes, notably, there are now 2 modules: the Wikibase instance agnostic wikibase-sdk, and wikidata-sdk, which is simply wikibase-sdk initialized with wikidata.org config. Could you have a look at how types definitions could be updated to fit this new configuration?

This should probably reopened (or a new issue created) since types are definitely broken now. In the meantime @maxlath, you should probably push a version without types in package.json so as not to give people bad types.

#61

I try to have a look at the types maybe today or tomorrow.
Looking at the Changelog the names of the time functions have changed which is a simple fix. If I remember correctly I tried not to add types for legacy aliases but I will check that.
With the renaming to wikibase-sdk and the config reuse I have to check how to handle this best. 🤔
@maxlath Have you thought about writing libraries with typescript (long term)? Especially with things like the claim simplification it could help to have more readable code which is type checked. :)

+1 for converting to TypeScript


Failed p2p assertion: _closing_connections.find(peer_to_delete) == _closing_connections.end()

p2p assertion failed
witness_node: /home/cc/graphene/src/bitshares-2/libraries/net/node.cpp:1614: void graphene::net::detail::node_impl::schedule_peer_for_deletion(const peer_connection_ptr&): Assertion `_closing_connections.find(peer_to_delete) == _closing_connections.end()' failed.
The exception occurred with a long-running node running aa9ca16cb3b6ee576309f8915b164dafe577081d on BTS-2 network.  This node was stuck on block 284077 for some time prior to the crash (getting stuck was expected as it had not been upgraded for the hardfork).

Duplicate of #304

Looks like it always occurs when the client got stuck.

See also #288 #373 #378

Closing all other issues, moving discussion here.

This issue was moved to bitshares/bitshares-core#120


GrosmarkAD lfp class

@bendichter Essentially the same LFP class as used by Yuta and Watson, but with no reference electrodes used.
This will be the last usage of a NoRecording extractor in the Buzsaki conversion set.

@CodyCBakerPhD would it also be possible to remove this from the Converter?

@bendichter I will remove those lines of the metadata from the get_metadata() in the converter, yeah. Also the name/description stuff since that's the only thing being passed any more.

@bendichter OK, removed all references to specific NoRecording classes in favor of the generalized class. Also removed all lfp metadata from the main converter, the LFPDataInterface fills it all in.


Style/ConditionalAssignment autocorrect does not work with constants

If I run rubocop -a on the following code:
if fruit == 'juicy'
  CHOICE = 'apple'.freeze
else
  CHOICE = 'grape'.freeze
end

It autocorrects it to this:
 = if fruit == 'juicy'
  'apple'.freeze
else
  'grape'.freeze
end

But it should be this:
CHOICE = if fruit == 'juicy'
  'apple'.freeze
else
  'grape'.freeze
end

$ rubocop -V
0.36.0 (using Parser <IP_ADDRESS>, running on ruby 2.2.4 x86_64-linux)
```

I have a fix for this coming up


buenos_aires crashes because ZIP file is named unexpectedly

  File "/tmp/kingfisher-1564572422-dyndx_3i.egg/kingfisher_scrapy/spiders/buenos_aires.py", line 40, in parse
    data = zip_file.open('bsas_release.json').read()
  File "/usr/lib/python3.6/zipfile.py", line 1375, in open
    zinfo = self.getinfo(name)
  File "/usr/lib/python3.6/zipfile.py", line 1304, in getinfo
    'There is no item named %r in the archive' % name)

2019-07-31 15:29:03 (446 KB/s) - ‘2019-7-26-bsas_release_package.zip’ saved [52799528/52799528]

root@process /tmp # unzip 2019-7-26-bsas_release_package.zip
Archive:  2019-7-26-bsas_release_package.zip
  inflating: 2019-7-26-bsas_release_package.json

 buenos_aires crashes because ZIP file is named unexpectedly

Ok, I've just been looking at the ZIP files in more detail.
A lot of them contain CSV's, not JSON's.
The CSV's at first glance look like they have been generated from some tool we would recognise - here are the headers from one of them:
ocid,id,parties/0/name,parties/0/id,parties/0/identifier/scheme,parties/0/identifier/id,parties/0/identifier/legalName,parties/0/roles,parties/0/identifier/uri,parties/0/address/streetAddress,parties/0/address/locality,parties/0/address/region,parties/0/address/postalCode,parties/0/address/countryName,parties/0/contactPoint/name,parties/0/contactPoint/email,parties/0/contactPoint/telephone,parties/0/contactPoint/faxNumber,parties/0/contactPoint/url
However, it terms of writing some kind of automatic scraper here there are problems.
Tagging @duncandewhurst @mrshll1001 @pindec for discussion.

Also @yolile @romifz

Which ZIP files contain CSVs? My understanding of the scraper is that it picks out the resource with "format": "JSON", and there's only one of those, and it contains JSON.
We're in contact with them, and from memory they use Flatten Tool to create the CSVs, such that the JSON and CSVs express the same information.

That one JSON file has a file named 2019-7-26-bsas_release_package.json. I think the logic can just be changed to open any JSON file in the ZIP file, instead of looking for one with a specific name.

The scraper does check for format==JSON, your right, sorry. I was checking all Zip files to try and understand the structure of the API and missed this. In this case,

Local-Load command should have option to mark collection store ended after load, optional flag.

Should do it.

Closed by #179


Update windows java dependencies

The aim of this PR is to update dependencies and make the module compatible with puppet 4.

[x] use puppetlabs/download_file module
[x] use puppet/windows_env module
[x] allow using windows_java as an entry point of the module instead of using directly the define windows_java:jdk (TODO: in the future will be nice to use a hash/array to allow the installation of different java version packages)
[x] fix puppet-lint errors/warning
[x] update documentation

@cyberious Can you have a look at this PR, please? I had run the tests locally with ruby version 2.1.10 because locally I got an error using a lower ruby version:
Gem::InstallError: public_suffix requires Ruby version >= 2.1.
An error occurred while installing public_suffix (3.0.1), and Bundler cannot continue.
Make sure that `gem install public_suffix -v '3.0.1'` succeeds before bundling.

Sure, pulling down now to check.

So for one I am seeing this failure Failed to clone git repository git@github.com:voxpupuli/puppet-download_file.git into spec/fixtures/modules/download_file we may be able to download b/c we have our keys on our machines but travis-ci does not have those ssh keys.

Also validate_legacy is not support when the puppet version is < 4.0 and as such it is still only a deprecation for validate_bool to be removed

After further digging I also notice that while I love the move to download_file it actually will cause a hard requirement to drop support for 3.x as it adds the type system. I am fine with this but want to test some other stuff out, should get back to you tomorrow.

I have been toying with these changes on my branch corresponding to this PR, https://github.com/cyberious/puppet-windows_java/tree/pr12

@cyberious thanks for reviewing it, perhaps for the next release you should think about stop supporting puppet 3?? If you need me for anything feel free to ping me =) I'll be on holidays the next week but I'll be glad to help you as soon as I come back


Update poller dependency to latest version of witnet-toolkit

Regenerated witnet/price-feed-poller:0.5.0 docker image.
Updated stacks with failing pricefeeds:

Boba.rinkeby

Cannot yet add dependency to witnet-toolkit:1.4.4, as it requires new witnet-rust version to be adopted in Witnet mainnet.


Travis ci migrate

Pull Request Test Coverage Report for Build 288

0 of 0   changed or added relevant lines in 0 files are covered.
3 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.9%) to 91.928%

Files with Coverage Reduction
New Missed Lines
%

lib/util/url.js
1
83.96%

lib/resolvers/http.js
2
80.95%

Totals

Change from base Build 284:
-0.9%

Covered Lines:
661

Relevant Lines:
702

💛  - Coveralls

Pull Request Test Coverage Report for Build 288

0 of 0   changed or added relevant lines in 0 files are covered.
3 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.9%) to 91.928%

Files with Coverage Reduction
New Missed Lines
%

lib/util/url.js
1
83.96%

lib/resolvers/http.js
2
80.95%

Totals

Change from base Build 284:
-0.9%

Covered Lines:
661

Relevant Lines:
702

💛  - Coveralls

Pull Request Test Coverage Report for Build 288

0 of 0   changed or added relevant lines in 0 files are covered.
3 unchanged lines in 2 files lost coverage.
Overall coverage decreased (-0.9%) to 91.928%

Files with Coverage Reduction
New Missed Lines
%

lib/util/url.js
1
83.96%

lib/resolvers/http.js
2
80.95%

Totals

Change from base Build 284:
-0.9%

Covered Lines:
661

Relevant Lines:
702

💛  - Coveralls