padding excess in bussproofs

Issue Summary
I am using Math Jax 3 with bussproofs. The problem
is observable for example in the Chrome browser.
Positioning of the SVG box follows an algorithm, which
makes it hard to see a full proof:

widening the window increases some padding
possibly result of some centering but the reference point is too far right

Steps to Reproduce:

Use Math Jax 3 with bussproofs:

beginning of the HTML document:
<script>
    window.MathJax = {
        loader: {load: ['[tex]/bussproofs']},
        tex: {packages: {'[+]': ['bussproofs']}}
    };
</script>

end of the HTML document:
<script type="text/javascript" id="MathJax-script" async
<EMAIL_ADDRESS></script>

JavaScript call when the plain content has been rendered:
   MathJax.typeset();

This is the second step

Create an example with a lot of branching:
\begin{prooftree}
\AxiomC{a => f, (a => b) => a |- a => f}
\AxiomC{a => f, (a => b) => a |- (a => b) => a}
\AxiomC{a, a => f, (a => b) => a |- a => f}
\AxiomC{a, a => f, (a => b) => a |- a}
\BinaryInfC{a, a => f, (a => b) => a |- f}
\UnaryInfC{a, a => f, (a => b) => a |- b}
\UnaryInfC{a => f, (a => b) => a |- a => b}
\BinaryInfC{a => f, (a => b) => a |- a}
\BinaryInfC{a => f, (a => b) => a |- f}
\UnaryInfC{(a => b) => a |- (a => f) => f}
\UnaryInfC{(a => b) => a |- a}
\UnaryInfC{ |- ((a => b) => a) => a}
\UnaryInfC{ |- ((a => b) => a) => a}
\end{prooftree}

Further steps, etc.

When the window is normal size, the proof gets cropped:

Enlarging the window adds some padding:

Technical details:
See intro and steps.
Supporting information:
The issue was also observed here:
https://github.com/mathjax/MathJax/issues/3240
But in the above issue some Unicode problems were discovered.
But the example here is completely free of Unicode. Also the example
here doesn't use any Labels, only the Centering commands of bussproofs.

The problem is less aggravated for CHTML, since CHTML
shows the scrollbar. The horizontal scrollbar is missing when
I use SVG, thats why I resize the window, and this is also seen in the
above screenshots. In the below screenshot it is seen that
unlike SVG output, the CHTML gives me a horizontal scrollbar:

As with your examples in #3240, the bounding box for the proof table is not being computed properly.  The right-hand edge is not far enough right, so that is why the table extends past the right of the page, and the left-hand edge is too far left.  It took me a while to figure out what was going on, but I have created a PR that should resolve the problem in the next release.
Unfortunately, the function that needs adjustment calls on other functions that are not exported from the BussproofsUtil.ts file, and so I can't create a patch for you without essentially duplicating the entire util file.  It would be possible for you to clone the MathJax-src repository, checkout the issue3251 branch, install the dependencies, then run pnpm -s build to build MathJax yourself.  Then you could take the bundle/input/tex/extensions/bussproofs.js file and call on that instead of the standard one.  You could do this by using the URL to your bussproofs.js file in the loader's load array instead of [tex]/bussproofs.  Note that you can still use the CDN version of MathJax, and only need the one bussproofs.js file from the copy of MathJax that you have built.
Sorry I can't give you an easier patch.


Removed more internals.

Removing all these internal(organ)s and private(part)s is making me light headed...

:tada: This PR is included in version 2.1.1 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Dustin Owen

https://scholarsphere.psu.edu/concern/generic_works/5tb09j483t

Reformatting column headings to snake case and some minor changes to names.
Converting to CSV
Starting a data dictionary


Remove TFLM from Arduino library download cache

Removed 'https://github.com/bcmi-labs/tensorflow_lite_mirror' from the list
Removing TFLM from Arduino library download cache.

Hi @wrighkv1. Although everyone is welcome to submit any library, changes to existing registry entries may only be done with the authorization of a maintainer of the library. Unfortunately, I was unable to verify that this request was authorized.
Please provide proof that this request is authorized. Thanks!

Hi per1234,
Thanks for the quick response. I am a member of the TensorFlow Lite Micro team. We would like to remove this TFLM library from the Arduino library download cache.

Hi @wrighkv1. Although everyone is welcome to submit any library, changes to existing registry entries may only be done with the authorization of a maintainer of the library. Unfortunately, I was unable to verify that this request was authorized.
Please provide proof that this request is authorized. Thanks!

@per1234, how do we go about finding who the maintainer of the library is? The git history / blame for repositories.txt isn't letting me get to that information and the registry entry that we want to remove (https://github.com/bcmi-labs/tensorflow_lite_mirror) is not a valid repository.
The TensorFlow Lite Micro team (of which both me and @wrighkv1 are members) is maintaining the library at https://github.com/tensorflow/tflite-micro-arduino-examples.
In the current situation, the version of TfLite Micro that is available from the Library Manager is unclear to us.

how do we go about finding who the maintainer of the library is?

Arduino maintains this library (not the source code itself, but the packaging of TensorFlow Lite into a valid Arduino library). "bcmi-labs" is one of the GitHub organizations owned by Arduino.

the registry entry that we want to remove (https://github.com/bcmi-labs/tensorflow_lite_mirror) is not a valid repository.

It is a valid repository. It is only that it is a private repository. The only reason for it being private is to avoid wasting the time of contributors who might submit issues or pull requests for changes to the mirrored code, not understanding that those contributions must be made to the upstream repository.
The contents of the repository are of course are no secret, as they are publicly available from the Arduino Library Manager. But the Git data is removed from all the library packages in Library Manager for efficiency, so we do miss the revision control history.

the version of TfLite Micro that is available from the Library Manager is unclear to us.

I apologize for any confusion. I will discuss this with the relevant people at Arduino.

Hi @wrighkv1 and @advaitjain. Before proceeding with the requested removal, I would like to make sure you are fully aware of the implications:
Loss of Library Manager installation option
The library will be removed completely from the Arduino Library Manager index, which will break any tutorials, etc. which rely on this standard installation method. For example:

https://github.com/tensorflow/tflite-micro-arduino-examples#arduino-ide
https://docs.arduino.cc/tutorials/nano-33-ble-sense/get-started-with-machine-learning#ide-setup
https://learn.sparkfun.com/tutorials/programming-the-sparkfun-edge-with-arduino/all#set-up-for-success
https://www.digikey.com/en/maker/projects/intro-to-tinyml-part-2-deploying-a-tensorflow-lite-model-to-arduino/59bf2d67256f4b40900a3fa670c14330#:~:text=Install TensorFlow Lite Arduino Library

Loss of availability of Arduino's releases
It might be challenging for those interested in using an existing project which pinned one of the releases of the library formerly distributed by Arduino to source that same version elsewhere, since tensorflow/tflite-micro-arduino-examples does not have any tags and it seems not so simple for the average user to derive the library directly from the source in the tensorflow/tflite-micro repository.
The alternative will be for them to use a version of the library the project was not validated for.
Arduino provides precompiled releases of the library
Arduino's packaging infrastructure for the library produces precompiled releases which dramatically reduce what would otherwise be a lengthy compilation time for the user's sketches that use the library.

for many adafruit libraries we had some questions, so this is good timing - you can make github repos that are public but do not have Issues or forks enabled (without forking you wont get PRs submitted), great for keeping things quiet :)

Thanks @ladyada! That "Allow forking" setting is very interesting to me for use in a couple other public mirror repositories:

https://github.com/arduino-libraries/Arduino_BHY2
https://github.com/arduino-libraries/Arduino_BHY2Host

Unfortunately, I looked into their settings and didn't see this "Allow forking" setting:

I do see it in a private repository though. Was the screenshot you shared from a private repo?
GitHub's docs seem to indicate the feature is for private repos:
https://docs.github.com/en/repositories/managing-your-repositorys-settings-and-features/managing-repository-settings/managing-the-forking-policy-for-your-repository
For preventing PRs, we are currently using the "Interaction Limits" setting. The only problem with this approach is it has a maximum period of 6 months, so we must remember to periodically cycle the setting to avoid it expiring.

Thanks a lot for the detailed replies!
After giving it some more thought we came to the conclusion that we would still like to continue with removing the library manager installation for Tensorflow Lite Micro.

@wrighkv1 @advaitjain I am confirming your request.
Unlike submissions, this type of request is still handled manually. The Library Manager index maintainer occasionally comes through to clear all the outstanding requests. They will merge this pull request when it is done. You will get a notification from GitHub at that time.


ENH: Infer suitable non optional valid_range

Writing NetCDF files requires the the valid_range to be present.  The not explicitly defined, NetCDF specification defines how this should be derived:
"If neither valid_min, valid_max nor valid_range is defined then generic applications should define a valid range as follows. If the data type is byte and _FillValue is not explicitly defined, then the valid range should include all possible values. Otherwise, the valid range should exclude the _FillValue (whether defined explicitly or by default) as follows. If the _FillValue is positive then it defines a valid maximum, otherwise it defines a valid minimum. For integer types, there should be a difference of 1 between the _FillValue and this valid minimum or maximum. For floating point types, the difference should be twice the minimum possible (1 in the least significant bit) to allow for rounding error.
If the variable is packed using scale_factor and add_offset attributes (see below), the _FillValue, missing_value, valid_range, valid_min, or valid_max attributes should have the data type of the packed data."
Reference:
http://www.unidata.ucar.edu/software/netcdf/docs/attribute_conventions.html
Relates to #2098

In practice I think the specification means the following:
        # Ensure expected valid_range populated when not present
        valid_range = cube.attributes.get('valid_range')
        if valid_range is None:
            fill_value = None
            if isinstance(cube.data, ma.core.MaskedArray):
                fill_value = cube.data.fill_value
            valid_range = np.array([cube.data.min(), cube.data.max()],
                                   dtype=data_dtype)
            if data_dtype.itemsize is 1 and fill_value is None:
                    cube.attributes['valid_range'] = valid_range
            else:
                fill_value = cube.lazy_data().fill_value
                if fill_value >= 0:
                    valid_range[1] = fill_value
                    if np.issubclass_(valid_range.dtype.type, np.integer):
                        valid_range[1] += 1
                    else:
                        valid_range[1] += (fill_value +
                            (2 * np.finfo(valid_range.dtype.type).min()))
                elif fill_value < 0:
                    valid_range[0] = fill_value
                    if np.issubclass_(valid_range.dtype.type, np.integer):
                        valid_range[0] -= 1
                    else:
                        valid_range[0] -= (fill_value +
                            (2 * np.finfo(valid_range.dtype.type).min()))
            cube.attributes['valid_range'] = valid_range

Writing NetCDF files requires the the valid_range to be present. The not explicitly defined, NetCDF specification defines how this should be derived:

I am not at all sure that this statement is correct.  This is a purely optional facility.
A vast majority of netCDF files do not define a valid_range, in my experience
The language leaves something to be desired, but I do not think it supports this approach

This is a purely optional facility.

Gosh, perhaps your right.  I think the statement can mean two completely widely different things!
Thanks @marqh I took the other interpretation obviously and yes common usage prob. suggests your interpretation.
This leaves the following cases which are driven by a real use-cases:

Supporting logical datasets in NetCDF (valid_range=[0, 1]).
Supporting unsigned integers for NetCDF-classic (valid_range=[0, fill_value]).

i.e. coercing uint8 to int16 and deriving valid_range accordingly for example.

Are you content with deriving valid_range in these limited cases?
Thanks @marqh

Are you content with deriving valid_range in these limited cases?

I am unsure what I am being asked to be content about, please add specific details.
Are you intending for there to be code and, if so, what will this code actually do?

Are you intending for there to be code and, if so, what will this code actually do?

The two use cases are about deriving a valid_range to support datatypes in NetCDF:
Here is some very rough illustrative code for these two cases:
NetCDF - any (logical data)
if arr.dtype == np.bool:
    if valid_range not in cube.attributes and valid_min not in cube.attributes and valid_max in cube.attributes:
        cube.attributes['valid_range'] = [0, 1]
        cube.data = cube.data.astype('int8')

NetCDF3 or NetCDF-classic (unsigned integer data)
if arr.dtype.kind == 'u':
    if valid_range not in cube.attributes and valid_min not in cube.attributes and valid_max in cube.attributes:
        iinfo = np.iinfo(arr.dtype)
        cube.attributes['valid_range'] = [iinfo.min(), iinfo.max()]
        cube.data = cube.data.astype(....)

This is about providing support for boolean arrays (NetCDF) and unsigned integers (NetCDF-classic) without unnecessarily requiring human intervention.  NetCDF3 documents this as the means to represent such datatypes so I don't see why we can't get iris to to this.  Also, astype can be lazy.
I would prefer not to have remember to set cube.attributes['valid_range'] = [0, 1] every time I work with a boolean array when iris knows already by it being a boolean array...

Does this sound acceptable behaviour?  We and our users currently populate this information on each case individually at this time when saving bool/int8 data.  It would be good to pull this logic as above into iris to remove the need to hardcode this locally.

Hi @cpelley
I can see the interest in this approach.  There are times when these metadata elements are required and inferring them from the data is useful.
I think there are also times when they need to be set directly, and this is supported by setting cube.attributes
I wonder whether there is a case for them not being set, the current default position.
If so, the questions arise:

how to avoid this happening?
is the default to have this on or off?

the saving API could be getting quite complex, so alternative options  are being investigated, e.g.:
https://github.com/SciTools/iris/pull/2467
Do you think this, or a similar approach, would provide a framework to enable the features you desire at run time, by configuration file, or in code, in a simple fashion?

I can't see from the ticket description/comments exactly what is proposed so I'll take a look at the source when I have time and get back to you.
Thanks for the ping
We now wrap iris NetCDF and supersede the iris NetCDF saver in order to provide data type coercion (where safe to do so), attribute inferring for logical/unsigned int and setting NETCDF4_CLASSIC as default in order to ensure CF compliance for users of our project.  Perhaps we should meet to discuss this ticket in the wider context?
Thanks @marqh
Cheers

Looks like netcdf-python interprets valid_min/max now for determining mask:
"6/10/2017: Version 1.2.9 released. Fixes for auto-scaling and masking when _Unsigned and/or valid_min, valid_max attributes present."


Authentication credentials are missing or invalid. - Provide a properly configured and signed bearer token, and make sure that it has not expired

New Issue Checklist

[ x] Updated fastlane to the latest version
[ x] I read the Contribution Guidelines
[ x] I read docs.fastlane.tools
[x ] I searched for existing GitHub issues

Issue Description
Started receiving the Authentication credentials are missing or invalid. - Provide a properly configured and signed bearer token, and make sure that it has not expired message..
We had not changed anything in our Fastlane and the API Keys have not been revoked.
I have even tested by creating a new API Key on the itunesConnect.
Command executed
      api_key = app_store_connect_api_key(
        key_id: "GXXXXXX",
        issuer_id: "69a6de85-xxxxxx-5b8c7c11a4d1",
        key_content: "-----BEGIN PRIVATE KEY-----\nMIqjg1/eUB\nLxxyWE/va\nBWxxxQW3zb\n-----END PRIVATE KEY-----",
        in_house: false
      )

      sigh(
        api_key: api_key,
        adhoc: true,
        force: true
      )

I have also tied to just use CI env var which no change.
Complete output when running fastlane, including the stack trace and command used
Authentication credentials are missing or invalid. - Provide a properly configured and signed bearer token, and make sure that it has not expired. Learn more about Generating Tokens for API Requests https://developer.apple.com/go/?id=api-generating-tokens

I should probably mention the key is created with role App Manager

Hi @khoogheem
Can you try sigh using the Admin role? https://developer.apple.com/support/roles/
If you will face an issue with the Admin role too...requesting you to start a discussion here
https://github.com/fastlane/fastlane/discussions/categories/q-a
.

Same issue with Admin

@crazymanish I think there is an issue regardless.. I tested by putting everything into a json so I could just run
fastlane sigh --api_key_path fastlane/api_key_admin.json
NO Duration set - Doesn't Work
Duration of 1200: Doesn't work
Duration of 500: 👍  works

this is interesting...reopening

same issue (with latest_testflight_build_number(api_key_path: $api_key_path))

We are having the same issue using the key with the admin role:

12:30:33  [11:30:36]: Verifying that the certificate and profile are still valid on the Dev Portal...

12:30:33  [11:30:36]: Creating authorization token for App Store Connect API

12:30:34  [11:30:36]: #<Spaceship::UnauthorizedAccessError: Authentication credentials are missing or invalid. - Provide a properly configured and signed bearer token, and make sure that it has not expired. Learn more about Generating Tokens for API Requests https://developer.apple.com/go/?id=api-generating-tokens>```

Okay, cool! I am not sure why this is causing this suddenly, don't have an AppStoreConnectAPI key to debug this issue. 🤪
I am tagging @joshdholtz for this issue! 😇

We are seeing the same issue suddenly with a key that was working fine. It does look like an issue with Apple's API, given that I am unable to create a new token in the App Store Connect, seeing bunch of 500 errors in the developer console.

Just confirming that we recently experienced this issue as well.

Seems like AppStore Connect has some problems atm? I get an error message and can't see any apps when logging in via Safari.

Same issue, AppStore Connect website shows error message instead of apps.

Seems to be fixed.

Not sure if the AppStore Connect issue was related though, as for us the initial problem with the Auth is there since Friday evening.

Right.. My issues started on my Thursday/Friday builds..
Sure it might still be an Apple Issue.. but what made no sense was the default durations just stopped  working.. and I could only get it to work with a duration of 500

Totally! I can confirm that duration of 500 also does the trick for us.

Adding 500 seconds duration sounds crazy workaround, but I don't surprise with Apple 🍏🍎 anymore 😇😂

Doesn't work for us, even with duration set to 500.

It does work for me

Adding 500 seconds duration sounds crazy workaround, but I don't surprise with Apple 🍏🍎 anymore 😇😂

We didn't change anything (like duration), but it started to work again.

Can confirm that setting the duration to 500 fixes the issue.

Adding 500 seconds duration works for us too.

Hi all,
I am closing this as this seems to be a temporary Apple issue, if something crazy will happen again, maybe we can submit Radar? 🤔 (Radar project was a mess 5years ago when I work on macOS client in Apple 🤪)
btw, In my team, we don't use any duration and everything seems to work so far... 😉

@crazymanish I think there is an issue regardless.. I tested by putting everything into a json so I could just run
fastlane sigh --api_key_path fastlane/api_key_admin.json
NO Duration set - Doesn't Work
Duration of 1200: Doesn't work
Duration of 800: Doesn't work
Duration of 500: 👍 works

this work for us | paring with @fernandaaraujo

Hi all,
I'm facing the same issue here. Does anyone know how to change the token session duration on the Azure DevOps extension for the Apple App Store? Would it be possible via additional fastlane arguments on the task or using an environment variable? Thanks in advance!

Works for me too with duration 500 🥇

My team was experiencing this issue when we had the duration set to 500. We increased that value to 1200, which solved it for a time, but now seem to be experiencing it again.
Do we know what might be the root cause of this issue? Modifying the duration is a flaky solution, especially when deploying app versions via CI/CD.

Also encountered this; not exactly relevant since I'm using GitHub actions but it seems like the same underlying issue.
For me a retrigger of the GitHub Actions workflow always works; wondering if it's something to do with a rate limit on Apple's side that returns an unhelpful error message.

I'm facing this issue again since 5days...
what's it's interesting when I use app_store_connect_api_key again, then it works fine in second run...

@crazymanish I think there is an issue regardless.. I tested by putting everything into a json so I could just run fastlane sigh --api_key_path fastlane/api_key_admin.json NO Duration set - Doesn't Work Duration of 1200: Doesn't work Duration of 800: Doesn't work Duration of 500: 👍 works

@khoogheem Hi I am facing the same issue , but I don't understand where I can add this duration in fastfile and I don't understand the Json file solution
app_store_connect_api_key(
key_id: "XXXXXXXXXXX",
issuer_id: "XXXXXXXXXXXXXXXXXXXXXX",
key_content: "XXXXXXXXXXXXXXXXX",
   is_key_content_base64: true,
   in_house: false #boolean value if team is Enterprise or not
 )

# Get the required provisioning profiles
bundle_identifiers.each do |identifier|
  sigh app_identifier: identifier,
       provisioning_name: provisioning_profile_name(identifier, export_method),
       adhoc: export_method == :adhoc,
       force: export_method == :adhoc
end

end

How to fundamentally solve this problem？
This problem started to appear around November 15th.
Even if I set the duration to 500, this problem occasionally occurs when packaging.
But if I call it again, the problem does not appear.
How to fundamentally solve this problem？
    app_store_connect_api_key(
      key_id: key_id,
      issuer_id: issuer_id,
      key_content: key_content,
      duration: 500, # maximum 1200
      in_house: false # optional but may be required if using match/sigh
    )

@wangdetong Take a look on @andersonvom PR
https://github.com/fastlane/fastlane/pull/19502
I think it will solve this issues or at least reduce it. I'm also still facing this problem.

@wangdetong Take a look on @andersonvom #19502 I think it will solve this issues or at least reduce it. I'm also facing this problem for quite long time.

Thank you, I will try

@DuMaM @wangdetong for what it's worth, after adding the changes from #19502 locally, my team has not seen any issues again: we can see in the logs that the failed requests are able to recover after a token refresh.


[AIRFLOW-2921] Fix trivial bug in CeleryExecutor()

Make sure you have checked all steps below.
Jira

[x] My PR addresses the following Airflow Jira issues and references them in the PR title. For example, "[AIRFLOW-XXX] My Airflow PR"

https://issues.apache.org/jira/browse/AIRFLOW-2921
In case you are fixing a typo in the documentation you can prepend your commit with [AIRFLOW-XXX], code changes always need a Jira issue.

Description

[x] Here are some details about my PR, including screenshots of any UI changes:

The logic here is: if a task state becomes either SUCCESS or FAILURE or REVOKED, it will be removed from self.tasks() and self.last_state(). However, because line 108 is not indented properly, this task will be added back to self.last_state() again.
This will not lead to any error. But may still be worth changing.
Tests

[ ] My PR adds the following unit tests OR does not need testing for this extremely good reason:

Commits

[x] My commits all reference Jira issues in their subject lines, and I have squashed multiple commits if they address the same issue. In addition, my commits follow the guidelines from "How to write a good git commit message":

Subject is separated from body by a blank line
Subject is limited to 50 characters (not including Jira issue reference)
Subject does not end with a period
Subject uses the imperative mood ("add", not "adding")
Body wraps at 72 characters
Body explains "what" and "why", not "how"

Documentation

[ ] In case of new functionality, my PR adds documentation that describes how to use it.

When adding new operators/hooks/sensors, the autoclass documentation generation needs to be added.

Code Quality

[x] Passes git diff upstream/master -u -- "*.py" | flake8 --diff

Codecov Report

Merging #3773 into master will decrease coverage by 0.01%.
The diff coverage is 0%.

@@            Coverage Diff             @@
##           master    #3773      +/-   ##
==========================================
- Coverage   77.66%   77.65%   -0.02%
==========================================
  Files         204      204
  Lines       15848    15848
==========================================
- Hits        12309    12307       -2
- Misses       3539     3541       +2

Impacted Files
Coverage Δ

airflow/executors/celery_executor.py
83.6% <0%> (-1.64%)
:arrow_down:

airflow/models.py
88.74% <0%> (-0.05%)
:arrow_down:

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 62bd689...3f92857. Read the comment docs.

Hi committer, another potential bug identified for the same part of code. I will update my change later and fix it in this PR as well.

Will need tests to cover this please.

Hi @ashb , sure I will. May I confirm whether the logic/reasoning is making sense to you?

Hi @ashb,

Test case has been updated for the potential bug-1, based on the existing test case.

To demonstrate the potential bug-1, I have created another branch in which I updated the test case but did NOT fix the code. This bug is quite obvious. LINK

Regarding the potential bug-2, please refer to my detailed description in the main PR message. Currently I don't see a feasible way to reproduce the potential error/test it yet.

Hi @yrqls21 , would you like to give your review on this for fun? ;-)  Especially the potential bug-2 listed above.

Great catch, we have actually a patch in Airbnb that covered the 2nd bug( involves more changes and we're baking it in our env).
I agree on the fix for the 1st bug and its test. Also agree that it is very hard to have test to guard the 2nd bug.
Tyvm for the fixes, LGTM. 🎉

Thanks @yrqls21 ! Luckily Big O is not involved this time ;-)

Does this mean that CeleryExecutor is totally broken in 1.10.0, and we need to get a 1.10.1 out quickly?

Hi @ashb , to my understanding:

bug 1 will not result in any explicit error. It was just missing some clean-ups.
The possibility that bug 2 resulting in any error is extremely low.

Personally I don’t think it’s that urgent.

@ashb I don't think they are so severe that we need to call celery executor broken. The 1st bug practically won't create problem and the 2nd bug creates a rare edge case that one task will get stuck in a deadlock, and can be corrected by doing something like clear the task instance

K. Just getting a sense of urgency. We might have a 1.10.1 anyway, and if we do I'll pull this in to it.

Thanks both @yrqls21 @ashb


Publish artifacts use robocopy.

[ ] Fix unit tests
[ ] E2E test

I'm still working on adding more unit tests for negative cases.

When done, let's make sure we port to 105 branch to get RC2 coverage and feedback.  We should try and do that today to avoid ask mode process.


Update AzureRM migration guide

We need to refresh the AzureRM migration content to include the following:

Update the overview page
Upgrade in place vs create new files
Add a page on the VSCode extension

Per @dcaro, the resolution to this issue has been completed.


Document the mixin keyword in the Language Tour

This is probably planned already, but filing this issue just so we do not forget.
Let's document the mixin keyword in (at least) the Language Tour in time for 2.1. Some Dart users started discovering this feature and are asking questions.
/cc @leafpetersen @sfshaza2

Yes, this is in the plans, Yegor. @kwalrath has it on her todo list. But a bug is a great idea.  :)

I'm going to close this in favor of dart-lang/site-www#1164.


Istio upgrade: customized config maps

Istio installation contains standard config maps.
istio - mesh config, istio-sidecar-injector and prometheus are just a few examples.
A simple upgrade with kubectl apply will overwrite these config maps with defaults from the next version.
A possible solution is to have an additional override configmap, where operator makes changes.
We always combine the managed and unmanaged configmap to arrive at final configuration.

@sdake

What sort of tooling do we have for upgrades? If the user were asked to provide the previous Istio version at the beginning of the upgrade (or if we could automatically detect it), we could determine what values have changed from the defaults for that version and automatically merge them into the resulting configmap.

@nmittler I think what you describe is a 3 way patch merge.  The tooling we have at present is Helm which stores the configmaps internally in tiller.  Think of tiller as a pre-CRD specialized CRD controller + some extra magic.  Helm has rejected 3 way merge as a solution for the 2.y.z series.  See: https://github.com/helm/helm/issues/3805#issuecomment-414133289 for more context.
Cheers
-steve

I believe adding unmanaged objects to helm could result in an un-upgradeable system, but could be wrong.  We have been working to stamp out unmanaged objects in Helm entirely to eliminate the problems discussed in https://github.com/helm/helm/issues/1193.
Cheers
-steve

There are two install/upgrade approaches:

kubectl apply (install and upgrade)
helm install or helm upgrade

The second approach is the use case most Helm consumers are most familiar with.  Generally Istio has been strongly recommending approach 1.  Approach 1 suffers from many problems.  Approach 2 suffers from many problems.
I suspect a specialized operator would end up reimplementing approach 1 + what is coming in Helm 3.0 targeted EOY.
Cheers
-steve

Can we make this a non-problem by making use of sane defaults?
IMO ConfigMaps fields should be treated as APIs. From version to version, not only we need to retain backwards compatibility of the fields, but we should also make sure that all new fields will default to "sane values" when not-specified. (Similar to how API versioning would be done across minor versions).
Are there any problems that this approach won't fix?

I do not think sane default address this problem. They are good, but orthogonal here.
It is about customization. We can say that these configmaps are implementation detail and the only supported way to customize is helm template and values.yaml.
This means that we will have to ensure that every supported feature in meshconfig (and other configmaps) is available in helm.
I think this is an ok position, but the cost of forgetting this is that the system forgets customizations on upgrade.

@ostromart this seems to be basically what you are working on right now.

I believe the plan is that istioctl install writes the IstioOperator to the cluster.  I am working on a PR for istioctl upgrade that causes that IstioOperator to be used as the basis for istioctl upgrade rather than the default Istio profile.  https://github.com/istio/istio/issues/23183 .
Will this behavior be sufficient for this Issue?


Tweak UI like app

I think tweak ui would be neat on windows 10 with added on features like maybe giving you more freedom when it comes to maybe a custom boot logo? just a thought!
-Gman

@GmanChewing-HLAModder
we use the Product-Tweak UI Design label for specific requests.
If you have a specific request that is not already present https://github.com/microsoft/PowerToys/issues?q=is%3Aissue+is%3Aopen+tweak+label%3A"Product-Tweak+UI+Design"
open a new issue with a detail description and motivation.
I'm closing this issue since it's too generic.


checkbox: is it a11y?

a question was brought up about the a11y of the checkbox because it fails with test-library -> https://pluralsight.slack.com/archives/C70HPSJPP/p1603722908130800
looking at the code i think we can/should improve the a11y
some guidelines:
https://www.a11ymatters.com/pattern/checkbox/#custom-checkbox-design

Team triage: htmlFor->id between label and input as in the "Using Inline SVG" section of the a11ymatters article.


MSVC CE, linking cbsdk.dll, #include "cbhwlib.h" requires NO_AFX to be defined.

I wrote an application that links to cbsdk and uses some of the types declared in cbhwlib.h. In MacOS it worked fine. In Windows it failed because it could not find some types used in function arguments defined in cbhwlib.h. This is because these types are only defined for non-Windows (here) or via #include <windows.h> if NO_AFX is defined (here).
I will create a stub in the Wiki for "How to use cbsdk" and put in this little bit of information for now, but I think a better solution is needed.

The STL has replacements for all the offending ALLCAPS types (e.g., UINT16 -> uint16_t).
In the provided .sln files, NO_AFX is defined by default, and it was defined in the CMakeLists.txt too (I wonder why @FlorianFranzen removed this in his fork?). Maybe <windows.h> should be included by default in Windows builds and not require a compiler definition.
As much as possible, it would be good to decouple cbsdk.h from cbhwlib.h so cbhwlib.h is no longer required.

cbSdkCCFEvent needs cbStateCCF from cbhwlib.h. This is just an enum and can be moved easily.
cbSdkCCF needs cbCCF. This is a complicated dependency to work around and any attempt to do so would need your guidance.

Yes NO_AFX should be defined, to avoid bringing in some MFC stuff, from what I remember. This is because Blackrock's code uses same headers and it is using MFC.
Those CCF structs would be difficult to wrap, because they are something like filed generated by protocol buffer with lots of fields. Can #ifdef them out for now, I am not sure if anyone uses that XML file (I wish I had not added XML, anything else is better!).

Closed with #66


Cant get flapdoodle to run with transaction support

Hi,
i am currently trying to get flapdoodle to run with transaction support but so far i have failed. I tried to follow this guide as well as other sources i could find online / in my company. My current setup (tried different setups as well) is as follows:
application-test.yaml:
de:
  flapdoodle:
    mongodb:
      embedded:
        version: 5.0.5
spring:
  data:
    mongodb:
      port: 0
      database: test
      uri:

EmbededMongoConfiguration:
@Data
@Profile("test")
@Configuration
public class EmbedMongoConfiguration {

    private static final String DOWNLOAD_LOCATION = "... link to local location ...";

    private final MongoTemplate mongoTemplate;

    @Lazy
    public EmbedMongoConfiguration(MongoTemplate mongoTemplate) {
        this.mongoTemplate = mongoTemplate;
    }

    @Bean
    MongoTransactionManager transactionManager(MongoDatabaseFactory dbFactory) {
        var transactionManager = new MongoTransactionManager(dbFactory);
        transactionManager.setOptions(TransactionOptions.builder()
                .readConcern(ReadConcern.MAJORITY)
                .writeConcern(WriteConcern.MAJORITY)
                .build());

        return transactionManager;
    }

    @Bean
    MongodArguments mongodArguments() {
        return MongodArguments.builder()
                .replication(Storage.of("rs0", 5000))
                .build();
    }

    @Bean
    Mongod customGod(Net net) {
        return new Mongod() {
            @Override
            public Transition<DistributionBaseUrl> distributionBaseUrl() {
                return Start.to(DistributionBaseUrl.class)
                        .initializedWith(DistributionBaseUrl.of(DOWNLOAD_LOCATION));
            }

            @Override
            public Transition<PersistentDir> persistentBaseDir() {
                String tmpdir = System.getProperty("java.io.tmpdir");

                return Start.to(PersistentDir.class)
                        .initializedWith(PersistentDir.of(Path.of(tmpdir)));
            }

            @Override
            public Transition<Net> net() {
                return Start.to(Net.class)
                        .providedBy(() -> net);
            }

        };
    }

    @SneakyThrows
    @Bean
    public MongoClientSettings mongoClient(Net net) {
        return MongoClientSettings.builder()
                .applyConnectionString(new ConnectionString("mongodb://localhost:" + net.getPort()))
                .uuidRepresentation(UuidRepresentation.STANDARD)
                .build();
    }

    @Bean
    public Object mongoIndexInitializer() {
        return new MongoIndexInitializer(mongoTemplate);
    }
}

Very basic test:
@ActiveProfiles(profiles = "test")
@AutoConfigureDataMongo
@EnableAutoConfiguration
@SpringBootTest
class EurServiceTest {

    @Autowired
    EurService sut;

    @Test
    void upsertEur() {

        sut.upsertEur(null);
    }
}

Service that´s being tested:
@Component
@Slf4j
public class EurService {

    private final EusHelper eusHelper;
    private final EusRepository eusRepository;

    public EurService(EusHelper eusHelper, EusRepository eusRepository) {
        this.eusHelper = eusHelper;
        this.eusRepository = eusRepository;
    }

    @Transactional
    public void upsertEur(SdKafkaEvent sdEvent) {
        eusRepository.save(EusEntity.builder()
                .name("saved in db")
                .build());
    }
}

With this setup I get the following error:
Caused by: com.mongodb.MongoCommandException: Command failed with error 76 (NoReplicationEnabled): 'This node was not started with the replSet option' on server vmware-plugin:3843. The full response is {"ok": 0.0, "errmsg": "This node was not started with the replSet option", "code": 76, "codeName": "NoReplicationEnabled"}
	at com.mongodb.internal.connection.ProtocolHelper.getCommandFailureException(ProtocolHelper.java:205)
	at com.mongodb.internal.connection.InternalStreamConnection.receiveCommandMessageResponse(InternalStreamConnection.java:443)
	at com.mongodb.internal.connection.InternalStreamConnection.sendAndReceive(InternalStreamConnection.java:365)
	at com.mongodb.internal.connection.UsageTrackingInternalConnection.sendAndReceive(UsageTrackingInternalConnection.java:114)
	at com.mongodb.internal.connection.DefaultConnectionPool$PooledConnection.sendAndReceive(DefaultConnectionPool.java:643)
	at com.mongodb.internal.connection.CommandProtocolImpl.execute(CommandProtocolImpl.java:73)
	at com.mongodb.internal.connection.DefaultServer$DefaultServerProtocolExecutor.execute(DefaultServer.java:204)
	at com.mongodb.internal.connection.DefaultServerConnection.executeProtocol(DefaultServerConnection.java:122)
	at com.mongodb.internal.connection.DefaultServerConnection.command(DefaultServerConnection.java:87)
	at com.mongodb.internal.connection.DefaultServerConnection.command(DefaultServerConnection.java:76)
	at com.mongodb.internal.connection.DefaultServer$OperationCountTrackingConnection.command(DefaultServer.java:288)
	at com.mongodb.internal.operation.CommandOperationHelper.createReadCommandAndExecute(CommandOperationHelper.java:239)
	at com.mongodb.internal.operation.CommandOperationHelper.lambda$executeRetryableRead$4(CommandOperationHelper.java:220)
	at com.mongodb.internal.operation.OperationHelper.lambda$withSourceAndConnection$0(OperationHelper.java:358)
	at com.mongodb.internal.operation.OperationHelper.withSuppliedResource(OperationHelper.java:383)
	at com.mongodb.internal.operation.OperationHelper.lambda$withSourceAndConnection$1(OperationHelper.java:357)
	at com.mongodb.internal.operation.OperationHelper.withSuppliedResource(OperationHelper.java:383)
	at com.mongodb.internal.operation.OperationHelper.withSourceAndConnection(OperationHelper.java:356)
	at com.mongodb.internal.operation.CommandOperationHelper.lambda$executeRetryableRead$5(CommandOperationHelper.java:218)
	at com.mongodb.internal.async.function.RetryingSyncSupplier.get(RetryingSyncSupplier.java:67)
	at com.mongodb.internal.operation.CommandOperationHelper.executeRetryableRead(CommandOperationHelper.java:223)
	at com.mongodb.internal.operation.CommandOperationHelper.executeRetryableRead(CommandOperationHelper.java:204)
	at com.mongodb.internal.operation.CommandReadOperation.execute(CommandReadOperation.java:48)
	at com.mongodb.client.internal.MongoClientDelegate$DelegateOperationExecutor.execute(MongoClientDelegate.java:185)
	at com.mongodb.client.internal.MongoDatabaseImpl.executeCommand(MongoDatabaseImpl.java:196)
	at com.mongodb.client.internal.MongoDatabaseImpl.runCommand(MongoDatabaseImpl.java:165)
	at com.mongodb.client.internal.MongoDatabaseImpl.runCommand(MongoDatabaseImpl.java:160)
	at com.mongodb.client.internal.MongoDatabaseImpl.runCommand(MongoDatabaseImpl.java:150)
	at de.flapdoodle.embed.mongo.spring.autoconfigure.SyncClientServerFactory.resultOfAction(SyncClientServerFactory.java:68)
	at de.flapdoodle.embed.mongo.spring.autoconfigure.SyncClientServerFactory.resultOfAction(SyncClientServerFactory.java:47)
	at de.flapdoodle.embed.mongo.spring.autoconfigure.AbstractServerFactory.executeClientAction(AbstractServerFactory.java:155)
	... 185 common frames omitted

Do you have any suggestions that I could try to resolve the issue?

@Tobbers hmm.. interesting .. you could fork this project (https://github.com/flapdoodle-oss/de.flapdoodle.embed.mongo.canary) and apply these changes until it breaks/works.. then i have to look into this..

Thanks, I will try that as soon as I can but it could take a while

Hey @michaelmosmann .
I was able to reproduce the problem in the canary project https://github.com/Tobbers/de.flapdoodle.embed.mongo.canary
A few comments:

In our company we neither have direct internet access in the development environment nor in our jenkins. So we need to be able to change the DistributionBaseUrl
I changed the references to the download location of flapdoodle inside of our company to "local-artifactory-url"
The test i want to get to work is in ExampleIt.java
I created 3 MongoConfigurations

MongoConfigurationA: While this config is active the test works. Problem with this solution is that the tests only pass locally and not in our jenkins
MongoConfigurationB: Pretty much the same as in my original post and it produces the same error. I am pretty sure the problem is caused by having mongodArguments bean as well as customGod beans. But i need the costumGod bean to specify DisturbutionBaseUrl, PersistentDir as well as Net.
MongoConfigurationC: An attempt to get rid of having both mongodArguments bean and customGod bean. I thought that if i overwrite the Transition mongodArguments Method  for my MongoD object that i can enable Replication in there. Sadly it doesnt work either.

@Tobbers cool.. thanks.. i will have a look into that.

@Tobbers .. hmm.. may i miss something. None of these cases did run on my machine (reverted the local-artifactory-url) ..

@michaelmosmann hm that is weird. I wasn't at work for a week but when I came back ConfigurationA still ran. One thing that I didn't mention is that since we have no internet access and ConfigurationA doesn't specify the download location I had to install the local mongo manually. For this I followed the instructions printed on the first test run. Something like "Download zip manually and put it at "%userprofile%/.embededmongo/archives/....". Don't know if you did the same.
If this Information doesn't help you locating the problem I think I´ll have to bite the bullet and refrain from testing transactions with flapdoodle.

@Tobbers is this still an issue? i would close this.. reopen if needed.


[Authentication Filter] Authentication filter improvements

Description:
Ballerina checks whether the resources are secured by reading the resource level and service level annotations[1]. But it is better if we can get that detail to outside, so developers can know the resource is secured or not. My suggestion is to add whether the service/resource is secured or not into the invocation context, so developers can use that value.
[1] - https://github.com/ballerina-platform/ballerina-lang/blob/v1.0.0-alpha3/stdlib/http/src/main/ballerina/src/http/auth/utils.bal#L107-L124
Steps to reproduce:
Affected Versions:
1.0.0-alpha3
OS, DB, other environment details and versions:
Related Issues (optional):

Suggested Labels (optional):

Suggested Assignees (optional):

As discussed, adding a flag to invocation context saying the calling resource is secured or not does not make sense, since the any of the filters that get invoked after authn filter, is get invoked if and only if the authn filter get succeeded. So, as an alternative, we will provide an API to check the calling resource is secured or not.
public function isResourceSecured(FilterContext context) returns boolean;


Clarify the definition of Feature.NULLABLE

Summary of the changes / Why this improves CrateDB
The definition of NULLABLE is clear from https://github.com/crate/crate/pull/16181. A function is nullable if null -> null AND no other inputs result in nulls. Hence revisiting https://github.com/crate/crate/pull/15452 and reverting several lines.
Checklist

[ ] Added an entry in the latest docs/appendices/release-notes/<x.y.0>.rst for user facing changes
[ ] Updated documentation & sql_features table for user facing changes
[ ] Touched code is covered by tests
[ ] CLA is signed
[ ] This does not contain breaking changes, or if it does:

It is released within a major release
It is recorded in the latest docs/appendices/release-notes/<x.y.0>.rst
It was marked as deprecated in an earlier release if possible
You've thought about the consequences and other components are adapted
(E.g. AdminUI)

I have been looking into array_avg function which seems to be the only function currently marked wrong but it behaves correctly...

This got superseded by https://github.com/crate/crate/pull/16303 right? Or is there still a part of this that you'd like to get in?

I believe scalars technically do not need to be strictnulls.

Isn't the point that strictnull allows us to optimize the query?
https://github.com/crate/crate/blob/969d56d2caa7f051b14cdabd6e1ae8d1e69dc2e6/server/src/main/java/io/crate/expression/predicate/NotPredicate.java#L166-L170

Yes, sorry I was not clear. I wanted to remove the asserts that I added such that Unary/Binary/TripleScalar implemenations do not need to be strictnull.

For example, pg_get_partkeydef was recently unmarked from strictnull and because of the assert it could no longer implement UnaryScalar

That's fine.
The *Scalar implementations do take care of the strict null handling.
E.g.:
https://github.com/crate/crate/blob/969d56d2caa7f051b14cdabd6e1ae8d1e69dc2e6/server/src/main/java/io/crate/expression/scalar/UnaryScalar.java#L62-L64
or
https://github.com/crate/crate/blob/969d56d2caa7f051b14cdabd6e1ae8d1e69dc2e6/server/src/main/java/io/crate/expression/scalar/arithmetic/BinaryScalar.java#L56-L61

Thanks for clarifying, closing.


Document how to use it in a CI environment

The main goal is to automate the release process and automation comes with continuous integration btw. We should document how to do this. We can start with GitHub actions.

I think #35 is a prerequisite for this issue.
version is not idempotent; it will bump the version even if the package has no changes. We could make it idempotent but I don't think it's a great idea as we already have nx affected and we can count on it.
Then there is #32 which is the key thing I'd love to see automated.

I think #35 is a prerequisite for this issue.
version is not idempotent; it will bump the version even if the package has no changes. We could make it idempotent but I don't think it's a great idea as we already have nx affected and we can count on it.
Then there is #32 which is the key thing I'd love to see automated.


Save actor tracebacks in leapp.db

Now when an exception is thrown during actor
execution it won't be shown only on stdout, but
will appear in leapp.db and leapp report as high
risk report message.
OAMG-4186

/rerun

/rerun

@PeterMocary @pirat89 Thanks for the review!
If I understand you guys correctly, you would like to wrap the hard crash into a leapp exception and put the traceback in the details, right?
(I honestly prefer the hard crash way, as any actor crashing is a severe thing that has to be as obvious as possible, but I will implement it the way you suggest and we'll see :)

@fernflower @PeterMocary btw, I've realized that for error models in the report.txt file, we do not print that it's error, inhibitor, ... it looks just a high severity msg. I am thinking we should improve it in future somehow to make it clear that it's error, but I do not want to change the structure/schema because of that.

/rerun

@fernflower thanks! lgtm and tests passed. Merging.


Work out a build system

Need to run a single thing to do a complete rebuild, including clojure, cljs, css etc. Need one for dev and one for production (e.g. include all the minification etc). This should also run tests.
Right now the minified cljs build doesn't seem to work.

+1.
I'd like to look at this if it's fine with you. I have experience with all the major js build systems (grunt, gulp, webpack), I'm curious to see how clojure/lein/figwheel compares.

Sure, np.


Change namespace and re-release on packagist

As mentioned in https://github.com/verze-app/solana-php-sdk/discussions/36#discussion-4027681, we will change the namespace to Verze and re-release this package on packagist.

[ ] Update namespace
[ ] Update tests
[ ] Update documentation
[ ] Update roadmap
[ ] Check with Tighten to remove the old package
[ ] Release new version of the package

Any help with this is greatly appreciated as my time is a bit limited currently.

@neverything I asume this task list is outdate and Verze is no longer the target namespace as of 2023?

@chongkan this is correct, as we don't work on this project any longer, I can transfer it to you if you want or you can start on a fork.


Failed to create a vertex and caught OSBTreeBonsaiLocalException

OrientDB Version: v.2.2.10
Java Version: 1.8.0_112
OS: FreeBSD 11.0-RELEASE-p1
Hi, I ran OrientDB server on FreeBSD 11.
I have found a problem about running sql to create vertices via binary protocol.
My query is to create a new vertex and update values of its predecessors.
When a server is under heavy load, it randomly fails to process some queries.
My query
let file = create vertex files set name=‘file1.txt’, size=10
create edge hardlink from $file to #32:12951 set type='file’
update (select from (traverse out('HardLink','ShareLink') from $file) where @Class='folders') increment size = 10
update (select from (traverse out('HardLink','ShareLink', 'MemberOf') from $file) where @Class='users' OR @Class='domains') increment usage = 10
commit retry 100
Here is error log from orientdb.err.
Error Log
2017-07-24 17:45:09:778 INFO  {db=FTO-Structure-2.0}  null possible previous close - Flush [OChannelBinaryServer]
2017-07-24 17:45:09:778 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Reading byte (1 byte)... [OChannelBinaryServer]
2017-07-24 17:45:09:921 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Read byte: 41 [OChannelBinaryServer]
2017-07-24 17:45:09:921 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Reading int (4 bytes)... [OChannelBinaryServer]
2017-07-24 17:45:09:921 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Read int: 12 [OChannelBinaryServer]
2017-07-24 17:45:09:921 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Reading byte (1 byte)... [OChannelBinaryServer]
2017-07-24 17:45:10:020 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Read byte: 115 [OChannelBinaryServer]
2017-07-24 17:45:10:020 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Reading chunk of bytes. Reading chunk length as int (4 bytes)... [OChannelBinaryServer]
2017-07-24 17:45:10:020 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Read chunk lenght: 762 [OChannelBinaryServer]
2017-07-24 17:45:10:021 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Reading 762 bytes... [OChannelBinaryServer]
2017-07-24 17:45:10:021 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Read 762 bytes: ���s���SQL���begin
let file = create vertex files set name=‘file1.txt’
create edge hardlink from $file to #32:12951 set type='file’, size=10
update (select from (traverse out('HardLink','ShareLink') from $file) where @class='folders') increment size = 10
update (select from (traverse out('HardLink','ShareLink', 'MemberOf') from $file) where @class='users' OR @class='domains') increment usage = 10
commit retry 100
return $file�� [OChannelBinaryServer]
2017-07-24 17:45:10:024 INFO  {db=FTO-Structure-2.0}  null possible previous close - Flush [OChannelBinaryServer]
2017-07-24 17:45:10:024 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Writing byte (1 byte): 1 [OChannelBinaryServer]
2017-07-24 17:45:10:024 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Writing int (4 bytes): 12 [OChannelBinaryServer]

2017-07-24 17:45:10:024 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Writing byte (1 byte): 1 [OChannelBinaryServer]
2017-07-24 17:45:10:024 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Writing string (4+71=75 bytes): com.orientechnologies.orient.core.exception.OSBTreeBonsaiLocalException [OChannelBinaryServer]
2017-07-24 17:45:10:024 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Writing string (4+112=116 bytes): Error creation of sbtree with namecollections_32
DB name="FTO-Structure-2.0"
Component Name="collections_32" [OChannelBinaryServer]
2017-07-24 17:45:10:025 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Writing byte (1 byte): 1 [OChannelBinaryServer]

2017-07-24 17:45:10:025 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Writing string (4+30=34 bytes): java.lang.NullPointerException [OChannelBinaryServer]
2017-07-24 17:45:10:025 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Writing string (4+0=4 bytes): null [OChannelBinaryServer]
2017-07-24 17:45:10:025 INFO  {db=FTO-Structure-2.0} /<IP_ADDRESS>:59678 - Writing byte (1 byte): 0 [OChannelBinaryServer]
Could you tell me what is OSBTreeBonsaiLocalException and how to prevent this error?
Thank you.

@mexeniz there are a lot of reasons why it can happen. Do you have a full stack trace or could you send us database and test case to reproduce the issue?

@mexeniz as another possible tool for detection of the issue I can provide you new build which you can use, to identify the root cause of the issue.

@laa Sorry, My database is confidential so I can't send it and this problem is completely random. Anyway, could you tell how me how to get a full stack trace? Also, I would like to try your new build. Thank you.

Hi, @mexeniz. I see I think the best way to understand the root cause of your exception is to upgrade to latest 2.2.24 version. It contains much more detailed logging of exceptions which are thrown by storage.  Also, it provides some data verification tools which may be handy to identify the reason of your problem. WDYT ?

@laa Alright, I will upgrade it to 2.2.24. Should I edit any orientdb config to get more detailed log?

I have upgraded orientdb to 2.2.24 and set log level to ALL.
Still found errors. Error log is in an attached file.
error_log.txt

@mexeniz I suppose we will need to add more logging to identify the root cause of the issue. Right now I can not do it because I am busy with another fix, but tomorrow I will be able to provide you new distribution with more logging which will help us to solve your issue.

@mexeniz sorry for the delay, we had an urgent issue. I will create a build for you with additional logging at first half of the day tomorrow. I very appreciate your help, but we had to concentrate on urgent task today so all tasks are delayed a bit.

Hi, @mexeniz , could you run this distribution and send me the output of the log? Probably that is not latest build with logs which I send to you, but it will make our target of fixing issue closer https://drive.google.com/file/d/0B2oZq2xVp841SDU2N0JkNWNTSVk/view?usp=sharing .

@laa Thank you for this distribution. I will have time to test with the new distribution again on next Monday and send you logs ASAP.

@laa  Just finished testing with the new distribution. I still found the problem and error log is in attached file below.
error_log2.txt
The same logging configs were used, but log format were likely to be changed a lot. Here are logging configs that I changed from default.
1. orientdb-server-log.properties
handlers = java.util.logging.ConsoleHandler, java.util.logging.FileHandler

.level = ALL
com.orientechnologies.level = ALL
com.orientechnologies.orient.server.distributed.level = INFO

java.util.logging.ConsoleHandler.level = INFO
java.util.logging.ConsoleHandler.formatter = com.orientechnologies.common.log.OAnsiLogFormatter

java.util.logging.FileHandler.level = INFO
java.util.logging.FileHandler.pattern=../log/orient-server.log
java.util.logging.FileHandler.formatter = com.orientechnologies.common.log.OLogFormatter
java.util.logging.FileHandler.limit=10000000
java.util.logging.FileHandler.count=10

2. a part from orientdb-server-config.xml
<properties>
        <!-- DATABASE POOL: size min/max -->
        <entry name="db.pool.min" value="1"/>
        <entry name="db.pool.max" value="50"/>

        <!-- PROFILER: configures the profiler as <seconds-for-snapshot>,<archive-snapshot-size>,<summary-size> -->
        <entry name="profiler.enabled" value="false"/>
        <!-- <entry name="profiler.config" value="30,10,10" /> -->
	<entry value="finest" name="log.console.level" />
	<entry value="finest" name="log.file.level" />
    </properties>

@mexeniz I suppose I found the reason of your issue, prior 2.2.15 version it was an issue, which appears exactly during high load. The problem was that data files could be flushed only partially. Unfortunately damaged data structure can be fixed only by using export/import from to JSON.
So I suggest you do following:

Export database to JSON.
Create a database using 2.2.24 version.
Import database from JSON in a newly created database.
Run the system using 2.2.24 version for a couple of weeks, if an issue will not be reproduced (and I suppose that it will be the case) we can close given bug.

Could you make steps which I wrote to you?

@laa Yes, I could. Thank you for the instructions. I will report you again if an issue is reproduced.

@laa I have tried to export and import database. There was a problem that a rid of some entries was changed. I have also tried importing with '-preserveClusterIDs=true' but rids were still changed. Then, I investigated the entries in exported database JSON file and found that their rid was the same as one in original database.
Example query
select @rid, username from users where username.toLowerCase() in ["u1@cat.com","u2@cat.com","u3<EMAIL_ADDRESS>Result from original

Result from re-import

I have 2 questions.

Is this normal for damaged database that rid might be changed?
Is 'preserveClusterIDs' flag actually for preventing rid change?

PS. Load test is in progress.

@mexeniz rids never persevered during export import, does not matter whether DB is damaged or not. Is it a problem for you ? Do you use rids as external links? We typically suggest not doing that.

About your second question, this flag is used to preserve ids of clusters, not rids of records. I mean for example cluster with the name has "cat1" has id = 42, after import, the same cluster will have the same id 42 but rids of records will be changed.

@laa Thank you very much for answers. Non-preserved record id is a problem and I use it as an external link, but it is okay. I would do a little more work on migration script.

@Iaa I've done many load tests and also tested with OrientDB v. 2.2.18 which we used on production. An issue wasn't reproduced anymore. Thank you very much for your help!

@mexeniz cool but I strongly recommend to update to at least 2.2.20 version. It will prevent possible problems with memory consumption in your case I think there will be no difference to update to 2.2.20 or to 2.2.25 so probably better to update to 2.2.25 at once.


Add missing on_delete on GenericLastTransitionLog model

There was still a on_delete attribute, missing on GenericLastTransitionLog.
Note: I didn't find any migration for this model.

Indeed: it's an abstract model ;)


node version path different

I use this on node 4.x works:
    'string-replace': {
      'remove': {
        files: {
          'public/lib/css/': 'public/lib/css/*.css'
        },
        options: {
          replacements: [
            {
              pattern: /(\@font\-face[^\}]+})/gm,
              replacement: ''
            }
          ]
        }
      }
    },

but did not work properly on 5.x. it will create public/lib/css/public/lib/css/ ... path on folders ... do0uh !!!
this will work on node 5.x

'string-replace': {
  'remove': {
    files: {
      './': 'public/lib/css/*.css'
    },
    options: {
      replacements: [
        {
          pattern: /(\@font\-face[^\}]+})/gm,
          replacement: ''
        }
      ]
    }
  }
},

There is a known error on Node.js v5.7.0. Be sure to use any v4.x or update to the latest v5.x version.

is error still on node v5.10.1 ?

?

Just ran all tests in v5.10.0, v5.10.1 and v5.11.0 and everything is working fine.


containerizing detectron2

Signed-off-by: Roger<EMAIL_ADDRESS>

@rpishenz4 would you like me to merge this, or is there further updates you were planning to make?

yes could you please merge this? There is no further updates at the moment, thank you so much

Awesome, you're welcome and can do. Thank you for the contributions!


build(all): pin node version to 16.10

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

[x] The commit message follows our guidelines: https://github.com/graycoreio/daffodil/blob/develop/CONTRIBUTING.md#commit
[x] Tests for the changes have been added (for bug fixes / features)
[x] Docs have been added / updated (for bug fixes / features)

PR Type
What kind of change does this PR introduce?

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

Does this PR introduce a breaking change?
[ ] Yes
[x] No

Other information
Should hopefully work around https://github.com/facebook/jest/issues/11956

/azp run

/azp run

Closing as we no longer use Azure pipelines.


Implement stackdriver logging

Implement stackdriver logging as described in the jetty-runtime design document.

work in progress will be in branch https://github.com/GoogleCloudPlatform/jetty-runtime/tree/master-68

@meltsufin currently logging is split over openjdk-runtime (json formatters) and jetty-runtime.
Ultimately, I can see the results of this issue being split over:

pull request to google cloud java LoggingHandler
an non-jetty specific extension of LoggingHandler that could replace the JSON stuff (no longer needed) in openjdk-runtime and adds traceid support.
jetty specific usage and configuration of the LoggingHandler which belongs in jetty-runtime

I propose that for simplicity, I develop all the code here in jetty-runtime and then once we are happy with how it is working, we then distribute it out to the locations above (or as then appropriate) before we merge to master/cloud/open-jdk
OK?

@gregw sounds good to develop the code here first.

@meltsufin progress is slow.  I'm a bit concerned that the JUL to  google-cloud-java approach may be a bit flawed.  It is working when the log level is INFO, but once you make the level FINE, then the implementation of google-cloud-java using things like netty and HttpURLConnection that themselves log to java util logging, so infinite recursion and stack overflows result!
See https://github.com/GoogleCloudPlatform/google-cloud-java/issues/1386
We could go straight from the jetty log to google-cloud-logging, but anything that uses JUL or JCL (eg parts of the datastore used for sessions) will be lost (or end up on the console).
It may be that the google-cloud-logging developers have a solution to prevent the recursion.  But I think it really needs a very simple HTTP client that does not do logging to be used to talk to the stackdrive service.  Perhaps the google-cloud-java library can be used to do the auth first.

@gregw Can you use a thread local flag to signal to the handler that it's being recursively called and break the infinite recursion?

@meltsufin we should be able to use a thread local, although care will be needed to ensure that we don't hammer on that for every log line.  I've not done that yet, as it is really something that needs to be solved at the google-cloud-java level, but may do so today just to make some progress.
I've been thinking over alternate solutions and nothing really is as satisfactory as having a JUL handler receiving all container logs from all sources and sending them to stackdriver

The LoggingHandler does have protection for looping in it's implementation.  It maintains a list of masked loggers and removes the stackdriver logger from them.    However, for some reason it is not working for my testing.  I am getting assistance to analyse.
Good news is that the logs are appearing in the console... just an infinite number of them :)

@gregw It actually makes sense that the LoggingHandler would have protection against infinite recursion, but I guess the way we're trying to redirect logs is breaking it. Maybe we're somehow capturing the logs it skips and directng them back to it? Anyway, thanks for the update.

We have not yet found or fixed the log looping problem in https://github.com/GoogleCloudPlatform/google-cloud-java/issues/1386, but as they are working on it and as it indicates that loop logging is indeed something the API code will deal with, I don't think this indicates we have an architectural issue.
So I will ignore the problem for now (don't set logging to FINE) and finish this task.  I'll separately help the google-cloud-java team debug and fix the looping issue.

Are you ready to create a pull request to start the review process?

Not just yet.  Let me upgrade to the just release RC2 and do a bit more testing.   I'd also like to automate some tests, but I don't think we should hold up the PR for that.

@meltsufin I have the logging working now, however it uses a modified LoggingHandler that uses a threadlocal.     So I will not create the PR until https://github.com/GoogleCloudPlatform/google-cloud-java/pull/1385 is resolved.... unless you want me to create the PR so we can do an early review and chat about the code?

@gregw I will look at the code from the branch for now. Thanks!

@gregw I tried building an image from your branch, but was not able to deploy an app based on this image. Does the branch have your latest change with the use of threadlocal?
[INFO] GCLOUD:
[INFO] GCLOUD: Updating service [saltshaker]....................................................................................................................................failed.
[INFO] GCLOUD: ERROR: (gcloud.app.deploy) Error Response: [9]
[INFO] GCLOUD: Application startup error:
[INFO] GCLOUD:  at com.google.cloud.logging.LoggingOptions$DefaultLoggingRpcFactory.create(LoggingOptions.java:62)
[INFO] GCLOUD:  at com.google.cloud.ServiceOptions.getRpc(ServiceOptions.java:491)
[INFO] GCLOUD:  at com.google.cloud.logging.LoggingImpl.<init>(LoggingImpl.java:96)
[INFO] GCLOUD:  at com.google.cloud.logging.LoggingOptions$DefaultLoggingFactory.create(LoggingOptions.java:43)
[INFO] GCLOUD:  at com.google.cloud.logging.LoggingOptions$DefaultLoggingFactory.create(LoggingOptions.java:38)
[INFO] GCLOUD:  at com.google.cloud.ServiceOptions.getService(ServiceOptions.java:478)
[INFO] GCLOUD:  at com.google.cloud.runtimes.jetty9.LoggingHandler.getLogging(LoggingHandler.java:282)
[INFO] GCLOUD:  at com.google.cloud.runtimes.jetty9.AsyncLoggingHandler.write(AsyncLoggingHandler.java:101)
[INFO] GCLOUD:  at com.google.cloud.runtimes.jetty9.LoggingHandler.flush(LoggingHandler.java:365)
[INFO] GCLOUD:  at com.google.cloud.runtimes.jetty9.LoggingHandler.publish(LoggingHandler.java:298)

@meltsufin
Oops pushed failed... pushed now (and merged with latest master).
On 18 November 2016 at 04:58, meltsufin<EMAIL_ADDRESS>wrote:

@gregw https://github.com/gregw I tried building an image from your
branch, but was not able to deploy an app based on this image. Does the
branch have your latest change with the use of threadlocal?
[INFO] GCLOUD:
[INFO] GCLOUD: Updating service [saltshaker]....................................................................................................................................failed.
[INFO] GCLOUD: ERROR: (gcloud.app.deploy) Error Response: [9]
[INFO] GCLOUD: Application startup error:
[INFO] GCLOUD:  at com.google.cloud.logging.LoggingOptions$DefaultLoggingRpcFactory.create(LoggingOptions.java:62)
[INFO] GCLOUD:  at com.google.cloud.ServiceOptions.getRpc(ServiceOptions.java:491)
[INFO] GCLOUD:  at com.google.cloud.logging.LoggingImpl.(LoggingImpl.java:96)
[INFO] GCLOUD:  at com.google.cloud.logging.LoggingOptions$DefaultLoggingFactory.create(LoggingOptions.java:43)
[INFO] GCLOUD:  at com.google.cloud.logging.LoggingOptions$DefaultLoggingFactory.create(LoggingOptions.java:38)
[INFO] GCLOUD:  at com.google.cloud.ServiceOptions.getService(ServiceOptions.java:478)
[INFO] GCLOUD:  at com.google.cloud.runtimes.jetty9.LoggingHandler.getLogging(LoggingHandler.java:282)
[INFO] GCLOUD:  at com.google.cloud.runtimes.jetty9.AsyncLoggingHandler.write(AsyncLoggingHandler.java:101)
[INFO] GCLOUD:  at com.google.cloud.runtimes.jetty9.LoggingHandler.flush(LoggingHandler.java:365)
[INFO] GCLOUD:  at com.google.cloud.runtimes.jetty9.LoggingHandler.publish(LoggingHandler.java:298)
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/GoogleCloudPlatform/jetty-runtime/issues/68#issuecomment-261320151,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAEUrUMeULlFEKBZsv7-o5qBq8GvqM2mks5q_JXKgaJpZM4KtDgS
.

--
Greg Wilkins<EMAIL_ADDRESS>CTO http://webtide.com

@gregw It's running fine now. I can actually see the logs in the Log Viewer and they have the trace id, but they all appear under the "Global" resource, rather than "GAE Application" -> [service] -> [version]. This is caused by the "resource" not being setup with the necessary metadata in the LogEntry. I wonder if this is something we need to explicitly configure, or the cloud-logging-library should be doing it automatically.

I'll investigate and ask the google-cloud-java folks if need be.

I don't think cloud-logging-library can do because it does not know the type, let alone where all the label values may come from.
I'm having a bit of difficulty matching the monitored resource spec with the env variables available in env:flex.   The silver language spec says:
LogEntries SHOULD contain MonitoredResource information (resource type and labels), using attributed defined in the following list of monitored resources.
Example for GAE:
type: gae_app
labels: project_id, module_id, version_id

The App Engine Flex Runtime Contract has:

Name
Example
Desc

GAE_VERSION
20160404t155513
Provides the name of the currently deployed version.

GAE_SERVICE
default
Identifies the name of the currently deployed service.

GAE_INSTANCE
gae-default-20160610t084741-11xn
Provides the name of the current executing instance.

GCLOUD_PROJECT
PROJECT_ID
Provides the ID of the project.  Integrates with various other libraries across cloud.

So I think:
type = "gae_app"
project_id = $GCLOUD_PROJECT
module id = $GAE_SERVICE
version_id = $GAE_VERSION

@meltsufin is that correct?
should we add the instance_id for good measure?

@meltsufin I'm trying to add a MonitoredResource, but it is causing all the logs to go missing!
I create the resource with
    monitored = MonitoredResource.newBuilder("gae_app")
        .addLabel("project_id", System.getenv("GCLOUD_PROJECT"))
        .addLabel("module_id", System.getenv("GAE_SERVICE"))
        .addLabel("version_id", System.getenv("GAE_VERSION"))
        .addLabel("instance_id", System.getenv("GAE_INSTANCE"))
        .build();
    System.err.println("MonitoredResource = " + monitored);

and when run in env:flex I can see the stderr log in the console reporting:
MonitoredResource = MonitoredResource{type=gae_app, labels={module_id=default, instance_id=aef-default-20161123t200233-vs9b, project_id=jetty9-work, version_id=20161123t200233

For each log record, I now add the resource:
  protected void enhanceLogEntry(Builder builder, LogRecord record) {
    super.enhanceLogEntry(builder, record);
    String traceid = RequestContextScope.getCurrentTraceid();
    builder.setResource(monitored);
    if (traceid != null) {
      builder.addLabel("traceid", traceid);
    } else {
      Request request = RequestContextScope.getCurrentRequest();
      if (request != null) {
        builder.addLabel("http-scheme", request.getScheme());
        builder.addLabel("http-method", request.getMethod());
        builder.addLabel("http-uri", request.getOriginalURI());
        builder.addLabel("http-remote-addr", request.getRemoteAddr());
      }
    }
  }

But I cannot find any logs in the console?   I'm currently running an instance in jetty9-work  that will create a few info log entries every time https://20161123t200233-dot-jetty9-work.appspot-preview.com/dump/info is hit.
Any ideas?

It's a mystery for me too. Log Viewer might be using some other metadata to organize the logs. I've asked the folks who work the Log Viewer for help. I'll update when I hear back from them.

I'm printing out the google API LogEntry as they are generated and they look like:
LogEntry
{
  logName=null,
  resource=MonitoredResource
  {
    type=gae_app,
    labels=
    {
      module_id=default,
      instance_id=aef-default-20161124t151259-jezn,
      project_id=jetty9-work,
      version_id=20161124t151259
    }
  },
  timestamp=null,
  severity=INFO,
  insertId=null,
  httpRequest=null,
  labels=
  {
    traceid=5612ee32e03c4abe051377e74528d4b4,
    levelName=INFO,
    levelValue=800
  },
  operation=null,
  payload=StringPayload
  {
    type=STRING,
    data=Nov 24, 2016 4:19:41 AM org.eclipse.jetty.server.handler.ContextHandler$Context log INFO: dump servlet context /dump/testlog
  }
}

The logName=null might be an issue. Also, it would interesting to see how this compares to the log entries generated by fluentd when it reads the JSON-formatted application log from the filesystem.

@gregw I got an update from the Logging team, and they're saying that the instance_id is not a valid label and the service should be rejecting the log entry. This makes me wonder how are we surfacing any errors from the logging service? Can we see if the call to the service is failing?
To get the list of valid labels, you can e.g. use our API https://cloud.google.com/logging/docs/api/reference/rest/v2/monitoredResourceDescriptors/list
  {
   "type": "gae_app",
   "displayName": "GAE Application",
   "description": "An application running in Google App Engine (GAE).",
   "labels": [
    {
     "key": "project_id",
     "description": "The identifier of the GCP project associated with this resource (e.g., my-project)."
    },
    {
     "key": "module_id",
     "description": "The service/module name."
    },
    {
     "key": "version_id",
     "description": "The version name."
    }
   ]
  },

Ah that was me adding the instance_id as I thought it may be useful.  I thought it would just be a label that would be ignored and but that could be filtered on if desired.      I will remove and try again (although it could be good information to include somewhere, perhaps on the log label rather than the resource label?)
With regards to errors, I think we are not getting any as they should be written to stderr if we did.  However I will double check and perhaps induce a few forced errors to double check we can see logs.
I'll work on this tomorrow.

@meltsufin I did some simple memory usage testing, creating logs in a loop and every 1000 I checking the difference in the memory used by the JVM.   I get output like:

total(2591555584)-free(504959536)=used(2086596048) delta=-233666880
total(2591555584)-free(472231168)=used(2119324416) delta=32728368
total(2591555584)-free(446086520)=used(2145469064) delta=26144648
total(2591555584)-free(419942008)=used(2171613576) delta=26144512
total(2591555584)-free(393797568)=used(2197758016) delta=26144440
total(2591555584)-free(367371512)=used(2224184072) delta=26426056
total(2591555584)-free(341227088)=used(2250328496) delta=26144424
total(2591555584)-free(315082536)=used(2276473048) delta=26144552
total(2591555584)-free(288657128)=used(2302898456) delta=26425408
total(2591555584)-free(262512392)=used(2329043192) delta=26144736
total(2591555584)-free(236086928)=used(2355468656) delta=26425464
total(2591555584)-free(209942272)=used(2381613312) delta=26144656
total(2766667776)-free(645374152)=used(2121293624) delta=-260319688
total(2766667776)-free(619806864)=used(2146860912) delta=25567288
total(2766667776)-free(594239624)=used(2172428152) delta=25567240
total(2766667776)-free(568400784)=used(2198266992) delta=25838840
total(2766667776)-free(535326968)=used(2231340808) delta=33073816
total(2766667776)-free(509755720)=used(2256912056) delta=25571248
total(2766667776)-free(483916880)=used(2282750896) delta=25838840
total(2766667776)-free(458349456)=used(2308318320) delta=25567424
total(2766667776)-free(432778136)=used(2333889640) delta=25571320
total(2766667776)-free(406935360)=used(2359732416) delta=25842776
total(2766667776)-free(381019520)=used(2385648256) delta=25915840
total(2766667776)-free(355371080)=used(2411296696) delta=25648440
total(2766667776)-free(329349728)=used(2437318048) delta=26021352
total(2596798464)-free(604057720)=used(1992740744) delta=-444577304
total(2596798464)-free(560980168)=used(2035818296) delta=43077552
total(2596798464)-free(522576296)=used(2074222168) delta=38403872
total(2596798464)-free(496365592)=used(2100432872) delta=26210704
total(2596798464)-free(470154784)=used(2126643680) delta=26210808
total(2596798464)-free(443943976)=used(2152854488) delta=26210808
total(2596798464)-free(417733016)=used(2179065448) delta=26210960
total(2596798464)-free(390986528)=used(2205811936) delta=26746488
total(2596798464)-free(364775584)=used(2232022880) delta=26210944
total(2596798464)-free(338296816)=used(2258501648) delta=26478768
total(2596798464)-free(311818248)=used(2284980216) delta=26478568
total(2596798464)-free(601169792)=used(1995628672) delta=-289351544
total(2596798464)-free(561170936)=used(2035627528) delta=39998856

This suggests that each log is generating about 25KB of garbage!
I think this warrants further investigation and I shall try a profiling tool on it next week.

Thanks Greg! This is obviously way too much garbage, if it's true!
Do you mind posting an issue on google-cloud-java once you get more concrete idea of what's going?
Also, this issue with netty memory leaks may be related. https://github.com/GoogleCloudPlatform/google-cloud-java/issues/1433

Our team recently started migrating from GAE Standard to Flexible, and I bumped into this issue while investigating the difference in logging behaviour. My understanding is that the change done here will collapse multi-line logs into a single Stackdriver log entry, and will propagate JUL logging levels to Stackdriver. That will indeed make Flexible logging significantly more useful, but it still seems to be missing the feature we found extremely convenient in Standard: grouping Jetty logs by HTTP requests.
Can I ask if this feature is still in the plans, and if not, why? We are considering doing that with a custom JUL logging handler that will buffer the logs, and flush the buffer at the end of the request or if the buffer grows too big, producing a Standard-style Stackdriver log entry of type.googleapis.com/google.appengine.logging.v1.RequestLog type with multiple LogLine records. It will be helpful to know if you have some design or performance considerations that are preventing you from the following the same approach.

Other than collapsing multi-line log messages, and setting the levels correctly, in the #81 we have support for enhanced logging which will provide grouping by HTTP request.
So, you don't need to implement it yourself.


update the active cell on handleContextMenu

Updates the active cell in order to allow the UI (or other internal code) to update when a context menu is selected.
See: https://github.com/mleibman/SlickGrid/issues/585

Thanks for the fix. Quite useful.


where is the  param   "--not-restore-last"

I find more detailed explanation in  DrSleep's repo
It say  "If restoring weights from the PASCAL models for your dataset with a different number of classes, you will also need to pass the --not-restore-last flag, which will prevent the last layers of size 21 from being restored"
where is the  param   "--not-restore-last"  in your code
Looking forward to your reply

@rishizek hello, I meet the same question，as follows:
Key Variable not found in checkpoint [[Node: save/RestoreV2 = RestoreV2[dtypes=[DT_INT32], _device="/job:localhost/replica:0/task:0/device:CPU:0"](_arg_save/Const_0_0, save/RestoreV2/tensor_names, save/RestoreV2/shape_and_slices)]]
I removed the tf.train.init_checkpoint,this problem still remains, I use inceptionV3 as the baseline,
from your answer, checkpoint needs to be updated as well.so how to update the checkpoint?
hope your answer,thanks


update-schema.ps1 does not work

Describe the bug
Created a project using Blank Bot template, update-schema.ps1 does not work.
Version

Browser

[x] Electron distribution
[ ] Chrome
[ ] Safari
[ ] Firefox
[ ] Edge

OS

[ ] macOS
[x] Windows
[ ] Ubuntu

To Reproduce
Steps to reproduce the behavior:

Create project using "Blank Bot"
go to schemas folder
run ```powershell .\update-schema.ps1"

C:\scratch\empty4\empty4\schemas>powershell .\update-schema.ps1
Running schema merge.
Finding component files
Error multiple definitions of empty4.en-us.lu in
  C:\scratch\empty4\empty4\generated\interruption\empty4.en-us.lu
  C:\scratch\empty4\empty4\language-understanding\en-us\empty4.en-us.lu
Error multiple definitions of empty4.en-us.qna in
  C:\scratch\empty4\empty4\generated\interruption\empty4.en-us.qna
  C:\scratch\empty4\empty4\knowledge-base\en-us\empty4.en-us.qna
Parsing component .schema files
Error https://schemas.botframework.com/schemas/component/v1.0/component.schema: connect ETIMEDOUT <IP_ADDRESS>:443
Error https://schemas.botframework.com/schemas/component/v1.0/component.schema: connect ETIMEDOUT <IP_ADDRESS>:443
Error https://schemas.botframework.com/schemas/component/v1.0/component.schema: connect ETIMEDOUT <IP_ADDRESS>:443
Error https://schemas.botframework.com/schemas/component/v1.0/component.schema: connect ETIMEDOUT <IP_ADDRESS>:443
Error https://schemas.botframework.com/schemas/component/v1.0/component.schema: connect ETIMEDOUT <IP_ADDRESS>:443
Error https://schemas.botframework.com/schemas/component/v1.0/component.schema: connect ETIMEDOUT <IP_ADDRESS>:443
Error https://schemas.botframework.com/schemas/component/v1.0/component.schema: connect ETIMEDOUT <IP_ADDRESS>:443

Expected behavior
update-schema to work.
Screenshots
Additional context

Potential duplicate of: https://github.com/microsoft/botframework-components/issues/900

Closing as the issue exists with the new runtime and is tracked at https://github.com/microsoft/botframework-components/issues/900


[docs] Replaced route06inc with giselles-ai due to a GitHub organization transfer.

Summary
I replaced route06inc with giselles-ai due to a GitHub organization transfer.
Related Issue
None
Changes
I replaced route06inc with giselles-ai due to a GitHub organization transfer.
Testing
Please check if all the modified URLs are accessible.
Other Information
None

Thanks!


[FancyZones Editor] Show zone size below the zone index.

Zone size should be represented below the zone index in the editor both in grid and canvas zones.

It would be cool if you could click on the displayed text and enter in zone sizes / coordinates.  This would then lock the dimension.
When a dimension is locked, there would be a little icon next to the text so the user knows it is locked.  The zone size / coordinate would not be movable / dragged any longer.
To unlock the zone size / coordinate, you'd simply click on the lock icon to turn it off.  The boarder would not be draggable.

Great news!  This was resolved in the newly released 0.33 version of PowerToys!  Head to https://aka.ms/installpowertoys to grab latest.


Brain test for eirini persi

Acceptance Criteria

brain test that runs when eirini is enabled
should verify that a persi service instance can be created
should verify that an app can store data, be restarted and data is preserved
should verify that multiple app instances can write to the same persistent volume

As a side note, there is already a fixture available here: https://github.com/SUSE/catapult/tree/v2-experiment/contrib/samples/eirini-persi-test

add checkboxes to the acceptance criteria so we know what remains from this issue.


Fix validate CRD compatibility check and deprecated CRD test case

Fix validate CRD compatibility
Should only run against served versions instead the non-served
versions (! operator error)
Clean up the deprecated CRD versions test:
Using standup catsrc upgrade and get rid of unnecessary subscription
deletion.

Signed-off-by: Vu Dinh<EMAIL_ADDRESS>
Description of the change:
Motivation for the change:
Reviewer Checklist

[ ] Implementation matches the proposed design, or proposal is updated to match implementation
[ ] Sufficient unit test coverage
[ ] Sufficient end-to-end test coverage
[ ] Docs updated or added to /docs
[ ] Commit messages sensible and descriptive

This PR failed tests for 1 times with 1 individual failed tests and 4 skipped tests. A test is considered flaky if failed on multiple commits.

totaltestcount: 1
flaketestcount: 1
skippedtestcount: 4
flaketests:

classname: End-to-end
name: 'Install Plan with CRD schema change Test missing existing versions in
new CRD'
counts: 1
details:

count: 1
error: |4-
/home/runner/work/operator-lifecycle-manager/operator-lifecycle-manager/vendor/github.com/onsi/ginkgo/extensions/table/table_entry.go:43

	Error Trace:	installplan_e2e_test.go:849
	            				value.go:460
	            				value.go:321
	            				table_entry.go:37
	            				runner.go:113
	            				runner.go:64
	            				it_node.go:26
	            				spec.go:215
	            				spec.go:138
	            				spec_runner.go:200
	            				spec_runner.go:170
	            				spec_runner.go:66
	            				suite.go:62
	            				ginkgo_dsl.go:226
	            				ginkgo_dsl.go:214
	            				e2e_test.go:54
	Error:      	Received unexpected error:
	            	clusterserviceversions.operators.coreos.com "nginx-bc9nv-beta" not found

/home/runner/work/operator-lifecycle-manager/operator-lifecycle-manager/vendor/github.com/stretchr/testify/require/require.go:1005

meandurationsec: 26.277321
skippedtests:
classname: End-to-end
name: 'Subscription updates existing install plan'
counts: 1
details: []
meandurationsec: 0.37271
classname: End-to-end
name: 'Subscriptions create required objects from Catalogs Given a Namespace
when a CatalogSource is created with a bundle that contains prometheus objects
creating a subscription using the CatalogSource should install the operator
successfully'
counts: 1
details: []
meandurationsec: 2.119683
classname: End-to-end
name: 'Catalog image update'
counts: 1
details: []
meandurationsec: 0.487384
classname: End-to-end
name: 'Subscriptions create required objects from Catalogs Given a Namespace
when a CatalogSource is created with a bundle that contains prometheus objects
creating a subscription using the CatalogSource should have created the expected
prometheus objects'
counts: 1
details: []
meandurationsec: 2.165053

/retest

This PR failed tests for 1 times with 1 individual failed tests and 4 skipped tests. A test is considered flaky if failed on multiple commits.

totaltestcount: 1
flaketestcount: 1
skippedtestcount: 4
flaketests:

classname: End-to-end
name: 'CSV emits CSV requirement events'
counts: 1
details:

count: 1
error: |4-
/home/runner/work/operator-lifecycle-manager/operator-lifecycle-manager/test/e2e/csv_e2e_test.go:2667
Timed out after 60.000s.
Expected success, but got an error:
    <*errors.StatusError | 0xc001208000>: {
        ErrStatus: {
            TypeMeta: {Kind: "", APIVersion: ""},
            ListMeta: {
                SelfLink: "",
                ResourceVersion: "",
                Continue: "",
                RemainingItemCount: nil,
            },
            Status: "Failure",
            Message: "Operation cannot be fulfilled on clusterserviceversions.operators.coreos.com \"csv-9swqs\": the object has been modified; please apply your changes to the latest version and try again",
            Reason: "Conflict",
            Details: {
                Name: "csv-9swqs",
                Group: "operators.coreos.com",
                Kind: "clusterserviceversions",
                UID: "",
                Causes: nil,
                RetryAfterSeconds: 0,
            },
            Code: 409,
        },
    }
    Operation cannot be fulfilled on clusterserviceversions.operators.coreos.com "csv-9swqs": the object has been modified; please apply your changes to the latest version and try again
/home/runner/work/operator-lifecycle-manager/operator-lifecycle-manager/test/e2e/csv_e2e_test.go:2746

meandurationsec: 64.845177
skippedtests:
classname: End-to-end
name: 'Subscriptions create required objects from Catalogs Given a Namespace
when a CatalogSource is created with a bundle that contains prometheus objects
creating a subscription using the CatalogSource should have created the expected
prometheus objects'
counts: 1
details: []
meandurationsec: 1.13717
classname: End-to-end
name: 'Subscriptions create required objects from Catalogs Given a Namespace
when a CatalogSource is created with a bundle that contains prometheus objects
creating a subscription using the CatalogSource should install the operator
successfully'
counts: 1
details: []
meandurationsec: 2.106923
classname: End-to-end
name: 'Catalog image update'
counts: 1
details: []
meandurationsec: 0.112922
classname: End-to-end
name: 'Subscription updates existing install plan'
counts: 1
details: []
meandurationsec: 0.780872

/retest

/retest

/lgtm

/retest

/approve

/backport release-4.5

/cherry-pick release-4.5


[Rendering] Cards overlap on IPad

Copied bug from: https://github.com/microsoft/AdaptiveCards/issues/7483
Details from original post:
Target Platforms
iOS
SDK Version
Adpative Card 1.4
Application Name
Microsoft Teams
Problem Description
Sometimes cards are not displayed right on iPad. On the screenshot you see how on card cuts the other and hides some of the content.
IPad
Version: 15.4.1
Model: IPad Air (4. Generation)
Screenshots

Card JSON
Not related to the card.json

Sample Code Language
No response
Sample Code
No response---
Document Details
⚠ Do not edit this section.It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 3fb4394d-25b1-8752-3996-fe3a2934732d
Version Independent ID: 6d391381-89d0-117c-27cc-00043bd26a36
Content: Cards reference - Teams
Content Source: msteams-platform/task-modules-and-cards/cards/cards-reference.md
Product: msteams
GitHub Login: @surbhigupta12
Microsoft Alias: surbhigupta12

Could you please share the JSON of the card?

The problem is not with one card, but with the presentation of the entire conversation:

As we know the conversation, we can say that the order of the cards is not right
The third card also overlaps a little bit with the card above
The user message are not visible (because the user continued the conversation by sending a message)

Thanks for the details. We will check this with sending some cards and see if have a repro.

We tried this at our end by sending adaptive cards with lots of data, they are rendering fine on iPad. Could you please update the Teams version and check once again? Please share the Teams version and iPad version you are using.

IPad
Version: 15.4.1
Model: IPad Air (4. Generation)
Teams Version (when Problem appeared): 4.8.1
We will let you know if the problem is solved as soon our client replies.

Our client still has that problem, but we cannot test it ourself. He says, that he can click again on the Chatbot, to remove overlapping. It's annoying but not a breaking bug.

Click again means moving the focus away from the bot and then opening that bot?

No, just clicking again on the chat contact / chatbot

Thanks for confirming. We are checking this with the engineering team. We will get back to you.

@sueess - Engineering team has checked with multiple cards with large texts on iPAd but can't reproduce the issue. Could you please provide a user/password that is currently having this issue?

@Meghana-MSFT This issue is more then a year old. I love to help you to make your tool better, but then you have to speed up your investigation in the bugs a little bit. I don't know if the bug is still there.


feat: add post_step_instruction hook

Add post_step_instruction hook
Description
This pull request add post_step_instruction hook which will be called after the virtual machine executed an instruction.
This is needed to implement afterEach in cairo-foundry
Checklist

[ ] Linked to Github Issue
[ ] Unit tests added
[ ] Integration tests added.
[ ] This change requires new documentation.
[ ] Documentation has been added/updated.

I have updated my pull request to fix clippy error.
I need a maintainer to approve running workflows.


Adds CommonJS/RequireJS support

This adds support for asynchronous module definitions (AMD) through both RequireJS and CommonJS. If neither is present, the plugin is added to the global jQuery.

will be covered in v2.0: #57

Just saw this, yes they both do the same thing. module.exports is commonJS syntax though, define is for requireJS.


Fixing yaml variable expansion

YAML variables are not currently being expanded properly. Using YAML variables is especially useful for keeping notifications DRY.
This moves the custom YAML unmarshal routine to use a map rather than yaml.MapSlice. This is working around https://github.com/go-yaml/yaml/issues/184.

Would this issue be preventing expansion of secrets into the 'script' commands of the drone-ssh plugin? I'm wondering because I'm unable to do anything other than hardcode them into the script or put them in the bash_profile for the remote user.

@donny-dont confirmed this PR fixes the issue. Let me see if there is an ETA for getting it merged
https://github.com/go-yaml/yaml/pull/220

@steve-gray this is unrelated. This is a workaround for a bug in the Go yaml parser that is preventing it from correctly implementing yaml inheritance:
_slack: &SLACK
  image: plugins/slack

pipeline:
  notify_fail: *SLACK  # use slack variable
  notify_success:
    << : *SLACK # inherit slack variable attributes
    when:
      event: success

I don't want to hijack this thread, since it is unrelated to the ssh plugin, but there should be no reason to hardcode the SSH key in the Yaml when using the ssh plugin. Instead one should be using the secret store. See the docs at https://github.com/drone-plugins/drone-ssh/blob/master/DOCS.md

@bradrydzewski: I'm not referring to the SSH Key. That's going in via drone secrets already. The issue I've got is that I can't get a secret value transposed into the script: property even though it's scoped to the plugins/ssh plugin. It appears this is just something that isn't possible on 0.5 as secrets never make it into the YAML sections themselves as a pre-execute pass.