updating to 0.8.5 is causing an error where we are "unable to write hash to file"

Node v14.17.5
0.8.5
Azure pipeline with macos-latest
The following 'then' fails, making it impossible to sign and causing the pipline to fail
.then(function (hashOutput) {
      const hash = label + ' ' + env + ' ' + version + ' ' + platform + ':\n' + hashOutput + '\n';
      hash.toEnd('_distributions/'+label+'-'+env+'-'+version+'-'+platform+'-hash.txt');
      gutil.log(gutil.colors.green('Package succesfully signed'));
      done();
    })
    .catch(function () {
      errorHandler('Error: unable to write hash to file');
    });

Example ShellJS command to reproduce the error:
The following line fails, I am not sure how to simply reproduce this, without running our whole pipeline
     hash.toEnd('_distributions/'+label+'-'+env+'-'+version+'-'+platform+'-hash.txt');
This is not an urgent issue for us, since we just downgraded to 0.8.4, which works fine. But I think it's important you are aware of this issue.

nevermind, different issue

Ok cool, I'll mark as wontfix. Let me know if you think this is a bug in ShellJS though and I can look more closely. Shouldn't be specific to 0.8.5 though because the only difference between that and 0.8.4 was a single patch limited to shell.exec().

I thought it was a bug in shelljs, because it was a shelljs command that failed (toEnd()), but on reversing the commits I found that it was updating jshint from 2.13.1 to 2.13.4 that somehow broke that command in the pipeline.


Object(...) is not a function when using decorate

I am trying to make observable property by using decorate however, I get error:
Uncaught TypeError: Object(...) is not a function
    at Object../src/vrp-ui/Button.js (Button.js:32)
    at __webpack_require__ (bootstrap 8330eff5292135af9e26:19)
    at Object../src/map/StudentsMap.js (logo.svg:1)
    at __webpack_require__ (bootstrap 8330eff5292135af9e26:19)
    at Object../src/App.js (App.css?9a66:26)
    at __webpack_require__ (bootstrap 8330eff5292135af9e26:19)
    at Object../src/index.js (index.css?f255:26)
    at __webpack_require__ (bootstrap 8330eff5292135af9e26:19)
    at Object.0 (Button.js:32)
    at __webpack_require__ (bootstrap 8330eff5292135af9e26:19)

Here is my implementation:
import React, { Component } from 'react'
import {Button} from 'semantic-ui-react'
import axios from 'axios'
import {  decorate, observable  } from "mobx-react"
class componentName extends Component {

    constructor () {
        super()
        this.state = {
          solution: []
        }
      }

  render() {
    return (
      <Button
        Calculate Best Routes!
      </Button>
    )
  }
}

#Error is here:
export default decorate(componentName, {
  vrp_solution: observable
});

if I remove the decorate the error goes away..
any idea?

decorate and observable is part of mobx package (not mobx-react)

thanks


adds code for including feels like temperature

Adds code to use the feels like temperature in addition to the actual temperature. It is off by default. In ansiweatherrc, it is called via show_feels_like true or false, and from the command line by -h (short for heat index, since both f and F are taken and w (for wind chill) is taken by wind speed and direction. Addresses feature request #133.

Merged, thanks!


Conflicting Constraint Errors

Hi,

I'm receiving the following message below when running the example app you provided.
Both natively as well as ingested within my app.
Also, it's important to note I updated my POD to the latest today and am running ZKCarousel (0.1.5)
I setup a symbolic breakpoint and discovered that the offending code is:

ZKCarousel.swift
extension UIView {
func **addConstraintsWithFormat**(_ format: String, views: UIView...) {

    var viewsDictionary = [String: UIView]()
    for (index, view) in views.enumerated() {
        let key = "v\(index)"
        viewsDictionary[key] = view
        view.translatesAutoresizingMaskIntoConstraints = false
    }

    **addConstraints(**NSLayoutConstraint.constraints(withVisualFormat: format, options: NSLayoutFormatOptions(), metrics: nil, views: viewsDictionary))
}

}
Also: setup(){
self.addConstraintsWithFormat("V:[v0(43)]-[v1]", views: self.titleLabel, self.descriptionLabel)
}

I've tested against an iPhone Xs Max and iPhone 6s plus

Error Below:
2018-10-04 14:44:23.392251-0400 ZKCarousel_Example[459:44964] [LayoutConstraints] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.
Try this:
(1) look at each constraint and try to figure out which you don't expect;
(2) find the code that added the unwanted constraint or constraints and fix it.
(
"<NSLayoutConstraint:0x2827c0a50 UILabel:0x105110440.bottom == UILabel:0x105118060.top + 8   (active)>",
"<NSLayoutConstraint:0x2827c12c0 V:[UILabel:0x105110440]-(NSSpace(8))-[UILabel:0x105118060]   (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x2827c12c0 V:[UILabel:0x105110440]-(NSSpace(8))-[UILabel:0x105118060]   (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2018-10-04 14:44:24.892541-0400 ZKCarousel_Example[459:44964] [LayoutConstraints] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.
Try this:
(1) look at each constraint and try to figure out which you don't expect;
(2) find the code that added the unwanted constraint or constraints and fix it.
(
"<NSLayoutConstraint:0x2827d3520 UILabel:0x105215de0.bottom == UILabel:0x1052160d0.top + 8   (active)>",
"<NSLayoutConstraint:0x2827d3c00 V:[UILabel:0x105215de0]-(NSSpace(8))-[UILabel:0x1052160d0]   (active)>"
)
Will attempt to recover by breaking constraint
<NSLayoutConstraint:0x2827d3c00 V:[UILabel:0x105215de0]-(NSSpace(8))-[UILabel:0x1052160d0]   (active)>
Make a symbolic breakpoint at UIViewAlertForUnsatisfiableConstraints to catch this in the debugger.
The methods in the UIConstraintBasedLayoutDebugging category on UIView listed in <UIKitCore/UIView.h> may also be helpful.
2018-10-04 14:44:25.076927-0400 ZKCarousel_Example[459:44964] [LayoutConstraints] Unable to simultaneously satisfy constraints.
Probably at least one of the constraints in the following list is one you don't want.
Try this:
(1) look at each constraint and try to figure out which you don't expect;
(2) find the code that added the unwanted constraint or constraints and fix it.
(
"<NSLayoutConstraint:0x2827c1680 UILabel:0x10510ddd0.bottom == UILabel:0x105104fa0.top + 8   (active)>",
"<NSLayoutConstraint:0x2827d32a0

Thanks for this, I will look into it shortly and confirm if it is a bug.

I've made some changes, run pod update and make sure you are on ZKCarousel 0.1.9. This should fix your issue, but if it persists feel free to open another issue.

Thanks, @ZacharyKhan
I'm still receiving the issue with the latest release (0.1.9). I'll open a new issue.


Handle 128 bits trace Ids

Fixes #86

cc @adriancole

@adriancole Done, I think it's easier to read with your comments. I also introduced a constant to see the absence of traceIdHigh


Update Docker environment to Ubuntu 22, Python 3.10

Updates the base Docker image to Ubuntu 22.04, where Python 3.10 is the default. Some dependencies are updated alongside.
Fixes https://github.com/Xilinx/finn/issues/766.
Tested so far:

[x] Quicktest
[ ] Full test suite
[x] Cybsec notebooks
[ ] Other notebooks
[x] CUDA support (FINN_DOCKER_GPU=1)
[x] Full Zynq build
[ ] Full Alveo build
[x] Vitis/Vivado 2022.2
[x] Vitis/Vivado 2023.1
[x] Linting

Issues:

pip install --user--editable is broken for certain packages (here: qonnx)

See https://github.com/pypa/pip/issues/7953
-> Workaround applied

Xilinx tools crash during synthesis due to FlexLM issue

See Revenera forum
-> Workaround applied

The update from PyTorch 1.7/ONNX v6/ai.onnx v9 to PyTorch 1.13.1/ONNX v7/ai.onnx v14 causes different finn-onnx export behavior in Brevitas (tested 0.8.0 and 0.9.1):

Primary input tensor name is not always "0", this was previously assumed

-> Workaround by providing "input_names" explicitly to export function

In certain cases the exported graph will no longer exhibit unique parameter tensors

-> Workaround by calling GiveUniqueParameterTensors()

Linting: as of now, the following reformattings would take place:

Minor automatic changes (e.g., addition/removal of empty lines) to 22 files
Line length limit (currently 88 characters) was previously not always enforced for multi-line strings ("""). After this update, a few occurences are slightly over the limit (13 lines in 11 files)

Depends on:

[ ] https://github.com/fastmachinelearning/qonnx/pull/58 (update commit-hash accordingly)

Combining this with the update to 2023.1 tools by merging into feature/2023_1. Some issues, such as updating qonnx and fixing the linting, remain and will be fixed in that branch before merging to dev.


Play view layout

Update views to use Play functionalities

LGTM but shouldn't we wait till the whole thing work to validate there is nothing messed up we can't see now?

Top menu options are not next to TiefVision Title


defaultDataStructure can be overidden

Small change to allow defaultDataStructure to be overridden in components which extend from ChartistChart. This is necessary for stacked bar charts which require a specific initial data structure (or Chartist blows up trying to operate on Infinity).

@tylergaw got your tests working again in Travis.


Add stop/resume scheduling job api

What is the purpose of the change
Add stop/resume scheduling job api.

Codecov Report

Merging #241 (f8b9e64) into master (2c67d50) will decrease coverage by 0.03%.
The diff coverage is 58.59%.

@@            Coverage Diff             @@
##           master     #241      +/-   ##
==========================================
- Coverage   66.22%   66.19%   -0.04%
==========================================
  Files         206      206
  Lines       15387    15496     +109
  Branches     2322     2329       +7
==========================================
+ Hits        10190    10257      +67
- Misses       4641     4680      +39
- Partials      556      559       +3

Impacted Files
Coverage Δ

.../airflow/contrib/jobs/event_based_scheduler_job.py
19.08% <7.14%> (-0.56%)
:arrow_down:

...ins/scheduler_plugins/airflow/airflow_scheduler.py
31.77% <37.03%> (-0.04%)
:arrow_down:

ai_flow/plugin_interface/scheduler_interface.py
78.10% <66.66%> (-0.36%)
:arrow_down:

ai_flow/endpoint/client/scheduler_client.py
71.17% <71.42%> (+0.02%)
:arrow_up:

ai_flow/scheduler_service/service/service.py
73.79% <75.00%> (+0.09%)
:arrow_up:

ai_flow/api/workflow_operation.py
86.13% <100.00%> (+0.41%)
:arrow_up:

...b/airflow/airflow/contrib/jobs/scheduler_client.py
98.09% <100.00%> (+0.79%)
:arrow_up:

...w_plugins/blob_manager_plugins/oss_blob_manager.py
83.78% <0.00%> (-2.71%)
:arrow_down:

ai_flow/store/sqlalchemy_store.py
75.39% <0.00%> (+0.18%)
:arrow_up:

Continue to review full report at Codecov.

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


[FLINK-32110][python] Fix the native memory leak when using time window in Pyflink thread mode.

What is the purpose of the change
This pull request will fix the native memory leak of time window in Pyflink thread mode
Brief change log

Redundant on timer calling are removed.

Verifying this change
This change is a trivial rework / code cleanup without any test coverage.
Does this pull request potentially affect one of the following parts:

Dependencies (does it add or upgrade a dependency): (no)
The public API, i.e., is any changed class annotated with @Public(Evolving): (no)
The serializers: (no)
The runtime per-record code paths (performance sensitive): (no)
Anything that affects deployment or recovery: JobManager (and its components), Checkpointing, Kubernetes/Yarn, ZooKeeper: (no)
The S3 file system connector: (no)

Documentation

Does this pull request introduce a new feature? (no)
If yes, how is the feature documented? (not applicable)

@flinkbot run azure


Create sub tensor by selecting windows from one input

Please make sure that the boxes below are checked before you submit your issue. If your issue is an implementation question, please ask your question on StackOverflow or join the Keras Slack channel and ask there instead of filing a GitHub issue.
Thank you!

[ ok ] Check that you are up-to-date with the master branch of Keras. You can update with:
pip install git+git://github.com/keras-team/keras.git --upgrade --no-deps

[ ok ] If running on TensorFlow, check that you are up-to-date with the latest version. The installation instructions can be found here.

[ ok ] If running on Theano, check that you are up-to-date with the master branch of Theano. You can update with:
pip install git+git://github.com/Theano/Theano.git --upgrade --no-deps

[ ok ] Provide a link to a GitHub Gist of a Python script that can reproduce your issue (or just copy the script here if it is short).

Hi Keras community,
I've asked my question on StackOverflow but still no suitable response.
Could you please check it and give me some tips or respond my question, Please?
Thanks in advance

Please make sure that the boxes below are checked before you submit your issue. If your issue is an implementation question, please ask your question on StackOverflow or join the Keras Slack channel and ask there instead of filing a GitHub issue.
Thank you!

[ ok ] Check that you are up-to-date with the master branch of Keras. You can update with:
pip install git+git://github.com/keras-team/keras.git --upgrade --no-deps
[ ok ] If running on TensorFlow, check that you are up-to-date with the latest version. The installation instructions can be found here.
[ ok ] If running on Theano, check that you are up-to-date with the master branch of Theano. You can update with:
pip install git+git://github.com/Theano/Theano.git --upgrade --no-deps
[ ok ] Provide a link to a GitHub Gist of a Python script that can reproduce your issue (or just copy the script here if it is short).

Hi Keras community,
I've asked my question on StackOverflow but still no suitable response.
Could you please check it and give me some tips or respond my question, Please?
Thanks in advance

Please make sure that the boxes below are checked before you submit your issue. If your issue is an implementation question, please ask your question on StackOverflow or join the Keras Slack channel and ask there instead of filing a GitHub issue.
Thank you!

[ ok ] Check that you are up-to-date with the master branch of Keras. You can update with:
pip install git+git://github.com/keras-team/keras.git --upgrade --no-deps
[ ok ] If running on TensorFlow, check that you are up-to-date with the latest version. The installation instructions can be found here.
[ ok ] If running on Theano, check that you are up-to-date with the master branch of Theano. You can update with:
pip install git+git://github.com/Theano/Theano.git --upgrade --no-deps
[ ok ] Provide a link to a GitHub Gist of a Python script that can reproduce your issue (or just copy the script here if it is short).

Hi Keras community,
I've asked my question on StackOverflow but still no suitable response.
Could you please check it and give me some tips or respond my question, Please?
Thanks in advance

@patyork could you take a look in my question or forward it to somebody else that could help?


树莓派ubuntu无法使用

ImportError: cannot import name 'ZhipuAI' from partially initialized module 'zhipuai' (most likely due to a circular import)

更新到最新的api


Feature request - output-model populate with desired properties

First of all - thanks for great ui component, this is probably best multi-select component I've ever seen (been developing for 15+ years).
I was wondering if it would be possible to add output-model-property that would determine how output-model gets populated. Currently, whole objects get cloned into output-model, i.e:
$scope.inputList = [
    { id: 0,	firstName: "Peter",    lastName: "Parker",     pic: "",   selected: false },
    { id: 1,	firstName: "Mary",     lastName: "Jane",       pic: "",   selected: false },
    { id: 2,	firstName: "Bruce",    lastName: "Wayne",      pic: "",   selected: true  },
    { id: 3,	firstName: "David",    lastName: "Banner",     pic: "",   selected: false },
    { id: 4,	firstName: "Natalia",  lastName: "Romanova",   pic: "",   selected: false },
    { id: 5,	firstName: "Clark",    lastName: "Kent",       pic: "",   selected: true  }
];

$scope.outputList = [
    { id: 2,	 firstName: "Bruce",    lastName: "Wayne",      pic: "",   selected: true  },
    { id: 5,	 firstName: "Clark",    lastName: "Kent",       pic: "",   selected: true  }
];

What I would like is if it was possible to specify output-model-property="id" and then output list would be:
$scope.outputList = [
    2,
    5
];

Reason being - most dropdowns/comboboxes are bound to some unique IDs, and something like this would allow to avoid using angular.forEach(param, function(value,key) { ... }) every time you need to fetch what's selected.
This would allow for lots of cool stuff, like:
If you want to preserve selected states across pages, you can simply pass selected ids in querystring (like ?States=JSON.stringify($scope.outputList))
You can bind $scope.outputList to  and use that as part of the ...
For some crazy scenarios it would be great if this was possible to do with multiple properties (like item-label="icon name maker", although this would change format from [2,5] to [{id:2,name:Do},{id:5,name:La}]), but even one property for start would be great to save us from doing angular.forEach every time we need to get selected values.
Regardless of what you decide to do about this - thanks again for great component.

I actually disagree with @lepipele on "developers are working with IDs". For a very simple app - maybe it is sufficient, but anything more involved with any hint of a business logic or domain entites having just IDs is very detrimental. Also, generating keys via "field1-field2" is a horrible hack which I would very strongly argue against.

...


Keep form state for new resources after visiting other page

Currently creates a random resource every time you open a new form.
Approaches

Store temporary identifier in the URL as a query parameter.
Skip the 'new' form - create a new empty resource when opening the form, then open an Edit form.

Has been fixed some time ago, indeed by using a query param


More frequent api update

Please update your api more often.

ohh sorry next time I write it in pull requests.

Can you set a hourly/bihourly api update?

According to Johns Hopkins CSSE, it will be daily updated.


PLANNER-2359: User system integration/synchronization (initial application.properties based implementation)

Many thanks for submitting your Pull Request :heart:!
Please make sure that your PR meets the following requirements:

[X] You have read the contributors guide
[X] Your code is properly formatted according to this configuration
[X] Pull Request title is properly formatted: KOGITO-XYZ Subject
[X] Pull Request title contains the target branch if not targeting master: [0.9.x] KOGITO-XYZ Subject
[X] Pull Request contains link to the JIRA issue
[X] Pull Request contains link to any dependent or related Pull Request
[X] Pull Request contains description of the issue
[X] Pull Request does not include fixes for issues other than the main ticket

How to retest this PR or trigger a specific build:

Pull Request
Please add comment: Jenkins retest this

Quarkus LTS checks
Please add comment: Jenkins run LTS

Native checks
Please add comment: Jenkins run native

Full Kogito testing (with cloud images and operator BDD testing)
Please add comment: Jenkins run BDD
This check should be used only if a big change is done as it takes time to run, need resources and one full BDD tests check can be done at a time ...

The Linux check is successful.

Hi @ge0ffrey @rsynek , would you mind review this PR?
thanks

The Linux check has failed. Please check the logs.

Jenkins retest this

The Linux check has failed. Please check the logs.

Jenkins retest this

The Linux check is successful.


Using customized configuration file in Python

目前 Python 版本不能使用自定義的 json 配置。
我新建了一個 hk2t.json 如下：
{
  "name": "Traditional Chinese (Hong Kong standard) to Simplified Chinese",
  "segmentation": {
    "type": "mmseg",
    "dict": {
      "type": "ocd2",
      "file": "HKVariantsRevPhrases.ocd2"
    }
  },
  "conversion_chain": [{
    "dict": {
      "type": "group",
      "dicts": [{
        "type": "ocd2",
        "file": "HKVariantsRevPhrases.ocd2"
      }, {
        "type": "ocd2",
        "file": "HKVariantsRev.ocd2"
      }]
    }
  }]
}

問題：
$ pip install opencc

Python 3.9.0a6 (default, May 16 2020, 07:00:10)
[GCC 8.3.0] on linux
Type "help", "copyright", "credits" or "license" for more information.
>>> from opencc import OpenCC
>>> cc = OpenCC('./hk2t.json')
>>> cc.convert('為了')  # 預期輸出「爲了」
Segmentation fault (core dumped)

Command line 可以：
$ echo '為了' | opencc -c hk2t.json
爲了

@sgalal 不好意思，我比较习惯简体字，我们可以用英文吗？

The problem arises because HKVariantsRevPhrases.ocd2 and HKVariantsRev.ocd2 cannot be found in the same directory as hk2t.json.

But the greater issue is the lack of verbosity.
Segmentation fault (core dumped)

tells us nothing
What causes this behavior?
cpython does not recognize c errors and exceptions.
So when the c-library fails, the error message is not propagated to python and python simply returns a generic response.
Can we solve this issue?
The good news is that I think I've got a working solution now.
https://github.com/mingruimingrui/OpenCC/tree/feature/experimental-pybind
pybind11  is used to create a python interface for OpenCC.
This way instead of seg-fault, you will get this error message instead.
>>> import opencc
>>> opencc.OpenCC('hk2t.json')
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "/HOME/miniconda3/envs/opencc/lib/python3.7/site-packages/OpenCC-1.1.0-py3.7-macosx-10.9-x86_64.egg/opencc/__init__.py", line 43, in __init__
    super(OpenCC, self).__init__(config)
ValueError: HKVariantsRevPhrases.ocd2 not found or not accessible.

@mingruimingrui Thanks for pointing it out. But I expect the behaviour to be the same as the command line tool.

@mingruimingrui Thanks for pointing it out. But I expect the behaviour to be the same as the command line tool.

That wont be very convenient to do. The reason command-line works, is because the c library is using PKGDATADIR (derived from CMAKE_INSTALL_PREFIX) to find the config folder.
The goal of the python package is portability, so the same method would not work.
We can add a new feature but I think that your PR is more elegant. https://github.com/BYVoid/OpenCC/pull/408

Great idea. Thank your very much!

It seems that this issue has been fixed by #414.


In inline math mode, allow breaking lines after a comma

Description
There are already some cases where inline math breaks lines automatically. However, it seems that comma doesn't trigger this scenario. It'd be nice to either: (1) have an option to choose whether or not a line break can be added after a comma or (2) make commas "breakable" by default.
Use Case
In my use case, I was trying to write a very long tuple:
Test of a sentence with math that should break after a comma:
$E = (M, O, sans("cap"), sans("prc"), sans("nextM"), sans("csiM"), sans("csd"))$

And this is how it rendered:

The Typst version used for this is v0.12.0.

I doubt the problem here is commas. Rather, it's the matching delimiters. In any case I'd strongly recommend considering using display math if you have something this long

The math linebreaking rules were defined in https://github.com/typst/typst/pull/1826 and adopted from TeX. From a quick experiment, linebreaking at commas in math is also not allowed in LaTeX, probably (?) for some good reason.

Indeed. However, in LaTeX you can use \allowbreak right after a comma and then the engine can consider line breaks after it. Just having that would be enough for my case.


Terraform and SaltStack

Please make icons for Terraform (tf) and SaltStack (sls).
Thank-you.

PR submitted. =)


feature suggestion: In Layer-3 subscription, the signal function allows nested maps of (sequence of) subscriptions

Hello,
signal-fnof Layer 3 subscriptions should returns a subscription, a sequence of subscriptions or a maps of the previous ones. I think it would interesting to also allow nested maps of subscription. I guess you can avoid it query-v, but I thought it would be a nice feature.

@davidpham87 can you explain more about the motivations for this, and some example code of how you imagine it looking? I don't fully understand why you'd want to return nested maps of subscriptions?

@davidpham87
Thank you for the idea, I understand where you are coming from.
However, if anything, I'd like to go in the opposite direction and remove maps completely, because I now regard their inclusion as a small design mistake.
To achieve simplicity, there should only be one way to do things (not many) and vectors alone would have been good enough.
So, doubling down on maps is not a path I want to pursue.  Closing.

On the other hand, order induce complexity (according to the simple made easy talk), so hope you keep the one level map! But I understand your point of not supporting nested subscription. Thanks a lot four library! I really love it.


ARROW-9188: [C++] Use Brotli shared libraries if they are available

If both shared and static Brotli libraries are available, the static ones were being selected, causing ~750KB of code to be statically linked into libarrow.so on Linux. This is not consistent with our handling of other toolchain libraries. We should use the shared library if it is available.

Looks good except one minor comment. LZ4 and ZSTD also use the dynamic library at first if available.

Thanks, will look into this. I'm guessing these changes will break some of the Python wheel builds so we may need a flag to indicate a preference of shared vs static

@github-actions crossbow submit -g linux -g wheel -g conda

It appears that the Brotli shared libraries are in the manylinux1 image even though -DBUILD_SHARED_LIBS=OFF
https://github.com/apache/arrow/blob/master/python/manylinux1/scripts/build_brotli.sh#L29

@nealrichardson I figure this might impact the R packages also

@wesm how can I help/what should I look for?

If you're installing Brotli in any of the packaging setups, there may be a scenario where there is both the shared AND static library -- in that case there would be an issue. We need to see why the manylinux* builds have libbrotli*.so in them -- if for some reason Brotli's build is insubordinate and churlish we might have to add a flag to do a hard switch between shared/static like we do with ZSTD

IIUC we're ok:

Windows: no brotli: https://github.com/apache/arrow/blob/master/ci/scripts/PKGBUILD
macOS: no brotli: https://github.com/apache/arrow/blob/master/dev/tasks/homebrew-formulae/autobrew/apache-arrow.rb
Linux: maybe brotli, but it's all static build anyway: https://github.com/apache/arrow/blob/master/r/inst/build_arrow_static.sh

Apparently the -DBUILD_SHARED_LIBS=OFF option for Brotli doesn't do anything. I'll add some code to scrub the shared libs from the manylinux images

Actually, that's crazy. I'm taking the same approach as ZSTD and adding a CMake toggle between shared and static Brotli (with default being shared)

@github-actions crossbow submit -g linux -g wheel -g conda

This looks good to me, @kszucs @kou @nealrichardson anything else you would want to check?

If there's no further feedback I will merge this in the next 24h and I assume that any packaging issues will come up in nightlies as we push toward the next release.


Scroll viewpager fix

We added support for on scroll horizontal. This affects all view pagers to check if the tile view can scroll.

nice, thanks

Thanks for the awesome library and the speedy merge.
Would it be too much trouble to tag a new release and publish to maven?

It wouldn't be too much trouble, that said, I've never published to Maven - another contributor used to handle that...  I need to figure it out at some point, but that's not likely to be soon...  If you have the time, feel free to publish it if that's possible


Revamp unit test handling

Introduce globalCiUnitTest lifecycle task for convenience
Remove unit test plugin, make it just a part of standard project configuration. Long overdue!
Clean up and consolidate Test task configurations.
Configure Test tasks the same both locally and on CI. I suspect this is part of what was negatively affecting caching for these tasks. A bunch was left over from past work around memory issues, and I've batched those together behind the existing verbose logging flag for whenever we need to investigate those.

Tested on the internal slack repo and confirmed ciUnitTest --dry-run | grep ciUnitTest and globalCiUnitTest --dry-run | grep ciUnitTest yield the same number of tasks 👍


Indeterminate progress bar animation broken on Firefox 57

Bug, feature request, or proposal:
Bug
What is the expected behavior?
Progress bar animation plays smoothly.
What is the current behavior?
Progress bar animation shows breaks in frames.
What are the steps to reproduce?
The issue can be seen on the docs site. https://material.angular.io/components/progress-bar/overview
I have also uploaded a gif of what I am seeing to https://imgur.com/a/lKxdL.
What is the use-case or motivation for changing an existing behavior?
N/A
Which versions of Angular, Material, OS, TypeScript, browsers are affected?
The versions of Angular, Material, and TypeScript that the https://material.angular.io site is using at the time of writing. The browser is Firefox 57.
Is there anything else we should know?
The progress spinner is fine. It's just the progress bar that seems to be experiencing an issue whilst playing the animation.
Granted that the FF 57 has only been out in release form for a day but I thought this should be tracked for a fix.

works fine in my firefox v57

Closing as a duplicate of https://github.com/angular/material2/issues/7606.


Understanding tsr tsc parameters

What tsr tsc parameters actually mean?

These parameters determine the width to height ratio of the image region which you would like to check with the detector: height = s*tsr, width = s*tsc. (The size of the region, s, is an input parameter to the detection function.)


Automated Package Upgrade

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

npm package (@latest dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Revert "DeprecationWarning for inspect.getargspec() Fix"

Reverts hfaran/Tornado-JSON#106
@digitaldavenyc I didn't realize it since for some reason Travis CI isn't commenting on PRs anymore, but your PR broke the build for Python 2.7 - getfullargspec doesn't exist there. Please feel free to resubmit this if your change works in both py27 and py3 as well.

Coverage remained the same at 96.024% when pulling bf27afd81f2da9f4bb705dbda216ea4d61eb0beb on revert-106-deprecation-warning into d279a737946870e0dc76c5a9fa605e834fbb5fdc on master.

Coverage remained the same at 96.024% when pulling bf27afd81f2da9f4bb705dbda216ea4d61eb0beb on revert-106-deprecation-warning into d279a737946870e0dc76c5a9fa605e834fbb5fdc on master.

Coverage remained the same at 96.024% when pulling bf27afd81f2da9f4bb705dbda216ea4d61eb0beb on revert-106-deprecation-warning into d279a737946870e0dc76c5a9fa605e834fbb5fdc on master.

Coverage remained the same at 96.024% when pulling bf27afd81f2da9f4bb705dbda216ea4d61eb0beb on revert-106-deprecation-warning into d279a737946870e0dc76c5a9fa605e834fbb5fdc on master.


fix: port oauth input isMessage filters

Fixes #3228

Pull Request Test Coverage Report for Build 516158885

0 of 0   changed or added relevant lines in 0 files are covered.
49 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.003%) to 84.708%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-dialogs-adaptive/src/input/oauthInput.ts
49
55.26%

Totals

Change from base Build 516156245:
-0.003%

Covered Lines:
18071

Relevant Lines:
20366

💛  - Coveralls

Pull Request Test Coverage Report for Build 516158885

0 of 0   changed or added relevant lines in 0 files are covered.
49 unchanged lines in 1 file lost coverage.
Overall coverage decreased (-0.003%) to 84.708%

Files with Coverage Reduction
New Missed Lines
%

libraries/botbuilder-dialogs-adaptive/src/input/oauthInput.ts
49
55.26%

Totals

Change from base Build 516156245:
-0.003%

Covered Lines:
18071

Relevant Lines:
20366

💛  - Coveralls


vmware-horizon-client: 2206 ->

Automatic update generated by nixpkgs-update tools. This update was made based on information from passthru.updateScript.
meta.description for vmware-horizon-client is: Allows you to connect to your VMware Horizon virtual desktop
meta.homepage for vmware-horizon-client is: https://www.vmware.com/go/viewclients
Updates performed

Ran passthru.UpdateScript

To inspect upstream changes
Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found  with grep in /nix/store/8n9xfjwi86fd8hngyarlxxg5bxjbr37w-vmware-horizon-client-
found  in filename of file in /nix/store/8n9xfjwi86fd8hngyarlxxg5bxjbr37w-vmware-horizon-client-

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
vmware-horizon-client

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/8n9xfjwi86fd8hngyarlxxg5bxjbr37w-vmware-horizon-client- \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A vmware-horizon-client https://github.com/r-ryantm/nixpkgs/archive/b086a54faa2cb55a3d450684024ec782f80e189a.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/8n9xfjwi86fd8hngyarlxxg5bxjbr37w-vmware-horizon-client-
ls -la /nix/store/8n9xfjwi86fd8hngyarlxxg5bxjbr37w-vmware-horizon-client-/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

vmware-horizon-client

Maintainer pings
cc @buckley310 for testing.

So the updateScript is not working right now I think :upside_down_face: (Please keep this PR as draft state so r-ryantm don't create the same PR in the future)

I'm looking to see if the script is broken or if the website API is offline...

The first curl request in the script fails. If I replicate the request with curl --http1.1 it works. Probably a VMware bug then.

The update script issue appears to have resolved itself.
Versions beyond 2206 have crashing issues that I have been unable to resolve so far, which is why this package is behind.
I have not tested the 2212 version yet though, if I'm lucky maybe those issues go away on their own too :crossed_fingers:

I'm closing this, as the issue specific to this PR is gone now.


appengine: encode binaryblob values with Base64 even in aggregates

Fix #547
Signed-off-by: Riccardo Binetti<EMAIL_ADDRESS>

Waiting for https://github.com/astarte-platform/astarte_core/pull/57 to update astarte_core to fix also the Trigger Engine side


Assessment does not throw runtime errors in RC 1.32

This change is in main branch.
PR for main branch: https://github.com/microsoft/azuredatastudio/pull/16627
Steps:

create a source connection with a user that does not have permission to access more than one database
open sql-migration extension for that source server
click create new migration
select all databases to assess for migration and click next
an error message should display but notice error message does not relate to assessment
select to view assessment results for sql managed instance*
notice assessment results are missing

This has been merged into release/1.32 branch.


Added DataLayer support

Enable Datalayer in config with

data_layer_on: 'true'

Push an array or just a key and a value.
Push a key and a value in Twig with

{{ GoogleDataLayerPush('test','from whit\'in twig') }}

can you use PSR0/1 coding style for all your code?

why not just always enable the datalayer? I don't really see the point of adding an option for this

You are right, there is no point in having no DataLayer. I will remove the option.

I'm going to test and merge this tonight.

I made a few changes. the most important one is that if you add a value twice it will overwrite the previous value. Tagged as v1.0.2
Thanks!

Great! Thanks for the improvement and the feedback.


E2E Tests: Reduce default timeout

Fixes #8956
This PR reduces the default cypress timeout used in e2e tests from 60s to 10s.
There are a few tests that need updating to specifically used a longer timeout - a set of timeouts has been created in a utility file and used in the appropriate places.
When a test fails, the test is retried 3 times - so before this PR, a test failure would add 3 minutes to the test run - with this PR it adds 30 seconds.
We can look to reduce the timeout further, but more tests will need to be checked and updated.
This PR also updates a couple of tests to make them more resilient:

Istio - also attempts to uninstall the charts that are installed
Chart Repositories - added a wait for page
Rancher backup - extra resilience for the storage options checkbox
Extensions - wait for the tabs to show to help with timing issues
Fleet - wait for the secrets call to finish

Also added tag for ember and applied to relevant tests.

@richard-cox @aalves08 This one finally passed the gates - would be good to get this in


Add a CTA for users who are not logged in with MetaMask

What's the problem? (required)
Users who are not logged in with MetaMask are not aware of some of the opportunities available to them if they were a) to log in, or b) to install MetaMask, or c) to have Ethereum / crypto in general.
Opportunities such as:

having "MY ACCOUNT" with Livepeer.
contributing directly to broadcasters (in media)
bonding (in explorer)
others we haven't even dreamed of yet.

What's the current behavior? (required)
For example, if I am logged in with MetaMask, the player shows me this:

If I am not logged in with MetaMask, the player doesn't show anything to prompt a user to either a) log in to MetaMask, or b) get MetaMask
Do you have any personal experiences dealing with this problem? (optional)
I tend to forget that the "Tip the broadcaster" thing exists because I'm not always logged in to my MetaMask, and I am its biggest fan.
Describe a possible solution you've considered (optional)
If user has MetaMask but is not logged in, can say "Log in to MetaMask to tip the broadcaster"
If user does not have MetaMask, can say "Install MetaMask to tip the broadcaster directly"
I want a little bit for users to be intrigued by "what is this thing, Web 3.0", because right now they really don't know.
Additional context (optional)
Keep up the great work on livepeerjs! We love you @jozanza

Right. Users may not have a clue about how to participate in any protocol txns with the UI as it is today. While, currently, the player does not have a concept of "My Account", the fact still remains that you may want to give the broadcaster some ETH (or maybe even tokens???). You'd need to be authenticated with an Ethereum account to do this. Any you can't play the delegation game at all if you aren't authenticated.
Clearly, we should prompt users to authenticate, however, there are a lot of options for doing this: Mist, Parity, MetaMask. And then on mobile, we have a totally different set: Cipher, Toshi, Status. So we would need to make some decisions about what we recommend and perhaps create external resources (in the wiki, forum, or website) to help guide newcomers with clear steps, in greater detail. This is where the bulk of the work lies.
Once we have that, it's just a matter of figuring out where to place the prompt in the UI of both DApps. Here's my recommendation:

For the player, we leave the tip button visible at all times and show the prompt to users who click on it and are not logged in.
For the explorer, we leave the "My Account" nav link visible and show the prompt to users who click on it and are not logged in.

Once we know the copy of the prompts and any necessary external resources, these updates can be made easily. I think they'll be really good gitcoin candidates too! :3
And of course, we can continue to monitor user feedback and analytics afterward to see if there are other ways we can let users know about why they may want to log in. We can make separate issues for such enhancements as needed 👍

Closing since it's been addressed.


Re-organize and update project

Removes the persistent-arbitrary package, because we've been creating that instance client side ourselves, and can do so in our test suite too. At that point, the graphula-core sub-package made little sense, so I moved all the code to top-level. Then I updated the Stackage resolver, added our usual -Weverything, and addressed all the warnings.

Looks like you merged this to master instead of main.

Doh. What can we do to make that error and not just create the branch?

Right, gotta delete the branch.


Cdk service vehicles

Please check the following conditions for your PR.

[ ] apiDefinition.swagger.json is validated using paconn validate command.
[ ] apiProperties.json has a valid brand color. Invalid brand colors are #007ee5 and #ffffff.

@amancdk Could you resolves the conflicts please? Thanks!

Done.
From: Doug Elliott<EMAIL_ADDRESS>Reply-To: microsoft/PowerPlatformConnectors<EMAIL_ADDRESS>Date: Thursday, 20 August 2020 at 11:07 PM
To: microsoft/PowerPlatformConnectors<EMAIL_ADDRESS>Cc: "Bhargava, Aman Avinash"<EMAIL_ADDRESS>Mention<EMAIL_ADDRESS>Subject: Re: [microsoft/PowerPlatformConnectors] Cdk service vehicles (#392)
@amancdkhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_amancdk&d=DwMCaQ&c=N13-TaG7c-EYAiUNohBk74oLRjUiBTwVm-KSnr4bPSc&r=dIPM_KF4GTc3orW0l-o6d2q5c9CbawZrDX7hsGTtRT0&m=1n6L7E71dxnVg2OJFJcBEsyw4yC3av5LYuQv7_cPiUM&s=e65w2JphNf3AwI-HIc2YGwADzPhJgDn2WgJnF-elGBM&e= Could you resolves the conflicts please? Thanks!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_microsoft_PowerPlatformConnectors_pull_392-23issuecomment-2D677802635&d=DwMCaQ&c=N13-TaG7c-EYAiUNohBk74oLRjUiBTwVm-KSnr4bPSc&r=dIPM_KF4GTc3orW0l-o6d2q5c9CbawZrDX7hsGTtRT0&m=1n6L7E71dxnVg2OJFJcBEsyw4yC3av5LYuQv7_cPiUM&s=ytcwKAqn4pPGyieDvIMCO2iTI1D2neX9cj7oTZ9nChE&e=, or unsubscribehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AIRAEBB3552TDTZMJP2EIODSBVNMZANCNFSM4QF7FMCQ&d=DwMCaQ&c=N13-TaG7c-EYAiUNohBk74oLRjUiBTwVm-KSnr4bPSc&r=dIPM_KF4GTc3orW0l-o6d2q5c9CbawZrDX7hsGTtRT0&m=1n6L7E71dxnVg2OJFJcBEsyw4yC3av5LYuQv7_cPiUM&s=x1odrp60nZQBKPbF_c_LK1fiu75dbK8T7uyyRs0sH8M&e=.

This message and any attachments are intended only for the use of the addressee and may contain information that is privileged and confidential. If the reader of the message is not the intended recipient or an authorized representative of the intended recipient, you are hereby notified that any dissemination of this communication is strictly prohibited. If you have received this communication in error, notify the sender immediately by return email and delete the message and any attachments from your system.

@amancdk
Description - I would recommend you to provide a plain and detailed description of your connector instead of having a html based description divided in three sections. You can have these sectional description in intro.md.
Metadata - The website value you have provided is an API directory website, It should be your company or product website. And please update the value of "Privacy policy" of your company's or product's privacy policy URL.

@sriyen-msft, Somehow I made changes to local but forgot to merge. Anyways made those changes now.
Our product URL is - https://fortellis.io
and our Privacy URL is - https://fortellis.io/privacy


Project configuration via TOML

Rather stick to *.gradle[.kts] configuration + system properties if needed.


How to specify a file

Issue in ./help/ingestion/batch-ingestion/api-overview.md
It would be great to see an example of how {FILE_NAME} should look. What syntax/notation do I need to use to specify a file? Does the file need to be on my own hard drive? How will the API call know where to find it?   I searched and could not find any examples.
I later saw this:
{FILE_PATH_AND_NAME} | The full path and name of the file you are trying to upload. This file path is the local file path, such as Users/sample-user/Downloads/sample.json.
But the description of {FILE_NAME} "The name of the file you want to upload. This file path is the location where the file will be saved on the Adobe side." refers to a file path.  Is the name supposed to be both the file and the path?  And how would an end user know where the path will be saved "on the Adobe side"?
Confusing!

Thank you for submitting this issue. We will review the documentation and make the necessary updates as quickly as possible. Tracking internally in PLAT-131783.

We've reviewed and updated the documentation. Closing this issue.


Added randomized event names for new events.

This commit improves on issue #24. Currently, more randomized events can be added by adding to the events array.

The code looks good! The event names are too long in some cases, they fall off the edge of the chart. In the months.js code on line 163 in the main branch, you can find the validation which rejects strings of length 20+. I know these are meant to be replaced by the user, but it would be good to have them valid when they are added.


[Feature request] Add official Docker support

Including the Docker stuff from here https://gitlab.com/kirbo/steam-prefill-docker into this repo.

Motivation for using Docker vs native executable

Keeps application isolated to container, can cleanup everything instantly by clearing containers, no polluting the host file system
Ease of scheduling as a recurring job using Portainer (for example)
Ability to limit resources, ex. CPU cores, RAM, Bandwidth
Simple updating via docker pull

@Kirbo I've got the docker build and publish working, its pushing up to https://hub.docker.com/r/tpilius/steam-lancache-prefill/tags if you'd like to give it a test.

Is there any documentation or a compose file to using the docker version? I have it set up but the container will not start at all. I am not seeing anything. When the container starts, I get the log output of what I believe would be steamprefill --help.
Keep up the good work!

As of right now documentation for this Dockerized version is very much a WIP, since I haven't "officially" announced support for Docker yet (don't let me discourage you from using it though, feedback is always appreciated)
I was planning on working on the documentation and having it ready prior to the official release. For the time being, you could take a look at https://gitlab.com/kirbo/steam-prefill-docker which has the docs that will eventually be integrated into this repo.
Until then, I would to hear what you've tried to do to get it running, what steps you've done, and what sort of trouble you've ran into. As well as anything that is unclear or confusing. It would certainly help me with writing helpful docs

Ah. Yeah, right now I can't get it to a running state. It starts up, and exits with code 1 which is usually an application error. I'll have to wait until GitLab is back up from maintenance to read the documentation from there.
So far, all I have mounted as volumes are /app/cache and /app/config. I did not see anything else when I created the container that needed to be mounted or configured. When I start the container, all I get is the following:
SteamPrefill v1.5.0
  Automatically fills a Lancache with games from Steam, so that subsequent downloads will be
  served from the Lancache, improving speeds and reducing load on your internet connection.

  Start by selecting apps for prefill with the 'select-apps' command, then start the prefill using 'prefill'

USAGE
  SteamPrefill [options]
  SteamPrefill [command] [...]

OPTIONS
  -h|--help         Shows help text.
  --version         Shows version information.

COMMANDS
  clear-cache       Empties out temporary cached data, to free up disk space
  prefill           Downloads the latest version of one or more specified app(s).  Automatically includes apps selected using the 'select-apps' command
  select-apps       Displays an interactive list of all owned apps.  As many apps as desired can be selected, which will then be used by the 'prefill' command
  select-apps-beta  Beta version of select-apps interface redesign

You can run `SteamPrefill [command] --help` to show help on a specific command.

The container then exits with a code 1. I have also tried with the post argument of SteamPrecache select-apps and the same thing happens. Overall, I will experiment over the weekend and see if I can get it working.
I am able to manually install it and get it working on my Lancache container so that will help a lot for the time being.
As for the documentation side, most people can get by with using a 'default' docker compose file and a chart of all of the available options. Similar to the usage and parameters section of LSIO containers: https://github.com/linuxserver/docker-mariadb
My end goal is to have Lancache Bundle, Steam Prefill (and any other prefill if available), and NetData all running in the same container.

Hey @ich777 found a way for me to get it run headless from a cronjob on an unraid userscript.
Maybe this will help you, too:
#!/bin/bash

#Variablen
CONTAINERNAME="yourCONTAINERname"
USERNAME="yourUSERNAME"

lxc-start --name $CONTAINERNAME
sleep 10

lxc-attach --name $CONTAINERNAME -- su $USERNAME bash -c "env TERM=xterm /home/sonic6/steam_prefill/SteamPrefill prefill"
lxc-attach --name $CONTAINERNAME -- su $USERNAME bash -c "env TERM=xterm /home/sonic6/battlenet_prefill/BattleNetPrefill prefill --products odin"

lxc-stop --name $CONTAINERNAME

@tpill90 your colored output generates cryptic in the Log Files, maybe you can add an option for an monochrome output?

So I have played with it a little more. I have found that in order to get the container to work, the end user must run the program manually from outside the container (logging in and selecting at least 1 app), and then copy the Account.config and  selectedAppsToPrefill.json files in to the docker container. Then, when you run the container with the /config and /cache folders mounted to the host, and the post argument of prefill. When the container is ran, the container will run and download what is needed. Afterwards, the container stops. IMO, this is not how docker containers are supposed to work. I also don't see a way to select apps from within the container itself unless prefill is running. Really, it would be only running if it is actively downloading something.
IMHO, unless there is some major changes on how the container works or someone could point me in the direction of how to make it so the container works without shutting down, I don't think that a container is worth running. I would much rather make a script or scripts that would occasionally check for updates and/or run the precache in the main container of Lancache.

docker run --user=$UID --net=host -it -v ~/.config/steamprefill:/Config -v ~/.cache/steamprefill:/Cache steamprefill:1.5.0 select-apps-beta

Released as part of v1.8.1


Split Validation's examples into individual files

This will improve the recompilation time of Validation when a change is made to one of the examples. ( 5.9 seconds without the change vs 3.8 seconds) This will be most noticeable when working with Compose Previews.

If you fix conflicts and rebase, I'll test this again, as I'm seeing some weird issues as is.

Alright, should be good to go. I took the diff of Validation's main activity from #491 and applied it to the individual tests. I had the diffs lined up next to each other in VS Code so I'm confident that I got it right.


Support more recent faraday

Thank you for submitting this pull request, however I do not see a valid CLA on file for you. Before we can merge this request please visit https://yahoocla.herokuapp.com/ and agree to the terms. Thanks! :smile:


Eigen expressions

This is already work in progress. Anyway @bbbales2 asked me to write this and I agree it would be benefitial to have this written somewhere.
Pinging some people that might be interested in looking this over: @bbbales2 @andrjohns @SteveBronder

It might also be worth mentioning that we have to be more aware of scoping with returning expressions. Like with [https://github.com/stan-dev/math/issues/1775](this issue) where objects falling out of scope can cause the function to silently return the wrong result

Can this be merged or should I add anything else?

@t4c1 I don't think we should close it, but I also don't want to get in the way of things. The problem with development here is it's going into the Math library in tiny pieces, and so it is hard for me to track.
I haven't been able to spend time on the stuff you're doing like I'd like to to understand it, but my main concern with this stuff is (and I know you share these concerns) it keeps breaking in unexpected ways (that thing @andrjohns provided being the last example).
So the holder pull request was a response to this (https://github.com/stan-dev/math/pull/1914) and that's great and all, but there still might be something else.
In particular, the pull requests coming down the line from this: https://github.com/stan-dev/math/pull/1945/files
I think the thing that we're missing here is that we should be testing all our matrix functions with matrix expressions, and we should be testing anything that can return a matrix expression in a special way as well. The only way this isn't impossibly complicated is going through test framework stuff.

it keeps breaking in unexpected ways

I am sorry for that, but the things I am changing touch practically entire library. I don't have perfect understanding of all the details and there are too many to keep in mind at once. I don't have a solution here. All I can say that I am confident that I can fix whatever I break.

I think the thing that we're missing here is that we should be testing all our matrix functions with matrix expressions, and we should be testing anything that can return a matrix expression in a special way as well. The only way this isn't impossibly complicated is going through test framework stuff.

I havent talked on the forums about that much, but I am aware of that issue. I fully plan on testing that every function works with expressions before that is used in Stan (via functions returning expressions).
My idea so far is to add (yet another) testing framework. It will automatically generate tests for all functions. Probably by parsing the list of function signatures in Stan (https://raw.githubusercontent.com/stan-dev/stanc3/master/test/integration/signatures/stan_math_sigs.expected). As far as I know this is fine for prim and rev instantinations, but I am not sure about fwd. I will tackle this problem when I get there. All functions will be tested that they can be instantiated with expressions and that results with expressions match ones that are calculated from plain matrices. I think we could also test that functions evaluate each expression only once.
Anyway ma plan so far is to start working on that once all functions are generalized to accept expressions.

I am sorry for that, but the things I am changing touch practically entire library

Yeah I'm sorry I can't stay focused on this long enough to keep checking it lol. It's like an organizational problem of how complex things like this get in -- not an individual thing.

Anyway my plan so far is to start working on that once all functions are generalized to accept expressions.

That's backwards, right? Just do the tests first, and then it's easy to accept functions or not. If we do functions first, we're in a constant-nail biting situation of not knowing if things will work.
I think these tests can all exist at the math level. We just need to pass in expressions, let those expressions go out of scope, call gradients, and make sure we're getting the things we expect and no segfaults.

I think these tests can all exist at the math level.

I agree that would be preferable. What I am missing (or does it exist somewhere?) at the math level it a list of all signatures we are supporting (especially for distributions that is not even obvious when looking at code). I like the linked file because is part of compiler and will be updated when a new signature is added.

That's backwards, right?

Yeah, it is. If I add some automatic testing now it will fail for all functions I have not touched yet. I would really like to avoid listing all signatures it should test by hand, as that approach is prone to mistakes. I you have a good idea how to add it now, I am open to suggestions.

at the math level it a list of all signatures we are supporting

Well that's where the testing frameworks area handy -- I think you'd just use them, and then it's up to Math as a repository to make sure everything is tested. Like here: https://github.com/stan-dev/math/blob/develop/test/unit/math/mix/fun/determinant_test.cpp#L40
The input arguments are matrices and so certain things happen. One of those certain things would now be the input arguments provided as expressions (maybe add and subtract the identity matrix or something).
The difficult thing is right now the test framework for distributions is in test/prob. We could add some expression tests there, or add basic expect_ad style distribution tests in test/math/mix for all the prob functions. The second is probably harder.

AFIK expect_ad is not used on tests of all functions. The framework for distributions only tests distributions. Here I would need to test all functions in stan math that can accept expressions

Right but expressions only come up with matrix/vector/row_vector types. All functions that use matrices should be tested with expect_ad.

AFIK expect_ad is not used on tests of all functions.

I think at this point, if they don't, they're either one of the specially licensed-non-high-order-autodiff-functions (algebra_solver, integrate_ode_*, integrate_1d), or it's a bug.

I amde a pythn script that searches mix tests of functions:
import os

fun_folder = r"F:\Users\tadej\Programming\bstatcomp\stan-math\stan\math\prim\fun"
funs = os.listdir(fun_folder)
test_folder = r"F:\Users\tadej\Programming\bstatcomp\stan-math\test\unit\math\mix\fun"
tests = os.listdir(test_folder)

all_mat = []
no_test = []
no_expect_ad=[]
for fun in funs:
    fun_code = open(fun_folder + "\\" + fun).read()
    if "Eigen" not in fun_code:
        continue
    all_mat.append(fun)
    for test in tests:
        if fun[:-4] == test[:-9]:
            test_code = open(test_folder + "\\" + test).read()
            if "expect_ad" not in test_code and \
                    "stan::test::expect" not in test_code:
                no_expect_ad.append(fun)
            break
    else:
        no_test.append(fun)

print("fine", len(all_mat)-len(no_test)-len(no_expect_ad))
print("no_test", len(no_test),  no_test)
print("no_expect_ad", len(no_expect_ad), no_expect_ad)

Here are the results:
fine 121
no_test 66 ['autocorrelation.hpp', 'autocovariance.hpp', 'chol2inv.hpp', 'cholesky_corr_free.hpp', 'cholesky_factor_constrain.hpp', 'cholesky_factor_free.hpp', 'corr_matrix_free.hpp', 'cov_matrix_constrain_lkj.hpp', 'cov_matrix_free.hpp', 'cov_matrix_free_lkj.hpp', 'csr_extract_u.hpp', 'csr_extract_v.hpp', 'csr_extract_w.hpp', 'csr_matrix_times_vector.hpp', 'csr_to_dense_matrix.hpp', 'divide_columns.hpp', 'Eigen.hpp', 'factor_cov_matrix.hpp', 'factor_U.hpp', 'get.hpp', 'gp_dot_prod_cov.hpp', 'gp_exponential_cov.hpp', 'gp_exp_quad_cov.hpp', 'gp_matern32_cov.hpp', 'identity_matrix.hpp', 'LDLT_factor.hpp', 'linspaced_array.hpp', 'linspaced_row_vector.hpp', 'linspaced_vector.hpp', 'log_mix.hpp', 'make_nu.hpp', 'MatrixExponential.h', 'matrix_exp_action_handler.hpp', 'max_size_mvt.hpp', 'num_elements.hpp', 'ones_row_vector.hpp', 'ones_vector.hpp', 'one_hot_row_vector.hpp', 'one_hot_vector.hpp', 'ordered_free.hpp', 'positive_ordered_free.hpp', 'promote_elements.hpp', 'promote_scalar.hpp', 'read_corr_L.hpp', 'read_corr_matrix.hpp', 'read_cov_L.hpp', 'read_cov_matrix.hpp', 'simplex_free.hpp', 'size_mvt.hpp', 'sort_asc.hpp', 'sort_desc.hpp', 'sort_indices_asc.hpp', 'sort_indices_desc.hpp', 'to_array_1d.hpp', 'to_array_2d.hpp', 'to_matrix.hpp', 'to_ref.hpp', 'to_row_vector.hpp', 'to_vector.hpp', 'typedefs.hpp', 'uniform_simplex.hpp', 'unit_vector_free.hpp', 'welford_covar_estimator.hpp', 'welford_var_estimator.hpp', 'zeros_row_vector.hpp', 'zeros_vector.hpp']
no_expect_ad 18 ['accumulator.hpp', 'append_array.hpp', 'assign.hpp', 'cols.hpp', 'cov_exp_quad.hpp', 'dims.hpp', 'fill.hpp', 'get_base1.hpp', 'get_base1_lhs.hpp', 'gp_periodic_cov.hpp', 'initialize.hpp', 'resize.hpp', 'rows.hpp', 'size.hpp', 'sort_indices.hpp', 'stan_print.hpp', 'value_of.hpp', 'value_of_rec.hpp']

Many of these functions should be tested with expressions, so we can not rely on expect_ad.

Good script. You're right that there are functions here that need tricky-ness to handle expressions, but wouldn't need high order autodiff tested.
dim, for instance.
Well since we can't lean on that, I guess we should just be adding tests as we go? Given the pull requests are on distributions, could we add something to test/prob?
I guess also, does anything other than value_of return an expression right now?
This is probably in the design doc, but the way this is working is everything will be able to accept an expression first before functions start returning expressions? Or is there no separation?

There's really no way to test that things work with expressions in general because there are lots of different expression types.  The bugs are likely to come in from returning expression templates more than accepting them as input.
It'd be great to replace the code generation framework for testing distributions with something templated that'd play nicely with our other tests.
And yes, we're still way short of having full sets of tests for every function.  It'd also be great to fix that.

There's really no way to test that things work with expressions in general because there are lots of different expression types.

Right, there's that problem too.
How would you test these things?
There's a few different things I can think of:

The code compiles with an expression input
The values work with an expression input
Gradients work with an expression input
Gradients work with an expression input when the input variables to the expression have gone out of scope.

In all of these things 'An expression' is just any single expression type. @t4c1 what does it mean to be an expression? Is there a specific interface these things have?

There's really no way to test that things work with expressions in general because there are lots of different expression types.

Actually the number is infinite. Checking that it works with just one expression type is in my opinion enough. If it works woth o it is very likely to work with others. As things were before I started working on this most functions would not even compile if given an expression argument.

It'd be great to replace the code generation framework for testing distributions with something templated that'd play nicely with our other tests.
And yes, we're still way short of having full sets of tests for every function. It'd also be great to fix that.

While I agree it would be nice to improve testing in general, I am working on quite a number of things already.

Well since we can't lean on that, I guess we should just be adding tests as we go? Given the pull requests are on distributions, could we add something to test/prob?

This is already touching almost everry function in stan math. I would really prefere to avoid also touching every test. Since we can automate test generation and we have a list of signatures, why not use it? It will be much simpler and therefore also less bug prone.

How would you test these things?
There's a few different things I can think of:
The code compiles with an expression input
The values work with an expression input
Gradients work with an expression input

Yeah those.

Gradients work with an expression input when the input variables to the expression have gone out of scope.

Nope this will never work. We would need pretty deep changes to Eigen to make it possible.

In all of these things 'An expression' is just any single expression type. @t4c1 what does it mean to be an expression? Is there a specific interface these things have?

There is specific interface, but I think it is never exactly defined. You can take a look at how holder is implemented for a rough idea.

Checking that it works with just one expression type is in my opinion enough.

That seems like enough to me too.

Nope this will never work in with general expressions. We would need pretty deep changes to Eigen to make it possible. What we can do this for our functions.

I misunderstood what holder does. I think I understand it better now (it's for returning local variables).

Since we can automate test generation and we have a list of signatures, why not use it?

If this is the way you think we should go, let's go this route.
What about this for the set of tests:

The code compiles with an expression input
The values work with an expression input
Gradients work with an expression input
Values/Gradients of expression output work as well
All combinations of expressions, non-expression input
All combinations of double/var types
Previous two things together

The combinatorics on the last three things sucks. Are there arguments to simplify this? Since expressions are something we have to manually code for, I don't see how we avoid some verboseness. It's similar to how we have to test propto and double/int logic carefully.
Even if the initial function test list comes from stanc3, these tests should live with Math since it's Math functionality.
For a pull request like: https://github.com/stan-dev/math/pull/1945 what a reviewer needs to be able to do is look somewhere and verify:

The expressionness of functions are being tested
The tests are passing

So I assume that's another green dot on Github. With the tests above, everything is isolated, so regardless of how you write the tests, we can turn them on manually as functions are expression'd in pull requests. Just whoever does the pull needs an easy way to double check they're on (presumably that'll be part of the diff).

I don't think we need the whole combinatorics thing. What we need is to check that every argument of every overload can be expression (this can be the same test as for other arguments). As we dont know in tests which signatures are same overload we need to test each signature (combinations of of Eigen vector/std vector/double/int arguments). But for each of those we don't need to do all double/var/fvar combinations - it should be enough that each argument is tested once for each of these versions.
Now that we discussed tests some, I got an idea how to do those tests for just a part of functions. Since it is so important to everyone that those are done in each PR i will start working on the tests now.

What we need is to check that every argument of every overload can be expression (this can be the same test as for other arguments).

That's probably fine. Offhand I don't see why we'd expect interaction effects.

There is specific interface, but I think it is never exactly defined.

I guess we're about to implicitly define it again by however the test expression works. Any expression type that behaves like the test expression will be expected to work.

How would you test these things?

Figuring out the base concept required and implementing a stub of that ourselves and testing it.  Or we might be able to get away with an existing one if it tests everything.

Checking that it works with just one expression type is in my opinion enough.

I think there are at least a couple different types, but I could be misremembering.  I think the blocking and other expressions don't share a common base.

Gradients work with an expression input when the input variables to the expression have gone out of scope.

We know that'll break, but we can't unit test that on functon f(x) because it's the responsibility of whatever created x.

Actually the number [of expression templates] is infinite.

It's finite in that there are only finitely many expression template classes defined in Eigen, but it's infinite in that they combine into new forms by template instantiation and new ones can get added at any time.

@t4c1 I've got an argument that might be an expression or it might be a regular matrix and it might be doubles or vars. Is this how I should get a local eval-d version of the argument:
template <typename Derived>
auto func(const Eigen::MatrixBase<Derived>& x) {
  const auto& xv = x.eval();
  ...
}

I guess the explicit type is:
template <typename Derived>
auto func(const Eigen::MatrixBase<Derived>& x) {
  Eigen::Matrix<Eigen::MatrixBase<Derived>::Scalar,
                Eigen::MatrixBase<Derived>::RowsAtCompileTime,
                Eigen::MatrixBase<Derived>::ColsAtCompileTime> xv = x.eval();
  ...
}

Or is this a plain_type_t situation?

Actually there are multiple options. One is the one you found. Another one is using plain_type_t (you need reference to avoid copy if it is already a matrix):
const plain_type_t<Derived>& xv = x;

However the question is why do you need it evaled? Most likely you would also be fine with expressions that allow direct access to data. In that case use one of:
ref_type_t<Derived> x_ref = x;

const auto& x_ref = to_ref(x);

I am mostly finished with those tests. I figured we need to run these not only when there is some change in math functions, but also when support for new signature is added to compiler. So it would be best to put these tests in stanc3 repo. However, stanc3 is written in OCaml and there is no googletest in the repo. So I would put the tests in stan repo instead. I will open a PR now, we will just need to wait for @rok-cesnovar to make stan use stanc3 before merging.

The PR for testing framework is up: https://github.com/stan-dev/stan/pull/2933

For some reason I can't push here. I am getting:
remote: This repository was archived so it is read-only.
fatal: unable to access 'https://github.com/bstatcomp/design-docs/': The requested URL returned error: 403

That is on me. I told Erik to archive our fork in a cleanup of our forks we did. Forgot that this exist.

@rok-cesnovar Since this is on a bstatcomp fork, would you be able to rename this design doc so that the number doesn't clash (I think 0007-... is free)? Then we can approve and merge, since this is already in place in Math


Add tests for Email

Add tests for Email
Added test cases for all methods in Email class
Pull Request Checklist:

[x] Please make sure all jobs pass before requesting a review.
[x] Assign yourself to the PR
[x] Put closes #XXXX in your comment to auto-close the issue that your PR fixes (if such).
[x] Label it as "needs-review"
[x] Have you lint your code locally before submission?
[x] Did you write tests where appropiate?

Related Issue?
closes #57
Screenshots (if appropriate):

Please create a static function called isValid(string): boolean, and use that in set() to validate instead of the constructor.

Also, create a function called instance getEmailDomain() which returns a Hostname type and write tests for it.
Example:
<EMAIL_ADDRESS>-> getDomain() -> return new Hostname('oneuptime.com')

add a function called isBusinessEmail(): boolean where if the email does not belogn to hotmail, gmail, etc etc. you return true otherwise you return false. You can find the list of non-buisness email providers on google.


chore(main): release 0.16.6

:robot: I have created a release beep boop
0.16.6 (2024-07-30)
Bug Fixes

delayedOutput skipping delay during preview phase (90c35d3)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.16.6
:sunflower:


PLS Update UglifyJS to v2.7.5

https://github.com/mishoo/UglifyJS2/issues/409

actually uglify-es v3 plzzzz

@Skalman ^

Updated to v3.0.28. In the future, I'll be happy to accept pull requests.


Temperature at 4000 degrees

Hi,
I see that btop always says that I am 4000 degrees

which is false
sicro@sicro ~ $ cat /sys/class/thermal/thermal_zone0/temp
33000

Heya, sorry for the late reply. You probably want to post this on the original BTOP repo is this one is only a colour scheme.

@andreasgrafen omg, sorry, it seems that I got confused by Firefox URL's autocompletion

@ignamartinoli absolutely no worries – happens to the best of us. c:


No more strawberryperl due to no dependence on perl

This commit says it removed the perl dependency. Is there still a need to require strawberryperl anymore then?

It seems QT's configure requires perl. Closing.

actually, configure does not require perl if --no-syncqt is provided. I will do some tests

Ok, perl is not needed if we download submodules as archive, not git, so it will not be needed when https://github.com/osechet/conan-qt/pull/35 is merged


end to end tests for multicluster rollouts

This is an umbrella issue for tracking end to end testing of rollouts scenario. To begin with, following should be supported:

Cluster add/delete
Different rollout strategy
Package (and variants) rollout/rollback (1 package to multiple cluster, variant per cluster)
Scale testing

We would like to support following environments:

Using kind clusters that one can test for dev purpose
GKEFleet based clusters that we can test out periodically.

This PR https://github.com/GoogleContainerTools/kpt/pull/3879 adds following tests:

Package is deployed to specified one cluster among the two target clusters
Package is deployed to two clusters through progressive strategy and it also covers the manual advancement scenario.

The linked PR also adds support for bringing target environment and I think with very little changes dynamic add/deletion of target clusters can also be added.

We should create a separate issue to track the remaining end to end tests once the linked PR is merged.

Revisited the current end to end tests, and I think we have sufficient coverage that we wanted to tackle in MVP, so closing this.


snapshot publication is broken

Looks like the last snapshot was published on July 22nd. The first change after that was #309, but it doesn't appear to have any build related differences.

Looking closer, it actually started breaking after #314 which makes more sense. Snapshots are there up until 08-Aug-2016.
http://oss.jfrog.org/oss-snapshot-local/com/netflix/spectator/spectator-api/0.41.0-SNAPSHOT/

Confirmed snapshots are publishing now:
http://oss.jfrog.org/oss-snapshot-local/com/netflix/spectator/spectator-api/0.42.0-SNAPSHOT/


Disable linking.

This is the simplest possible change to fix #1323 which addresses the root issue: turning off the hard linking behavior via function arguments.
This is an alternative to #1351.

(We can actively remove the linking branches in a followup PR, I started that way, but it's a bit more-invasive.)

The code changes look good, I think they do indeed do what is described. I think we need to get a handle on perf implications before merging though.

Ok, I inadvertently merged this, but then went and did the perf investigation.
I was unable to find significant perf differences across a range of workloads, so I'm good to leave this merged.


added space light page

Short Description
Added a new page as suggested in the Figma design.
The page is responsive and the data is dummy coming from spaces.json in the content folder.
Fixes Issue
Closes #50

Changes proposed
Add new page : space-light
Screenshots
Responsive design :

You did a great job there, How can I you?
Thank you for your contribution! 🎉


DRILL-6960: AutoLimit the size of ResultSet for a WebUI (or REST) client

Fixes the bug introduced with DRILL-6050 (#1593 )

Check if query can be wrapped with a limit and provide a warning if option was selected
Switch help from onclick to a hovering tooltip

Screenshot:

@ihuzenko
I've updated with changes and squashed and rebased onto current master. Please mark the Apache JIRA with a ready-to-commit tag if this looks alright.

Regarding this fix and fix for DRILL-6050. I think allowing web-client to rewrite the query is not the best approach. A user may want to submit the query to see its profile for example, but with this feature, the profile will not correspond to the original query. Besides that, this fix does a lot of changes for web client on the server side.
It would be better to address this issue by limiting rows which should be obtained from the result set on the client side (see WebUserConnection.sendData() method).

Let me take a look at WebUserConnection . I want to make sure that we don't hold all the results indefinitely if we get a hint (the autoLimit) that the entire resultset will not be consumed. From the description of the class, it looks like it might be able to do that.

@vvysotskyi (cc @ihuzenko )
I took your advise and enforced the limit in the WebUserConnection. That way, I don't modify the query and no changes to the protobufs either. Thanks for pointing me to the approach as it is much cleaner.
This way, we mimic exactly what a JDBC driver would do after fetching a fixed number of records before closing the connection.
Please take some time to review the PR.

@vvysotskyi (cc @ihuzenko )
I was discussing with Sorabh the issue of whether I can fetch only an initial small part of a resultset for a query and terminate it without consuming the remaining rows, and he pointed out that cancellation is the only way to do this, which is not a very graceful way of executing the query to fetch a limited set of rows. My current problem is that a massive join query was able to create the small dataset ready for the WebServer when I tried you approach of not building the resultset beyond what the limit was. However, I am still forced to iterate through the remaining incoming batches till the query completes. That means, while I have the benefit of not overload the WebServer (original intent of DRILL-6050 and DRILL-6477), the Foreman is still forced to run through all the remaining batches only to discard them.
As a result, the Calcite approach suggested by Igor seems to be the best approach, because it also ensures that the Foreman does not process records that will not be sent to the Web/REST client.
I'm in the process of doing some final testing with the last commit on the Calcite-based solution, which are mostly UX related. Should I submit the commit ID to this PR or open a new PR for the review?

DRILL-6960: AutoLimit the size of ResultSet for a WebUI (or REST) client

Check if username (if impersonation is enabled) and limits are valid inputs
Switch help from onclick to a hovering tooltip
Protobuf Changes for QueryProfile to indicate if a query was run with a 'Limit wrap'
a. UserBitShared.proto
b. Java files (after # 3.a)
c. C++ files (after # 3.a)
Server is able to detect the submitted autoLimit and apply the wrapper around the input SQL. For this, it evaluates SqlNode.getKind() and only wrapping with limit if it is a QUERY. If autoLimit is not applicable, remove the value to avoid incorrectly marking the profile during execution.
WebUI will render a pinned warning indicating that the result set size was limited. This should help explain two identical looking queries with different runtimes, because on of them ran with an implicit Limit Wrap
Queries can be resubmitted from their profile page, for which the optional limit is automatically enabled set to the value for the original profile.
(That means a user does not have to remember to enable the limit wrap with the same value again, and can focus on the query instead)
The results page indicates if the number of records being rendered was auto-limited

Screenshot of Error Handling:

Screenshot of results for the query
-- Simple Join with existing Limit 22 [Expected: Limit 13 applied to SQL]
select r.r_regionkey as r_regionkey, r.r_name as r_name, n.n_nationkey as n_nationkey, n.n_name as n_name
from dfs.par100.region r, dfs.par100.nation n
where r.r_regionkey=n.n_regionkey
limit 22

Screenshot of profile with Limit applied (overriding the existing larger limit 22)

Tested for the following queries with Limit = 13
--ShowDatabases [Expected: NoLimit on SQL]
show databases

--SqlKind: WITH [Expected: Limit applied to SQL]
with X1 (r_regionkey, r_name, n_nationkey, n_name) as
  (select r.r_regionkey as r_regionkey, r.r_name as r_name, n.n_nationkey as n_nationkey, n.n_name as n_name from dfs.par100.region r, dfs.par100.nation n where r.r_regionkey=n.n_regionkey)
 select X1.n_name as nation, X1.r_name as region, count(*) as tally
  from X1, dfs.par100.customer c
  where X1.n_nationkey = c.c_nationkey
  group by X1.n_name, X1.r_name
  order by tally

--SqlKind: ORDER_BY [Expected: Limit applied to SQL]
select r.r_name as region, n.n_name as nation
 , count(*) as tally
  from dfs.par100.region r, dfs.par100.nation n
  where r.r_regionkey=n.n_regionkey
  group by n.n_name, r.r_name
  order by tally

-- SqlKind: UNION outputting 30 rows [Expected: Limit applied to SQL]
select r_name as name, r_regionkey as code from dfs.par100.region
UNION
select n_name as name, n_nationkey as code from dfs.par100.nation

-- Simple Join outputting 25 rows [Expected: Limit applied to SQL]
select r.r_regionkey as r_regionkey, r.r_name as r_name, n.n_nationkey as n_nationkey, n.n_name as n_name from dfs.par100.region r, dfs.par100.nation n where r.r_regionkey=n.n_regionkey

-- Huge Join outputting 600M rows [Expected: Limit applied to SQL and 4-node execution in <2 minutes]
select * from dfs.par100.lineitem l, dfs.par100.orders o where o.o_orderkey = l.l_orderkey;

-- Simple Join with existing Limit 22 [Expected: Limit 13 applied to SQL]
select r.r_regionkey as r_regionkey, r.r_name as r_name, n.n_nationkey as n_nationkey, n.n_name as n_name from dfs.par100.region r, dfs.par100.nation n where r.r_regionkey=n.n_regionkey limit 22

-- Simple Join with existing Limit 11 [Expected: NoLimit on SQL]
select r.r_regionkey as r_regionkey, r.r_name as r_name, n.n_nationkey as n_nationkey, n.n_name as n_name from dfs.par100.region r, dfs.par100.nation n where r.r_regionkey=n.n_regionkey limit 11

--CreateTable [Expected: NoLimit on SQL]
create temporary table dummy ( nation )  as
select n_name from dfs.par100.nation

@ihuzenko / @vvysotskyi
Please review the squashed commits.
It includes changes requested by you and the PR summary is mentioned in the comment: https://github.com/apache/drill/pull/1608#issuecomment-461889067
Screenshots and test queries are in the following comments

@ihuzenko  (cc: @vvysotskyi ) Done the changes. Travis unit tests are passing on the private branch. I just fast-forwarded this PR's branch to that commit (https://travis-ci.org/kkhatua/drill/builds/492846830)
Functional and Advanced regressions tests have passed as well.

@ihuzenko (cc: @vvysotskyi ) are the changes sufficient?

@kkhatua, could you please fix failing unit tests and travis job?

@vvysotskyi  the changes have been done, including the Regex fix for the rowcount value

@vvysotskyi  for the case where the query's explicit limit matches the implicit auto-limit, the QueryResources.TabularResult.isResultSetAutoLimited() method has no qay of distinguishing if resultset was limited by the query explicitly or because of the implicit autolimit. This isn't really a bug, because semantically, the outcome is as expected. Implementing a "fix" would be non-trivial.

I disagree that it is not a bug, limiting the result does not happen, so note shouldn't be displayed. Regarding the complexity of the fix, is it possible to obtain autoLimit value from query context there and check whether it is greater than zero?

Yes, there is.. but I need to introduce a new method in the UserConnection object indicating that autoLimit was applied by the DrillSqlWorker (or not applied and disabled in the QueryContext).
I would need to set the value in the UserConnection here, just before I return the query Id, since the DrillSqlWorker has finished parsing (and disabled in the context): org.apache.drill.exec.work.user.UserWorker.submitWork(UserClientConnection, RunQuery) QueryResource  (https://github.com/apache/drill/blob/1a1cac0b2b9abd7dd90d614946f2101e5f3667f1/exec/java-exec/src/main/java/org/apache/drill/exec/work/user/UserWorker.java#L80)

@vvysotskyi
The latest commit (id: 12369c0) is able to achieve what you needed. We indicate on the initiating client if the autoLimit is set. The actual client response downstream (will read a value of zero if  DrillSqlWorker disabledAutolimit in the context,) wil detect that there was no autoLimit.

@kkhatua, please rework the latest commit, it is not a good idea to add methods into UserClientConnection interface.

@vvysotskyi , @ihuzenko
I've opened #1714  as a new PR that includes fixes to this PR and also carries JDBC enhancements. Could you review that as an extension of this? I'll close this PR in the meanwhile, if that is OK.

Closing this in favor of #1714 (DRILL-7048) which includes these fixes.


add some sample launch files

@sethladd - here are some possible launch files. They'll all need paths, so we know what files they apply to. And the launch type will tell us which launch handler to use.
The other info in there is for the use of the launch types, and will vary between types. The pub / test one is for a launch type we don't currently support - it's just in there to play with the format.

Very cool, thanks for sharing.


Show default commit-ish when printing no association

$ git changes associate HEAD^
master has been associated with 753b206bd868dffc4b6d8106b59de2ad6bfe65c6
$ git changes associate
753b206bd868dffc4b6d8106b59de2ad6bfe65c6
$ git changes unassociate
$ git changes associate  # prints nothing

Print git-changes.default-commit-ish but retain the current logic with --quiet.

Flagging on --quiet to determine no explicit association exists may not make sense. The current logic should remain but --verbose would print the default association when normally nothing is printed.


Enable adding some Pipeline variables to the events

Job hooks don't have environment variables.
Pipeline hooks do.
It'd be useful to be able to map from environment variables to event keys where the value would be the value of the variable.

We do something like this internally:
		"evilcorp_field_1":   findVariableIfExists(p.ObjectAttributes.Variables, "EVIL_CORP_FIELD_ONE"),
		"evilcorp_field_2": findVariableIfExists(p.ObjectAttributes.Variables, "EVIL_CORP_FIELD_TWO"),

But I was thinking we could have some more general configuration that doesn't require code changes, and I am not sure whether any opentelemetry projects or anything have similar ideas we could borrow from.
I was thinking something like a --extra-fields flag which would take a comma separated list of field names and environment variables.
--extra-fields evilcorp_field_1=EVIL_CORP_FIELD_ONE

I think this got accidentally solved by moving to the full typing :thinking:
This might be the environment variables in the event?
If yes then we just have access to them outright. We'd just need to hook them up?


Fix \addbibresource{}

At least for me using \addbibresource{} wasn't properly finding bibliography files, since \addbibresource{} requires a .bib extension for BibLaTeX to properly find the bibliography.
The line in question compiles to something like this:
var b, bibs;

bibs = ((function() {
  var i, len, results;
  if (path.extname(b) === '.bib') {
    return path.join(filedir, b.trim());
  } else {
    results = [];
    for (i = 0, len = bibs.length; i < len; i++) {
      b = bibs[i];
      results.push(path.join(filedir, b.trim() + '.bib'));
    }
    return results;
  }
})());

In other words, if the file name has an extension '.bib', just return the path to the file as a string, otherwise, build the expected list. (Note, too, that b in that first conditional is actually going to be the current value of raw_bibs)
This PR fixes that to:
var b, bibs;

bibs = (function() {
  var i, len, results;
  results = [];
  for (i = 0, len = bibs.length; i < len; i++) {
    b = bibs[i];
    results.push(path.extname(b) !== '.bib' ? path.join(filedir, b.trim()) + '.bib' : path.join(filedir, b.trim()));
  }
  return results;
})();

Which is the intended behaviour.

Wow! This seems to be one of the cases in which CoffeeScript is not quite so intuitive in its use of parentheses... Thanks for spotting it!


Tag feature enhancements

Completed the following enhancements:

Tag ignores contiguous spaces and treat it as 1 single space
Tag is no longer case-sensitive
Maximum tag length is the count excluding spaces

LGTM


Add sourceMaps config option

Add support for enabling source maps per-service or globally.
Fixes #3561

A few tests are failing, they would need adjusting


Addi: UX/UI Design: 2 weeks

[ ] repo (with a complete README)
[ ] live demo
/planning

[ ] communication plan
[ ] constraints
[ ] backlog
[ ] Figma design doc
[ ] development strategy
[ ] retrospective

[ ] project board

https://www.figma.com/file/Veeq1HU7XyZskhJ1tghooa/Untitled?type=design&node-id=0%3A1&t=oADfQnBxPXT9oHxu-1


Upgrade to Django >=3.2.16

This gets rid of some security complaints. It seems I did not correctly do this when upgrading to SODAR Core v0.11.0. Also, I guess at this point of the 3.2 LTS life cycle I can believe in their stability enough to set a dynamic dependency version :)

Done.