Update FeatureBinarizerFromTrees for compatibility with numpy 1.22.0, scikit-learn 1.0.2, and pandas > 1.3.

Resolve unit test failures, future warnings, and a few minor compatibility issues relating to FeatureBinarizerFromTrees.
scikit-learn changed OneHotEncoder to support NaN instead of raising exception. This is incompatible with FeatureBinarizerFromTrees logic. FeatureBinarizerFromTrees.fit() checks for NaNs and raises exception. Relates to the following unit test failure.
Failure
Traceback (most recent call last):
  File "tests/rbm/test_Feature_Binarizer_From_Trees.py", line 153, in     test_fit_and_transform_exceptions
    fbt.fit(Xn, self.y_train)
AssertionError: ValueError not raised

numpy no longer raises warnings for NaN/None during vector comparisons. Removed unit test warning assertion. Relates to following unit test failure.
Failure
Traceback (most recent call last):
  File "tests/rbm/test_Feature_Binarizer_From_Trees.py", line 359, in     test_fit_and_transform_all_feature_classes
    T: DataFrame = fbt.transform(Xn)[0]
AssertionError: RuntimeWarning not triggered

scikit-learn raises future warning when passing pandas df with MultiIndex columns to fit(). Reset index to int range before fit().
FutureWarning: Feature names only support names that are all strings. Got feature names with dtypes: ['tuple']. An error will be raised in 1.2.

pandas raises future warnings in set_levels(). Changed syntax appropriately.
FutureWarning: In a future version of pandas all arguments of MultiIndex.set_levels except for the argument 'levels' will be keyword-only

FutureWarning: inplace is deprecated and will be removed in a future version.

Thanks again @floidgilbert! I really appreciate your coming back to this. And sorry for the delay in merging.


Implement log fetching

This feature allows users who can ssh into a pod to instead gather logs from the pod to be returned via the SSH connection.
Features:

Select service, and optionally container to retrieve logs from.
Select number of log lines to return.
Optionally stream logs live from the service (i.e. "follow").
Select all pods in a service and seamlessly handle scaling up/down (pods being added/removed from service).
Timestamp and pod/container prefix on all log lines.

How to use:
ssh $PROJECT-$ENVIRONMENT@$SSH_PORTAL_HOSTNAME service=$SERVICE [container=$CONTAINER] logs=tailLines=$LINES[,follow]

Closes: #149

Here's an experimental branch on lagoon-cli that adds a logs command. The branch is just a PoC because it doesn't handle follow correctly due to buffering output.
https://github.com/uselagoon/lagoon-cli/tree/logs

This outstanding PR is blocking other work, so I'm merging it now. The feature is disabled by default, and not yet part of any chart release.

Sorry, haven't had time to review it properly with everything else going on at the moment. Quick :eyes: seems fine though, disabled by default is :ok:


create a button to easily convert a control to an edge loop

This has been addressed in this pull request
https://github.com/louisVottero/vtool/pull/55


[Text] font size is changing

Just upgraded to 11-rc and all <Text> font sizes are now being affected by accessibility settings.
Accessibility is great, but this ended up breaking many of our screens. It seems like it would be better to opt into that behavior. Our app wasn't designed for that extreme variability in font size, and I imagine many others weren't either.
We fixed the issue for now by adding allowFontScaling={false} to every text node, but obviously that is verbose and not optimal. It would be great to either have that be default, or a documented way to set it just once globally.
I believe the relevant commit is at https://github.com/facebook/react-native/commit/53fb5b6cee50f85bc6220231b2fd39fd94b587db

:+1:

FWIW I believe honoring the accessibility settings should be the default for the same reasons why a web browser lets you magnify text if you want to. Looking at my phone's apps, most of the text is for content more than presentation.
Easiest way to do it globally is maybe to override the default props (untested):
import { Text } from 'react-native';

let originalGetDefaultProps = Text.getDefaultProps;
Text.getDefaultProps = function() {
  return {
    ...originalGetDefaultProps(),
    allowFontScaling: false,
  };
};

Was wondering the same thing @aprilzero. Thanks for the allowFontScaling it resolved my issues.

I flipped through some of the top native apps on my phone—Facebook, Instagram, Snapchat, Uber, Calendar and Slack are fixed font sizes that do not follow the accessibility setting.
Others apps like Messenger, Twitter, Spotify, Mail scale the text based on the setting. Seems to be ones that are more text based and have a lot of reading.
IMHO it should be up to the app developer to decide which category their app falls into.

Yeah that's fair. @a2 do you have thoughts on this?

It seems that this changed in 53fb5b6cee50f85bc6220231b2fd39fd94b587db. The commit message says that allowFontScaling should be false by default but the code and UIExplorer example say otherwise.

Ah so I guess this a bug...

I submitted a PR for this - https://github.com/facebook/react-native/pull/2530

@yamill :+1:

IMHO it should be up to the app developer to decide which category their app falls into.

In my experience, if you do not have accessibility features baked by default, then no one will really implement it properly. We've done a lot of work with React Native to get voice over working well by default: any element that is <Touchable*> will be accessible and the hint will be a concatenation of all the text inside (if any). We absolutely should have font scaling be the default, and if it doesn't work well with some screens of your app, then you can disable it.
Also, I just tried and Facebook does update some text to be bigger with accessibility settings:

If this is the intended behavior can this issue be closed? Or is there more to do here? @aprilzero - maybe you could just make a NonScalingText component that wraps Text sets the prop such that the text doesn't scale?

@ccheever - I think you're right that this can be closed now, this option won't be changed -- defining your own Text component to reduce boilerplate seems like a solution where necessary.

I know this issue is closed, but I think we conflated two questions, and left the more important one discarded.
YES it should default to true, and because it's an option, it should be a simple global (not just per instance) for the developer to disable app-wide.  @ccheever and @brentvatne please consider that as we utilize 3rd party node modules, we don't always have access to the underlying textviews to restructure them to a nonscaling text.

Good point @GantMan - can you create an issue on ProductPains for this?

consider it done!

I found a solution,Text.defaultProps.allowFontScaling=false, it works, it is global

12d, Please give me example for Text.defaultProps.allowFontScaling=false

@uc-hus - you could throw this in your index.ios.js  just import text and modify it's defaultProps.  Done!  All subsequent uses of Text will have font scaling set to false.  Super easy 👍

Please provide a example!

@uc-hus  - I made a PR to Ignite to expose this option in AppSettings.js.
I hope this example helps:  https://github.com/infinitered/ignite/pull/389

Its not working. Please do something if possible.
Thanks & Regards
Mohammed HUSAIN
Senior Apps Developer, uCertify
+91<PHONE_NUMBER>
On Sun, Sep 25, 2016 at 11:36 PM, Gant Laborde<EMAIL_ADDRESS>wrote:

@uc-hus https://github.com/uc-hus - I made a PR to Ignite to expose
this option in AppSettings.js.
I hope this example helps: infinitered/ignite#389
https://github.com/infinitered/ignite/pull/389
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/facebook/react-native/issues/2519#issuecomment-249436174,
or mute the thread
https://github.com/notifications/unsubscribe-auth/ALoZ1DR6x9W15pT7TTytV0xfnoPPQD0Iks5qtrgngaJpZM4F2Ixk
.

Gonna need more info than that.  How about we move this convo off to the reactiflux dischord channel.   I am Gantman there, as well
https://discordapp.com/channels/102860784329052160/102861040538120192

I'm using 0.33.0 with Android, set allowFontScaling=false is not working. At the end, i use ${targetDP} * PixelRatio.get() / PixelRatio.getFontScale() temporarily to hack it.

I've found out by experience that if you correctly design your app to use points instead of pixel font sizes, you don't need to disable allowFontScaling and you don't need ANY fancy code to choose the right font size for your elements.
I just tell our designer to design for iOS 5, and use Points in his mockups, and all magically just works.

Hi everyone i am going throught this issue " Text.defaultProps.allowFontScaling=false" solved my problem in IOS but it did not solved this issue in android . So is there any why to turn allowFontScaling = false in android ?

I've put "Text.defaultProps.allowFontScaling=false" in the constructor of index.android.js and it worked.
import { Text } from 'react-native';
...
constructor() {
  super();
  Text.defaultProps.allowFontScaling=false;
}

I know this issue is currently closed, but I am having an issue where the even with setting the default allowFontScaling to false, when a user changes the View from "Standard View" to "Zoomed View" all the text size is changing.
Has anyone come up with a way to handle this type of sizing change?

I know this is a closed issue, but I am still having an issue with font scaling even after following the above tricks to disable fontScaling on Text Components.
It seems the above trick doesn't stop the Text from scaling when a user sets their Display Zoom settings to "Zoomed" instead of "Standard". Has anyone found a solution to this issue?
The Display Zoom settings can be found on iPhone 6 and up under Settings > Display & Brightness > Display Zoom.
Thanks in Advance!

Hi all, hi @TimonSotiropoulos , did you manage to find a workaround ? I have the same problem.
Victor

@vmacavero No I haven't found a solution. Just had to redesign some of my screens so they worked in both standard and zoomed modes.

Text.defaultProps.allowFontScaling=false; is working for me in iOS, but not in Android. Any solution for Android?

Facing same issue, in my case Button title sizes and navigation bar is being affected and Text.default props only seem to affect Text component only

This works on Android too
Text.defaultProps.allowFontScaling = false
For TextInput I added prop allowFontScaling={false} and it worked too.
e.g. <TextInput allowFontScaling={false} />

I have a problem for this case.
I've add the  Text.defaultProps.allowFontScaling = false  in the index.android.js
it's works fine except for the case where there's a <Text></Text> inside a <Text></Text>
like this,
... <Text>   <Text>This is a sentence</Text>   <Text style={{fontWeight: "bold"}}> with</Text>   <Text> one word in bold</Text> </Text> ...
and it's only happen in the android.
is there any solution for this?
Thanks in advance

+1 for nested this text is not affected by setting allowFontScaling to false

hi any one face any issue with android screen zoom and how to disable the screen zoom ?

Text.defaultProps.allowFontScaling = false in constructor in App.js (using Expo)
works great for me! Except for placeholder in TextInput, probably because it's a nested Text in Text. Well, minor problem^^

This no longer works on react-native 0.56.0. Text.defaultProps is undefined.

Does dynamic type is supported by latest React-Native version?
Reading through the post understand that, it doesn't want to support the dynamic type then set allowFontScaling = false since default value of allowFontScaling  is true. But still dynamic type (font scaling) is not working when allowFontScaling=true.

@a-koka can you please provide a reference to the change in 0.56.0?

I have not had the chance to investigate the source code @oded-gong-io as I'm still fighting with all the breaking changes in my app since the upgrade, nothing major, I still love react-native and the forces behind it :)
All I can say for certain is that I was using Text.defaultProps.allowFontScaling to disable font scaling and this is now breaking. I also verified on a brand new project and Text.defaultProps is indeed coming back as undefined which wasn't the case in 0.55.4.

@a-koka I think this is because the Text component is wrapped to inject the forwardedRef prop, see https://github.com/facebook/react-native/blob/e1cca18d0081f803013fe60d38d89f7f44dafca0/Libraries/Text/Text.js#L264-L269

Thanks for pointing me to this @patrickkempff. You're absolutely right on both fronts. I do realize that I can just wrap my customizations in a new component but that does require a lot of changes on my end as I have a really large app. Hoping there is some way to override the defaultProps in the near future. If not, writing a custom component does suffice and isn't a terrible solution.

Thanks for the hack @levibuzolic. I agree that I should consider font scaling for all my layouts but with so much to do, such hacks are necessary. Glad this was an easy fix. Appreciate the help!


How to convert CBOR to JSON

I have a cbor byte slice and I need to convert that to json string but it fails with an error
var data interface{}
cbor.unmarsha(abi, &data) //abi is in cbor and the underlying data is array of objects
json.Marshal(data)

I get the error
unsupported type : map[interface{}] interface{}

@fxamaacker This seems to be a non-CBOR question about how to use encoding/json package when it fails to encode unsupported data types.

The reported error message left out "json: " prefix.  The actual error message is:

"json: unsupported type: map[interface {}]interface {}."

The example code doesn't compile.

Here's a simple reproducer that compiles without involving this library:
package main

import (
	"encoding/json"
	"fmt"
)

func main() {
	data := make(map[interface{}]interface{}, 0)
	_, err := json.Marshal(data)
	if err != nil {
		fmt.Printf("%s\n", err)
		return
	}
}

The reproducer shows the problem doesn't involve this library.  They need to decide how to use their JSON encoder or encoding/json to encode unsupported Go data types like map[interface{}]interface{}.

Hi @kant777, thanks for opening this issue.
You can use cbor.DefaultMapType decoding option to resolve the issue you described.
Docs:
// DefaultMapType specifies Go map type to create and decode to
// when unmarshalling CBOR into an empty interface value.
// By default, unmarshal uses map[interface{}]interface{}.
DefaultMapType reflect.Type

Snippet:
myDecMode, err := cbor.DecOptions{
        DefaultMapType: reflect.TypeOf(map[string]interface{}(nil)),  // compatible with JSON
    }.DecMode()

err := myDecMode.Unmarshal(abi, &data)

Example program:  https://go.dev/play/p/_H00A18NzSs
Please let me know if it works for you.
Details
More details... :mag:
As @x448 mentioned, json.Marshal() returns json.UnsupportedTypeError when encoding a value of map[interface{}]interface{} type.  Using cbor.DefaultMapType option as shown above will make it compatible with JSON encoders.
In your example,

when cbor.Umarshal() decodes CBOR map into a value of empty interface type (var data interface{}), decoded value is created as map[interface{}]interface{} to allow decoding heterogeneous map.
json.Marshal() returns  json.UnsupportedTypeError because it rejects map value with interface{} as map key (See code in encoding/json for more details)

Please try this code snippet:
// NOTE: error handling omitted to simplify example code

decMode, _ := cbor.DecOptions{
	DefaultMapType: reflect.TypeOf(map[string]interface{}(nil)),
}.DecMode()

abi := []byte{0x82, 0xa2, 0x61, 0x61, 0x01, 0x61, 0x62, 0x02, 0xa2, 0x61, 0x63, 0x03, 0x61, 0x64, 0x04} // [{"a": 1, "b": 2}, {"c": 3, "d": 4}]
var data interface{}
_ = decMode.Unmarshal(abi, &data) //abi is in cbor and the underlying data is array of objects
s, _ := json.Marshal(data)

fmt.Printf("json: %s\n", string(s))
// Output: json: [{"a":1,"b":2},{"c":3,"d":4}]

Complete example program:  https://go.dev/play/p/_H00A18NzSs

Closing this issue as resolved/answered.  Please feel free to reopen if anything was missed.


Component's won't work if registered after Vue bootstraping

Took me one hour to figure out that this:
var vm = new Vue({
     el: 'body'
})
Vue.component('my-component', {
  template: '
A custom component!
'
})

    <my-component></my-component>

will not work because Vue is bootstrapped before component registration.
I'm migrating from angular.js, and this really seems weird because we used to bootstrap the framework first and let it register directives by itself afterwards.
If it's intended behavior, it should at least be mentioned in the Guide, but I don't see anything covering this important information at all.

My mistake, didn't read the guide carefully

Then you can use the registered component in a parent instance’s template (make sure the component is registered before you instantiate your root Vue instance):


check container does not always write elapsed_time to results.json

Bug Description
When running check container not all checks write out an elapsed_time to the results.json. This means that pyxis rejects our request.
Version and Command Invocation
main
Steps to Reproduce:

run check container --submit
see error returned by pyxis

Expected Result
It should be expected that this value is always present for any check, just like check operator.
Actual Result
results.json does not have elapsed_time for every check.
actual json
{
    "image": "quay.io/opdev/simple-demo-operator:latest",
    "passed": false,
    "test_library": {
        "name": "github.com/redhat-openshift-ecosystem/openshift-preflight",
        "version": "unknown",
        "commit": "unknown"
    },
    "results": {
        "passed": [
            {
                "name": "BasedOnUbi",
                "description": "Checking if the container's base image is based upon the Red Hat Universal Base Image (UBI)",
                "knowledgebase_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide",
                "check_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide"
            },
            {
                "name": "HasUniqueTag",
                "elapsed_time": 930,
                "description": "Checking if container has a tag other than 'latest', so that the image can be uniquely identified.",
                "knowledgebase_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide",
                "check_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide"
            },
            {
                "name": "LayerCountAcceptable",
                "description": "Checking if container has less than 40 layers.  Too many layers within the container images can degrade container performance.",
                "knowledgebase_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide",
                "check_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide"
            },
            {
                "name": "HasRequiredLabel",
                "description": "Checking if the required labels (name, vendor, version, release, summary, description) are present in the container metadata.",
                "knowledgebase_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide",
                "check_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide"
            },
            {
                "name": "HasNoProhibitedPackagesMounted",
                "elapsed_time": 28,
                "description": "Checks to ensure that the image in use does not include prohibited packages, such as Red Hat Enterprise Linux (RHEL) kernel packages.",
                "knowledgebase_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide",
                "check_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide"
            },
            {
                "name": "RunAsNonRoot",
                "description": "Checking if container runs as the root user because a container that does not specify a non-root user will fail the automatic certification, and will be subject to a manual review before the container can be approved for publication",
                "knowledgebase_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide",
                "check_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide"
            }
        ],
        "failed": [
            {
                "name": "RunnableContainer",
                "elapsed_time": 11120,
                "description": "Checking if container runs within a pre-configured timeframe",
                "help": "Check RunnableContainer encountered an error. Please review the preflight.log file for more information.",
                "suggestion": "Ensure that the container can be launched",
                "knowledgebase_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide",
                "check_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide"
            },
            {
                "name": "HasLicense",
                "description": "Checking if terms and conditions applicable to the software including open source licensing information are present. The license must be at /licenses",
                "help": "Check HasLicense encountered an error. Please review the preflight.log file for more information.",
                "suggestion": "Create a directory named /licenses and include all relevant licensing and/or terms and conditions as text file(s) in that directory.",
                "knowledgebase_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide",
                "check_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide"
            }
        ],
        "errors": [
            {
                "name": "RunSystemContainer",
                "elapsed_time": 171,
                "description": "Checking if a container can run as a systemd service",
                "help": "Check RunSystemContainer encountered an error. Please review the preflight.log file for more information.",
                "knowledgebase_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide",
                "check_url": "https://connect.redhat.com/zones/containers/container-certification-policy-guide"
            }
        ]
    }
}

Additional Context
Response from pyxis
{
  "detail": {
    "passed": [
      "Missing data for required field."
    ],
    "results": {
      "failed": {
        "1": {
          "elapsed_time": [
            "Missing data for required field."
          ]
        }
      },
      "passed": {
        "0": {
          "elapsed_time": [
            "Missing data for required field."
          ]
        },
        "2": {
          "elapsed_time": [
            "Missing data for required field."
          ]
        },
        "3": {
          "elapsed_time": [
            "Missing data for required field."
          ]
        },
        "5": {
          "elapsed_time": [
            "Missing data for required field."
          ]
        }
      }
    }
  },
  "status": 400,
  "title": "Bad Request",
  "type": "about:blank",
  "trace_id": "0x64d2f4e1488c50125260d6ecc39da1c5"
}

Relates: #440
closing this issue since it's just was a marshaling issue that was resolved. Some tests run very fast, and get converted to 0 due to how time package rounds.


Missing diffs in MergeRequestClient

There is no API method in MergeRequestClient for GET /projects/:id/merge_requests/:merge_request_iid/diffs endpoint

Client.Commits.GetDiffsAsync


const correctness for C interface

Make C interface const-correct to allow using it from const-correct client code.

:open_mouth: I just realized there were these PR sitting here. Sorry for the late merge, and it's great to have these very helpful PR comming! :smiley:


Web Fetch API: Deal with missing headers API on Edge

It could, but that would be more code, unless we have a spec-compliant Iterator implementation in FOAM already.

That's a pain. Tell them to stop adding new collection interfaces; this isn't Python.

I agree. This is # Temporary I hope, hope, hope. Presumably, Edge will fix the bug and we can remove this rather than investing in our own polyfill implementation.


Replace banner by separate infopage

Replace the current banner overlay by a thin row of buttons (or similar) linking to "info/about", "search" and logo.
Info/about page should contain the current information along with a notice on the copyright issue, a link here and a link to the entry page for the api.

Solved through redesign merged in d880781412e9c9b367ad908b75e699ce182a5250


allow_overwrite is deprecated

For additional context: https://github.com/terraform-providers/terraform-provider-aws/issues/7846


Add issues permissions for handling needinfo requests

I see the needinfo job is failing due to missing permissions. I've not needed any permissions for this action before, but possibly they are locked down a bit due to recent releng work. This adds the issues permission. It is a stab in the dark, I don't know if it will work, but it is the area of all octokit API client calls that occurs in the action.
https://github.com/thunderbird/thunderbird-android/actions/runs/11004526905/job/30665933452

Looking at the GitHub Issues Api, it requires issues:write permission. I'm not aware which exact operation are used by the action, but some of them might need multiple permissions.

@wmontwe I also added the pull-requests permission now, the API endpoints used say they require that permission as well. Let me know if that causes trouble.

Fine with me


ImagesClient does not support creating images from ARM64 architecture snapshots

ImagesClient does not support creating images from ARM64 architecture snapshots
import path<EMAIL_ADDRESS>go version:  go1.19 darwin/arm64
I am trying to create image from ARM64 Virtual Machine Disk snapshot. However, ImagesClient is not supporting creating image from ARM64 architecture snapshots. For code snippet below getting the response:
failed to finish create image request: PUT https://management.azure.com/subscriptions/xxxxxxxx/resourceGroups/rq/providers/Microsoft.Compute/images/imageName
RESPONSE 409: 409 Conflict
ERROR CODE: OperationNotAllowed
--------------------------------------------------------------------------------
{
  "error": {
    "code": "OperationNotAllowed",
    "message": "Creating an image with snapshot source that has CPU Architecture 'Arm64' is not supported. Please select a source resource with a supported CPU Architecture: 'x64'."
  }
}

        imageClient, err := armcompute.NewImagesClient("subscriptionId", creds, nil)
	poller, err := imageClient.BeginCreateOrUpdate(ctx,
		rg,
		imageName,
		armcompute.Image{
			Location: lo.ToPtr("West Europe"),
			Properties: &armcompute.ImageProperties{
				HyperVGeneration: lo.ToPtr(armcompute.HyperVGenerationTypesV2),
				StorageProfile: &armcompute.ImageStorageProfile{
					OSDisk: &armcompute.ImageOSDisk{
						OSState:            lo.ToPtr(armcompute.OperatingSystemStateTypesGeneralized),
						OSType:             lo.ToPtr(armcompute.OperatingSystemTypesLinux),
						StorageAccountType: lo.ToPtr(armcompute.StorageAccountTypesPremiumLRS),
						Snapshot: &armcompute.SubResource{
							ID: snapshot.ID,
						},
					},
				},
			},
		},
		nil)

@Narunas-K Thanks for reaching out to us and reporting this issue. We are looking into this issue and we will provide an update.

@navba-MSFT  thank you! Do you know if it is planned to support ARM64 architecture for managed images at all? Or managed images will be deprecated as a feature in Azure?

/unresolve

@Narunas-K Did you get a chance to look at the above comment ? Could you please let us know if you have any follow-up questions on this ?

@navba-MSFT  sorry for confusion, I got all information that I needed. Thank you for your help. Resolving the question.


Common file names will save features to the same file

Currently, it is assumed that all user-specified files have distinct file names. However, it leads to unwanted behavior if a user extracts files from multiple folders, e.g.
dataset/
  dog/
    000.mp4
  cat/
    000.mp4

On a side note, it would be lovely to keep the folder structure, if any, during the save. Plus, model_name and feature_type should be a part of the path.
<output_path>/feature_type/(model_name/)<path_relative_to(os.common_path(list_of_paths))>.

I think video_paths's behavior is normal because we are dealing with independent videos but not a dataset or a directory in this case.
I agree that it would be lovely to keep the folder structure, but this feature may correspond to a new parameter (e.g., video_dir or video_dataset).

Yes, it is. The problem was with the saving of the extracted features as they collide with other user-specified files if they are from different folders but have the same file name.
I agree that we may need a new parameter if a user wants to specify a folder, like a dataset.


TableParser parsing data incorrectly

ps-node version: "0.1.6"
table-parser version: "0.1.3"
I've been running a node process for a while now without problems that uses ps-node every few minutes. But I also run a few other CPU intensive processes on the machine.
One day it stopped working, maybe due to PIDs, used memory, or total CPU time getting too high. I didn't step through TableParser to find where it goes wrong. I've supplied some code here with my output (with some process names and arguments redacted) that will recreate the problem.
Maybe it's time to switch from Unix ps to using something like:
https://www.npmjs.com/package/procps
// Output copied from calling console.log() within ps-node/index.js's parseGrid function
var psoutput = `F   UID   PID  PPID PRI  NI    VSZ   RSS WCHAN  STAT TTY        TIME COMMAND
4  1000  3002     1  20   0  45248     0 ep_pol Ss   ?          0:00 /lib/systemd/systemd --user
5  1000  3006  3002  20   0 163688     4 -      S    ?          0:00 (sd-pam)
0  1000  3101     1  20   0 9657524 6355656 poll_s Sl ?       1440:57 mysqld --datadir /aa/aa/aa
0  1000  3178     1  20   0<PHONE_NUMBER>92 hrtime Sl  ?        11234:03 ./aa -aa /aa/aa/aa/aa.aa -aa /aa/aa/aa/aa/aa/aa/aa -aa /aa/aa/aa/aa/aa/bb/bb.bb.bb.bb -t 4 -bb /cc/cc/cc/cc/cc/cc/cc.cc -cc /a/a/a/a/a/a/a.a
0  1000  3198     1  20   0 639312     0 hrtime Sl   ?          3:54 ./h -d /a/a/a -p 3
0  1000  9215     1  20   0 1879292 95352 ep_pol Sl  ?         47:06 node ./d/d
0  1000 12547     1  20   0 1931424 21016 ep_pol Sl  ?          0:14 node app.js --prod
0  1000 17244     1  20   0 1450676 190724 ep_pol Sl ?        226:10 node app.js --prod
1  1000 17789     1  20   0  79940 44376 -      S    ?         17:43 tor --runasdaemon 1
5  1000 21352 21325  20   0 113860  1236 -      S    ?          0:01 sshd: user@pts/8
0  1000 21353 21352  20   0  22676  3804 wait_w Ss+  pts/8      0:00 -bash
5  1000 21675 21647  20   0 113868  1232 -      S    ?          0:00 sshd: user@pts/9
0  1000 21676 21675  20   0  22788  4748 wait   Ss   pts/9      0:00 -bash
0  1000 21973 21676  20   0<PHONE_NUMBER>6 ep_pol Sl+  pts/9      0:00 node
0  1000 21987 21973  20   0  28916  1500 -      R+   pts/9      0:00 ps lx`;
// Try parsing and view the output
var TableParser = require('table-parser');
var garbledTable = TableParser.parse(psoutput);
console.log(garbledTable);

An option I've found is to modify psargs as passed to ps-node to get the correct output:
// Find running tor process
ps.lookup({ command: 'tor', psargs: 'awwxo pid,comm,args,ppid', }, (err, resultList) => {
console.log(err, resultList);
});
However, for some of the processes, the first argument is the process name itself. This isn't a problem for me, but it might be for some users.

@falconscript thanks for reporting, I will take a look later!

According the current table-parser's algorithm:
 1, define the edge ( begin and end ) of every title field
 2, parse all the lines except the title line, get all the connected-domains
 3, group all the connected-domains vertically overlapped.
 4, a domain group belongs to a title field if they vertically overlapped
 5, calculate all the edge info through the group domain and title field relations.

So the problem caused by this overlapping:

hmm.. very annoying, I might have to improve the algorithm, but might not be soon, any suggestion will be appreciated.

I'm more surprised that the table can be split consistently at all. I wouldn't expect whitespace splitting to work for many cases.
I mentioned above that changing your default arguments sent to ps from 'lx' to 'awwxo pid,comm,args,ppid' specifies the desired fields and their order, since ps doesn't use them all anyway.
This works fine for me, and probably would work overall, but should get a little testing on Mac/Linux variants.

The awwxo suggestion truncates the command name on centos 7. -ef worked well for me in my test.


Change bundle version label to com.redhat.openshift.versions

lgtm.
btw, CVP refers to https://docs.engineering.redhat.com/display/CFC/Source

Codecov Report

:exclamation: No coverage uploaded for pull request base (master@5efdb86). Click here to learn what that means.
The diff coverage is n/a.

@@            Coverage Diff            @@
##             master     #238   +/-   ##
=========================================
  Coverage          ?   25.74%
=========================================
  Files             ?       26
  Lines             ?     5698
  Branches          ?     1131
=========================================
  Hits              ?     1467
  Misses            ?     4183
  Partials          ?       48

Impacted Files
Coverage Δ

doozerlib/olm/bundle.py
0.00% <ø> (ø)

doozerlib/cli/__main__.py
0.00% <0.00%> (ø)

doozerlib/assertion.py
100.00% <0.00%> (ø)

doozerlib/runtime.py
27.22% <0.00%> (ø)

doozerlib/pushd.py
95.65% <0.00%> (ø)

doozerlib/gitdata.py
18.51% <0.00%> (ø)

doozerlib/distgit.py
31.78% <0.00%> (ø)

doozerlib/image.py
17.75% <0.00%> (ø)

doozerlib/__init__.py
62.50% <0.00%> (ø)

doozerlib/config.py
0.00% <0.00%> (ø)

... and 17 more

Continue to review full report at Codecov.

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

@thiagoalessio @shawn-hurley
Could this MR be merged? It would be good to remove unnecessary failures in CVP testing.


Remove chart for analog polls with a majority & fix random TypeError

It seems like a lot was reformatted by npm run cleanup. Is this an error on my part? What is the preffered way to clean up client code nowadays? (@tsiegleauq @FinnStutzenstein)

Changes are in motion-poll-detail-content.component.html, base-poll-detail.component.ts and view-base-poll.ts (if I didn't miss anything)

npm run cleanup was still the way to go.


⚠ AGEG website (prod) has degraded performance

In 00ab7bf, AGEG website (prod) (https://www.ageg.ca/) experienced degraded performance:

HTTP code: 200
Response time: 1813 ms

Resolved: AGEG website (prod) performance has improved in a380d71.


crypto/des: invalid key size 64

crypto/des: invalid key size 64
Key length 64 bit how to encrypt through des?

DES requires keysize = 8 and tripleDES requires keysize  = 24. Every other key size will raise a KeySizeError.
Plese note that the Go project does not use its bug tracker for general discussion or asking questions about the language. The Github bug tracker is only used for tracking bugs and proposals going through the Proposal Process.
Please see the Questions wiki page; it has a list of good places for asking questions. Thanks!
Closing, since this is not a bug.


PropertyEscape Inconsistency?

Hello!
I noticed that when you for example do <player.item_in_hand> it returns the i@ with many of the problematic characters escaped but if the item name contains spaces, they aren't escaped as &sp. For my script I'd really need it to consistently return a string with spaces escaped too. Do I have any way to have the <player.item_in_hand> return the exact same information but the space characters would be replaced with &sp?
Some examples how it would look like <player.item_in_hand.replace[ ]with[&sp]> or <player.item_in_hand.escape_spaces>
Best Regards
OldQuestMan

Thank you for your quick response!
Unfortunately<EMAIL_ADDRESS>].with[&sp]>
doesn't seem to work, since the space cuts it in half and makes it return
<EMAIL_ADDRESS>Escaping it with<EMAIL_ADDRESS>leaves the space characters untouched again.
Any more ideas?
2018-02-26 19:34 GMT+02:00 mcmonkey4eva<EMAIL_ADDRESS>
... Er, though, also, you might want<EMAIL_ADDRESS>].with[&sp]> to remove the object notation (if it sees the i@ some code
may immediately regenerate the object to its standardized form, undoing the
replacement)
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/DenizenScript/Denizen-For-Bukkit/issues/1730#issuecomment-368583173,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AiBOTJPSJ55Q5ZGrjfc0sHIOji9xLOFqks5tYus3gaJpZM4STmhB
.

First: Please visit the github issues page, do not reply by email. I hate that github option as it causes way more issues that it solves lol.
Second: quotes. Just put " on either side of the argument to automatically consider spaces a part of the full argument, rather than a separator thereof.

Adding quotes around the <> helped! Thanks a bunch! Adding that "after[i@]" didnt seem to be necessary for it to work. This can be closed now.


prange working with numpy?

Reporting a bug

[x ] I am using the latest released version of Numba (most recent is visible in
the change log (https://github.com/numba/numba/blob/master/CHANGE_LOG).
[ x] I have included below a minimal working reproducer (if you are unsure how
to write one see http://matthewrocklin.com/blog/work/2018/02/28/minimal-bug-reports).

from numba import njit, prange

@njit(parallel=True)
def f(arr):
    out = 0.0
    for i in prange(100):
        out += np.sum(arr[i:(i + 2)])
        # but following line is ok!
        out += 1

if __name__ == "__main__":
    import numpy as np
    arr = np.random.randn(10000)
    f(arr)

numba.core.errors.LoweringError: Failed in nopython mode pipeline (step: nopython mode backend)
Failed in nopython mode pipeline (step: nopython mode backend)
LLVM IR parsing error
<string>:499:18: error: invalid cast opcode for cast from 'i64' to 'double'
  %".408" = sext i64 %".406" to double
                 ^

File "test.py", line 6:
def f(arr):
    <source elided>
    out = 0.0
    for i in prange(100):
    ^

[1] During: lowering "id=1[LoopNest(index_variable = parfor_index.40, range = (0, $const10.1, 1))]{18: <ir.Block at test.py (6)>}Var(parfor_index.40, test.py:6)" at test.py (6)

>>> numba.__version__
'0.49.0dev0+995.gd0c7923c5'

bug confirmed

Issue debugged.  Working on fix.


Mysql glitch with ST_Within() =1

Mysql has a glitch that if ST_Within() = 1  no indexes will be used while just ST_Within() works fine.
https://bugs.mysql.com/bug.php?id=76384
However on DQL createQuery query if you use only "WHERE ST_Within( l.point, $areaToSearch )" it will return:
Notice: Trying to access array offset on value of type null
at vendor/doctrine/orm/lib/Doctrine/ORM/Query/Parser.php:2536
Is there an way to allow the DQL parameter to not have an equal parameter from the extension?

duplicate https://github.com/creof/doctrine2-spatial/issues/178


Link on Architecture Overview not works

Describe the bug
A clear and concise description of what the bug is.
To Reproduce
Steps to reproduce the behavior:

Go to readMe file
Click on 'Here' from Architecture Overview section
See error

Expected behavior
Link should work as expected

done!!


How to read ODocument using clusterNames

Hi,
Our orient version - 2.2.20
Java version - jdk1.8.0_121
We are trying to create many cluster names for a single OClass. Using some logic we split our data and put it into different cluster names. (i.e) We have a OClass(table) name Test, we physically create many cluster names say 5 (test-1, test-2, test-3, test-4, test-5). Each cluster can have n number of rows(ODocument or ORecord) and columns where some column must be indexed. It may be unique or non - unique.
Now what we need is to get a ODocument from cluster 4 (i.e test-4). In Java API, is there any method available so that i can use to get ODocument  from required cluster specifying the OClass???

@rbaarathinms cluterId is already encoded in document rid. So if I got you correctly there is nothing to do from your side to fetch the document from the specific cluster by rid.

@rbaarathinms did I answer your question? Can we close issue?

We found some advantages while reading from orient database using cluster. In orientdb manual, they mentioned that suppose a class Customer relies on two cluster namely USA Customer(default cluster name) and Chinese Customer(containing all chinese customer). From the manual - (If you know the location of a customer you're looking for you can query the target cluster directly. This avoids scanning the other clusters and optimizes the query). Likewise I want to retrieve the data from orient using specific cluster name. Now tell me how can I proceed?? I want a method through Java API. Is there any method available..?
Refer the link below in case of doubt -- http://orientdb.com/docs/2.0/orientdb.wiki/Tutorial-Clusters.html

@rbaarathinms what would like to do? Do you want to execute SQL query? Your intention unclear for me ))

Without any cluster usage, We were using OIndex of particular class like given below
ODocument getDoc(String className, String fieldName, String valueOfKey)
{
      String indexName = className + "." + fieldName;
      OIndex index = database.getMetadata().getIndexManager().getIndex(indexName);
      ORecordId rid = index.get(valueOfKey);
      return rid.getRecord()
}

Now, we are doing our side code changes to store the documents in the individual clusters.
So, if we use the above code (without any cluster names), to retrieve the document from the index, will it be fast?? Or, is there any other method with which we can retrieve a document by giving its clusername?
By seeing the OrientDB documentation, we understood that if we dont supply clustername while reading the document, it will scan all clusters... We want to avoid scanning scanning of all clusters because we know the clustername for each key.
is it clear?

@adithyank code which you provided will work with the same speed with one or several clusters because it never does cluster scan, it fetches single record from exact position of the exact cluster. So no scan by single or multiple clusters is needed.

Super. This issue can be closed. Thanks @laa


InternalError on Instrumentation.retransformClasses() of certain classes

On certain classes, espacially of the Spring framework, the JVM throwns an internal error when trying to retransform a class.
java.lang.InternalError: null
        at sun.instrument.InstrumentationImpl.retransformClasses0(Native Method)
        at sun.instrument.InstrumentationImpl.retransformClasses(InstrumentationImpl.java:144)
        at rocks.inspectit.ocelot.core.instrumentation.InstrumentationTriggerer.checkClassesForConfigurationUpdates(InstrumentationTriggerer.java:157)
        at rocks.inspectit.ocelot.core.service.BatchJobExecutorService.lambda$startJob$0(BatchJobExecutorService.java:126)
        at rocks.inspectit.ocelot.core.service.BatchJobExecutorService$BatchJob.lambda$new$0(BatchJobExecutorService.java:83)
        at rocks.inspectit.ocelot.core.instrumentation.correlation.log.LogTraceCorrelatorImpl.lambda$wrap$1(LogTraceCorrelatorImpl.java:64)
        at io.grpc.Context$1.run(Context.java:595)
        at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511)
        at java.util.concurrent.FutureTask.run(FutureTask.java:266)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$201(ScheduledThreadPoolExecutor.java:180)
        at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:293)
        at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
        at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
        at java.lang.Thread.run(Thread.java:747)

In this case, a retransformation of the following class is causing the error: 'org.springframework.scheduling.concurrent.ThreadPoolTaskScheduler'

There is a similar problem on the OpenJDK bug tracker which is also related to retransforming Spring classes: JDK-8220783 - InternalError on Instrumentation.retransformClasses()
The problem could be that the JVM throws a NoClassDefFoundError during link time.
This may be the case that some Spring classes are tried to be retransformed which are available but not used which dependencies are missing. But in that case, the classes should not be loaded in the first place.

It seems like in certain environments (Java 1.8.0_252) this issue can also occure when old "actions" are redefined into new actions.

This problem can also occure when retransforming the class org.quartz.ee.jta.JTAJobRunShell using Java 1.8.0_242

This error can occure when classes are being lazy loaded by the JVM. In this case, when the agent tries to redefine a class it is internally using ByteBuddy to looking up existing methods and fields of that class. This is done so that method matchers can be used to target specific methods for instrumentation. The problem is that this lookup is using reflection which triggers the JVM to eagerly load the target class, leading to the problem that its dependencies are also resolved. In case these dependencies are not existing - because its a "optional dependency" - a NoClassDefFoundError will be thrown, leading to the log message shown in the ticket.


Sebrianne steps1 4 v2

Hi Pandi, thank you for reviewing my code. I have made the changes you requested and I would appreciate it if you could let me know if there is anything else I need to change.
Thank you!
Sebrianne

#4


Magnet/Rocket does not show for other players

Seems to be working actually. Closing for now. Likely it's a more specific edge case that could be causing this. But not something that I'm really concerned about the basic game.


Failed to connect to Pusher on LAN

Everything is working fine when using the package on a local machine, but it doesn't work over LAN. I'm really lost and tried multiple times to get it working. The connection to the websocket is OK, but the messages simple aren't broadcast:
[2020-10-19 08:00:12] local.ERROR: Failed to connect to Pusher. {"exception":"[object] (Illuminate\\Broadcasting\\BroadcastException(code: 0): Failed to connect to Pusher. at /srv/http/web/api/vendor/laravel/framework/src/Illuminate/Broadcasting/Broadcasters/PusherBroadcaster.php:121)
[stacktrace]
#0 /srv/http/web/api/vendor/laravel/framework/src/Illuminate/Broadcasting/BroadcastEvent.php(64): Illuminate\\Broadcasting\\Broadcasters\\PusherBroadcaster->broadcast()
#1 [internal function]: Illuminate\\Broadcasting\\BroadcastEvent->handle()

// config/broadcasting.php
       'pusher' => [
            'driver' => 'pusher',
            'key' => env('PUSHER_APP_KEY'),
            'secret' => env('PUSHER_APP_SECRET'),
            'app_id' => env('PUSHER_APP_ID'),
            'options' => [
                'cluster' => env('PUSHER_APP_CLUSTER'),
                'encrypted' => true,
                'host' => '<IP_ADDRESS>',
                'port' => 6001,
                'scheme' => 'https',
            ],
            'curl_options' => [
                CURLOPT_SSL_VERIFYHOST => 0,
                CURLOPT_SSL_VERIFYPEER => 0,
            ],
        ],

// .env
LARAVEL_WEBSOCKETS_SSL_LOCAL_CERT=/etc/nginx/ssl/cert.pem
LARAVEL_WEBSOCKETS_SSL_LOCAL_PK=/etc/nginx/ssl/key.pem

BROADCAST_DRIVER=pusher

PUSHER_APP_ID=testapp
PUSHER_APP_KEY=websocketkey
PUSHER_APP_SECRET=somethingsecret
PUSHER_APP_CLUSTER=mt1

MIX_PUSHER_APP_KEY="${PUSHER_APP_KEY}"
MIX_PUSHER_APP_CLUSTER="${PUSHER_APP_CLUSTER}"

// nginx proxy site
server {
  listen 443 ssl http2;
  listen [::]:443 ssl http2;
  server_name socket.example.internal;

  # ssl
  ssl_certificate ssl/cert.pem;
  ssl_certificate_key ssl/key.pem;

  # root
  location / {
    proxy_pass https://<IP_ADDRESS>:6001;
    proxy_read_timeout 60;
    proxy_connect_timeout 60;
    proxy_redirect off;

    # Allow the use of websockets
    proxy_http_version 1.1;
    proxy_set_header Upgrade $http_upgrade;
    proxy_set_header Connection 'upgrade';
    proxy_set_header Host $host;
    proxy_cache_bypass $http_upgrade;
  }
}

// echo (Laravel Sanctum)
Vue.prototype.$echo = new Echo({
    broadcaster: 'pusher',
    key: process.env.WS_KEY,
    cluster: process.env.WS_CLUSTER,
    wsHost: process.env.WS_HOST,
    wsPort: process.env.WS_PORT,
    wssPort: process.env.WS_PORT,
    disableStats: true,
    forceTLS: true,
    enabledTransports: ['ws', 'wss'],
    authEndpoint: process.env.API_URL + '/broadcasting/auth',
    auth: {
      headers: {
        Authorization: null
      }
    },
    authorizer: (channel, options) => {
      return {
        authorize: (socketId, callback) => {
          axiosInstance.post('/broadcasting/auth', {
            socket_id: socketId,
            channel_name: channel.name
          })
            .then(response => {
              callback(false, response.data) // eslint-disable-line
            })
            .catch(error => {
              callback(true, error) // eslint-disable-line
            })
        }
      }
    }
  })

// .env
WS_HOST=socket.example.internal
WS_PORT=6001
WS_CLUSTER=mt1
WS_KEY=websocketkey

Fixed:
'options' => [
        'cluster' => env('PUSHER_APP_CLUSTER'),
        'host' => '<IP_ADDRESS>',
        'port' => 6001,
        'scheme' => 'https',
        'curl_options' => [
            CURLOPT_SSL_VERIFYHOST => 0,
            CURLOPT_SSL_VERIFYPEER => 0,
        ]
    ],

Should had been set in options.


Separate package

Q
A

Is bugfix?
❌

New feature?
❌

Breaks BC?
✔

Tests pass?
✔

Fixed issues
#12

 Move concrete RBAC storage implementations to dedicated packages

👍


Context filter caching issue

Description
As it's documented in https://entityframework-plus.net/query-filter#context-filter, this kind of filters run into caching issued if the Set method is called. We have a huge project going on and unfortunately, we have tons of legacy code calling our DbContext.Set methods directly. It'd be very time consuming to fix this. Is there any plan in future versions to solve the context filters caching issue? Another alternative could be to provide a global switch to completely disable caching.

Hello @jrgoeblk ,
At this moment, there is no plan for this feature for EF6. However, for EF Core maybe something could be done.
Let us know which version of Entity Framework you are using.
Best Regards,
Jonathan

Performance Libraries
context.BulkInsert(list, options => options.BatchSize = 1000);
Entity Framework Extensions • Entity Framework Classic • Bulk Operations •  Dapper Plus
Runtime Evaluation
Eval.Execute("x + y", new {x = 1, y = 2}); // return 3
C# Eval Function • SQL Eval Function


Upping the tolerance from 1e-3 to 2e-3 for some fp16 unit tests

Starting with ROCm3.5, (a few subtests within) some unit-tests seem to require a slightly higher tolerance (2e-3 instead of 1e-3) when comparing results for the fp16 dtype. This commit updates those unit-tests to use the higher tolerance level to get them passing.
/cc @ekuznetsov139

Can one of the admins verify this patch?


Failed to intsall powershell 5.1

Just download the ps5.1 from https://www.microsoft.com/en-us/download/details.aspx?id=54616
but when I start to run Win7AndW2K8R2-KB3191566-x64 I get

my os is Windows 7 Ultimate.

Make sure your system of Windows 7 has been upgraded to Windows 7 SP1, then follow the guide. Try PowerShell 6 if you cannot upgrade your Microsoft PowerShell.

I do not want to upgrad os to sp1, it is too slow, do you mean I can install powershell 6 without upgrad os?

Microsoft PowerShell 5 requires Windows 7 SP1, I can't help you if you do not satisfy the prerequisites. You may download PowerShell 6 from https://github.com/PowerShell/PowerShell/releases and try to install and use it.

What does this have to do with scoop??


Generalize flycheck to arbitrary commands

bors r+
🤖

bors r+

We don't dynamically decide on Cargo.toml ourselves yet, we always use just
the first Cargo.toml there is. For minimizing the work, the user should use
the CargoCommand option, the purpose of CustomCommand is just to be
able to tweak anything, so optimizing user experience for it is not a
priority.
That said, long term we probably should support various $PROJECT
$CARGO_TOML $FILE placeholders in similar places...
On Wed, 1 Apr 2020 at 13:19, Bastian Köcher<EMAIL_ADDRESS>wrote:

@bkchr commented on this pull request.
In crates/ra_flycheck/src/lib.rs
https://github.com/rust-analyzer/rust-analyzer/pull/3804#discussion_r401540513
:

   args.extend(self.options.args.iter().cloned());

   let mut cmd = match &self.config {

       FlycheckConfig::CargoCommand { command, all_targets, extra_args } => {

           let mut cmd = Command::new(cargo_binary());

           cmd.arg(command);

           cmd.args(&["--workspace", "--message-format=json", "--manifest-path"]);

           cmd.arg(self.workspace_root.join("Cargo.toml"));

           if *all_targets {

               cmd.arg("--all-targets");

           }

           cmd.args(extra_args);

           cmd

       }

       FlycheckConfig::CustomCommand { command, args } => {

           let mut cmd = Command::new(command);

           cmd.args(args);

This would require some dynamic configuration, while the other way would
support having a static configuration. It would be solvable, but I think it
requires more work for the user than doing it here.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/rust-analyzer/rust-analyzer/pull/3804#discussion_r401540513,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AANB3M35EZTTZGGT5BJ6S7TRKMPN7ANCNFSM4LYYRZBA
.


Refactors ARNotificationManager to implicitly call all JS methods on main queue

This is a follow up from this discussion. It's been on my TODO list for months and I finally did it.

Fails

:no_entry_sign:

This PR includes changes to the Emission Pod's native code but does not have a package.json
change for the update to the "native-code-version". If this is fine, add #native_no_changes to your PR message.

  Generated by :no_entry_sign: dangerJS


IO-782 sequence reader should close readers when its close method is called

Pull request to fix https://issues.apache.org/jira/browse/IO-782

Codecov Report

Merging #391 (17f7689) into master (c1d9f7f) will decrease coverage by 0.09%.
The diff coverage is 71.42%.

@@             Coverage Diff              @@
##             master     #391      +/-   ##
============================================
- Coverage     86.18%   86.08%   -0.10%
+ Complexity     3214     3213       -1
============================================
  Files           215      215
  Lines          7490     7503      +13
  Branches        906      908       +2
============================================
+ Hits           6455     6459       +4
- Misses          791      797       +6
- Partials        244      247       +3

Impacted Files
Coverage Δ

...va/org/apache/commons/io/input/SequenceReader.java
89.36% <71.42%> (-7.70%)
:arrow_down:

.../apache/commons/io/input/ReadAheadInputStream.java
68.53% <0.00%> (-3.38%)
:arrow_down:

.../main/java/org/apache/commons/io/input/Tailer.java
86.06% <0.00%> (+0.49%)
:arrow_up:

:mega: We’re building smart automated test selection to slash your CI/CD build times. Learn more

I checked for example BufferedReader and it does close the Reader passed in the constructor.
Moreover even the old java.io.SequenceInputStream closes its InputStreams.

@digiovinazzo
Thank you for the clarification, this PR seems to make sense then :-)

The issue is now resolved in git master by making the implementation closer to what SequenceInputStream does. Please verify your use case and close. TY!

Closing per my previous comment and no feedback in 4 days.

I was offline last week, @garydgregory thanks for taking care of this!


Add integration test for calling overloaded contract functions

Adds an integration test for https://github.com/graphprotocol/support/issues/48.
Depends on graph test (https://github.com/graphprotocol/graph-cli/pull/414).

This test will not succeed until graph test and overloaded contract functions support have been merged into graph-cli and graph-ts.


Small cleanup to hist tree method.

Remove special optimization using number of bins.
Remove 1-based index for column sampling.
Remove data layout.
Unify update prediction cache.

The data layout is used only for root initialization. As for the logic of choosing the smallest number of bins, I replaced it by using the first feature.  Lastly, for the 1 based feature sampling, I don't think it's used in practice, or at least we will have to add proper tests and usage examples before the code is rotten.
No performance change in this PR.


auto-TTL rotates the wrong way and murders pedestrians!

Describe the problem

I created the timed traffic above using CTRL+CLICK.
In each step the green traffic light is lit on the same segment for pedestrian's and cars. Pedestrian timed traffic light should be set to default mode to turn on green traffic light for pedestrians to the right.

The pedestrian lights ARE automatic, the problem is that the direction TTL is rotating is wrong.
I think i might have messed it up when I tried to add Left Hand traffic support.

The fact that the rotation of TTL is wrong is pretty serious and severely reduces the effectiveness.
can we push this to stable?

I think rather than push to stable, we push to LABS 11.1.1-hotfix2, and then that will get pushed to stable in, say, a week if no major issues reported?

Does associated PR also fix either #690 and/or #622?

duplicates #690.
I don't know about #622 . I explain in the issue.

@aubergine10 based on the images in #622 its not auto-TTL . so this is unrelated.


No chests in desert temples/Blacksmith houses

Latest TC and Spigot. If a new world is generated, this doesn't seem to happen. Do the .dat files in the data/ folder have anything to do with this?

Oddly enough this seems to only be a problem for certain desert temples, since I found one with chests. I have tried completely removing the region file containing one without chests, and upon regenerating it, it still didn't have any chests in it. On another note, a player has told me that they found a blacksmith chest but that when they right clicked it it disappeared.


Version comparison does not conform to semver spec for prerelease tags.

The semver spec from http://semver.org/ states the following under section 11 of the spec with respect to how version precedence should be computed.
1.0.0-alpha < 1.0.0-alpha.1 < 1.0.0-alpha.beta < 1.0.0-beta < 1.0.0-beta.2 < 1.0.0-beta.11 < 1.0.0-rc.1 < 1.0.0

This library fails on some of these comparisons.
In [6]: pairs = (
 ('1.0.0-alpha', '1.0.0-alpha.1'),
 ('1.0.0-alpha.1', '1.0.0-alpha.beta'),
 ('1.0.0-alpha.beta', '1.0.0-beta'),
 ('1.0.0-beta', '1.0.0-beta.2'),
 ('1.0.0-beta.2', '1.0.0-beta.11'),
 ('1.0.0-beta.11', '1.0.0-rc.1'),
 ('1.0.0-rc.1', '1.0.0'))

In [7]: for a, b in pairs:
   ...:     print("Checking {0} < {1} =>".format(a, b), semver.cmp(a, b) == -1)
   ...:
Checking 1.0.0-alpha < 1.0.0-alpha.1 => True
Checking 1.0.0-alpha.1 < 1.0.0-alpha.beta => True
Checking 1.0.0-alpha.beta < 1.0.0-beta => True
Checking 1.0.0-beta < 1.0.0-beta.2 => True
Checking 1.0.0-beta.2 < 1.0.0-beta.11 => False
Checking 1.0.0-beta.11 < 1.0.0-rc.1 => True
Checking 1.0.0-rc.1 < 1.0.0 => False

Specifically, 1.0.0-beta.2 < 1.0.0-beta.11 and 1.0.0-rc.1 < 1.0.0 do not resolve to the correct comparison.

@pipermerriam thanks for catching that! Would you care enough to make a PR adding tests and a fix? Thank you!

Happy to. Will get something in on Monday.
On Sun, Jan 15, 2017, 8:19 AM Kostiantyn Rybnikov<EMAIL_ADDRESS>wrote:

@pipermerriam https://github.com/pipermerriam thanks for catching that!
Would you care enough to make a PR adding tests and a fix? Thank you!
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/k-bx/python-semver/issues/45#issuecomment-272701642,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAyTgvz0s7No4EkwkiKxj0LLw5SAy7p_ks5rSjj1gaJpZM4Lh_ht
.


I Need Intereact Like Cursor in Stackblitz

Local code interaction with Claude
Chat with Claude in Stackblitz

Code History in Bolt (You know the code will be delete all in this version sometime because the context limit of claude.)


How to add new languages?

Hello,
I'd like to know on how to add new intent and entities for Indonesian language?
where do I start, and how I use this framework to a good result.
Thank you in advance.

There is no Indonesian language support now.


Pdf2pic typings and readme exemple

Hello,
I use Pdf2pic and just upgraded the package but there is one thing I don't understand :
So while I use to do :
  pdf2pic.convertToBase64(filename).then( img => ...

Now if I understand it has changed to :
fromPath(filePath, options).convert(1, true).then( img => ...

But I get the following typescript error :
Property 'convert' does not exist on type 'Convert'

So according to the typing file I should do :
fromPath(filePath, options)(1, true).then( img => ...

Can you confirm this ?
Thanks for the work by the way.

Same question here!!!

@hadrien-f
Going through the docs again, I think the Typings are the correct, and the documentation is a little bit outdated.
If you look at the first part of the docs,
import { fromPath } from "pdf2pic";

const options = {
  density: 100,
  saveFilename: "untitled",
  savePath: "./images",
  format: "png",
  width: 600,
  height: 600
};
const storeAsImage = fromPath("/path/to/pdf/sample.pdf", options);
const pageToConvertAsImage = 1;

storeAsImage(pageToConvertAsImage).then((resolve) => {
  console.log("Page 1 is now converted as image");

  return resolve;
});

This is how it's supposed to be used.
The .convert() function is now part of the variable you assign fromBuffer/fromPath to. In this case, is storeAsImage is used as a function and will work the same as calling .convert.

#94 I tried to update the readme then

merged #94 https://github.com/yakovmeister/pdf2image/pull/94


Deployment in Device Update for IoT Hub is Failed with NETX DUO 6.4.1

I encountered a Device Update failure issue with NETX DUO 6.4.1. I used NXP MCUXpresso SDK on i.MX RT MCU and updated the RTOS version to 6.4.1.
My test environment is:
MCU SDK: NXP MCUXpresso SDK 2.5.0
toolchian: Arm GNU Toolchian 12.3.Rel1 20230626
board: MIMXRT1060 EVKC
Eclips ThreadX: Version 6.4.1
project: azure_iot_embedded_sdk_adu (boards/evkcmimxrt1060/azure_rtos_examples/azure_iot_embedded_sdk_adu)
When testing the Device Update example project (azure_iot_embedded_sdk_adu), the original project works well. But, after upgrading RTOS to the version 6.4.1, deploying new image failed. I have created a device in IoT hub and uploaded a new binary image and manifest file to Azure IoT hub, and created a new update successfully. When deploying the new update to device in Azure IoT hub, it showed the deployment is undergoing, but the device can not receive the update information and there is no deployment information in the device twin.
In addition, I found the difference of agent information in the device twin. The original one is:
"agent": {
          "compatPropertyNames": "manufacturer,model",
          "deviceProperties":
          {
               "interfaceId": "dtmi:azure:iot:deviceUpdate;1",
               "manufacturer": "NXP",
               "model": "MIMXRT1xxx"
          }
}

The version 6.4.1 is:
"agent": {
          "compatPropertyNames": "manufacturer,model",
          "deviceProperties":
          {
                "aduVer": "AzureRTOS;agent/6.4.1",
                "contractModelId": "dtmi:azure:iot:deviceUpdateContractModel;2",
                "manufacturer": "NXP",
                "model": "MIMXRT1xxx"
           }
}

Could you help me fix the problem?

Hi @chenhui-zhao Thanks for asking.  ADU agent initial release is 6.2.0. The interfaceId has been updated to contractModelId in 6.2.1 for ADU Service GA.
On ADU service side, both interfaceId and contractModelId are supported, user need to make sure that the sample uses the corresponding mode id with the source file, for example: using contractModelId for “dtmi:azure:iot:deviceUpdateModel;2” in 6.2.1 and later (refer to the sample and dtdl file thermostat-4.json), and using interfaceId for “dtmi:azure:iot:deviceUpdateModel;1” in 6.2.0 (check the sample and dtdl fle thermostat-3.json).
contractModelId as 'dtmi:azure:iot:deviceUpdateContractModel;2'
interfaceId as 'dtmi:azure:iot:deviceUpdateContractModel;1'

In your case, using 6.4.1, you only need to update the correct pnp model id (contractModelId  for 'dtmi:azure:iot:deviceUpdateContractModel;2') in the sample, refer to this sample.
FYI: same GitHub issue here: [ADU not functional after removing 'interfaceId' device properties · Issue #208

Hi @bo-ms  Thank you for the quick support. I have resolved it by the following steps:

Change the PNP model ID to

#define SAMPLE_PNP_MODEL_ID           "dtmi:com:example:Thermostat;4"

Change deviceManufacturer and deviceModel to manufacturer and model in the update manifest file as below:

    "compatibility": [
      {
        "manufacturer": "NXP",
        "model": "MIMXRT1xxx"
      }

Hi @chenhui-zhao Good to know you resolved the issue.


Missing token capitalization after update to new token validator

in DialPadUtil.js when we call forceUpdateSyncDoc there is another instance of "token" that needs to be capitalized I believe.
Line 206 in /src/utilities/DialPadUtil.js

Thanks for the call out, issue fixed


RPI

Summary
Why can't we use this on a raspberry pi?
Motivation
I only own a raspberry pi, and atom is what I see all the pros using, so I want to use it.
Describe alternatives you've considered
Not a single one.
Additional context
No additional context. Please get working on ARM.

Thanks for taking the time to contribute!
We noticed that this is a duplicate of #15881. You may want to subscribe there for updates.
Because we treat our issues list as the Atom team's backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guide.

If you guys respond, I'm new to GitHub, so I didn't know how to do nothing.
If possible, I would like you to make it possible to run Atom on raspberry
pi's.
On Mon, Dec 16, 2019, 11:05 AM Landon Abney<EMAIL_ADDRESS>wrote:

Closed #20244 https://github.com/atom/atom/issues/20244.
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/atom/atom/issues/20244?email_source=notifications&email_token=AN7D4BFEDRGIYWRUTDQWPPDQY67NBA5CNFSM4J3DBGO2YY3PNVWWK3TUL52HS4DFWZEXG43VMVCXMZLOORHG65DJMZUWGYLUNFXW5KTDN5WW2ZLOORPWSZGOVQJS2JQ#event-2886937894,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AN7D4BGSC5B72O4ZEVUCAVDQY67NBANCNFSM4J3DBGOQ
.

@ender-music I'm creating a fork for the Raspberry Pi. I can tell you when it's finished.

Unsubscribe me please
To You From Mee With Love & Kisses
& Please be patient with me I will be betterSoon 4 My Babies xxxx
On 16 Dec 2019, at 18:07, Landon Abney <notifications<EMAIL_ADDRESS>wrote:
Thanks for taking the time to contribute!
We noticed that this is a duplicate of #15881https://github.com/atom/atom/issues/15881. You may want to subscribe there for updates.
Because we treat our issues list as the Atom team's backloghttps://en.wikipedia.org/wiki/Scrum_(software_development)#Product_backlog, we close duplicates to focus our work and not have to touch the same chunk of code for the same reason multiple times. This is also why we may mark something as duplicate that isn't an exact duplicate but is closely related.
For information on how to use GitHub's search feature to find out if something is a duplicate before filing, see the How Can I Contribute? section of the Atom CONTRIBUTING guidehttps://github.com/atom/atom/blob/master/CONTRIBUTING.md#how-can-i-contribute.
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/atom/atom/issues/20244?email_source=notifications&email_token=ANCGDGASMQUCKG2RB6CSIZ3QY67UVA5CNFSM4J3DBGO2YY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOEG7SEJA#issuecomment-566174244, or unsubscribehttps://github.com/notifications/unsubscribe-auth/ANCGDGF56NLLO24ZKYBITLTQY67UVANCNFSM4J3DBGOQ.


Unexpected events when clicking on label

downshift version: 2.0.0 or 1.31.15
node version: 10.0.0
npm (or yarn) version: yarn 1.6.0
config does not matter, it works the same way on codesandbox

What you did:
I added checkbox with label in each row of select dropdown and clicked on label
What happened:
autocomplete_click_item triggers twice,
autocomplete_blur_button triggers once and closes dropdown, which is prevented in state reducer
What I was expecting:
I was expecting no difference when clicking on input or label
Reproduction code:
Just take official multiple-autocomplete example (https://codesandbox.io/s/W6gyJ30kn) and add label with htmlFor attribute and input into items loop (code here: https://codesandbox.io/s/xrw1j807rz)
Problem description:
Clicking on label toggles item twice - on and off again and closes dropdown.
Suggested solution:
No suggested solution, I am not sure what is happening here. It looks trivial and probably is not library bug, but I will appreciate explanation what is happening and why clicking on label is not working.

I tried it on example You provide, few other and two of my own, it works the same way, label with htmlFor change the behavior.

I was able to work around the issue by adding onClick={e => e.preventDefault()} to the label.

Closing this due to inactivity. Please open a new issue if anyone has more findings.


[UI] Convert remaining data fetching operations to use react-query

Most of the fetching logic for the Execution details and Task Execution Details pages was converted to use react-query instead of our custom fetching hook. While it's not hurting anything to continue using the old fetching logic for other parts of the application, maintaining two different patterns creates confusion and more cognitive load for contributors. This task tracks the complete deprecation and removal of useFetchableData in favor of react-query.
Flyte component

[ ] Overall
[ ] Flyte Setup and Installation scripts
[ ] Flyte Documentation
[ ] Flyte communication (slack/email etc)
[ ] FlytePropeller
[ ] FlyteIDL (Flyte specification language)
[ ] Flytekit (Python SDK)
[ ] FlyteAdmin (Control Plane service)
[ ] FlytePlugins
[ ] DataCatalog
[ ] FlyteStdlib (common libraries)
[x] FlyteConsole (UI)
[ ] Other

@schottra Welcome back my friend.  What version of Flyte console are you guys running these days?

@georgesnelling sorry for the false alarm. I'm not working on anything Flyte-related. I was attempting to unsubscribe from any issues in the repo as I was getting emails about them 😅

Sorry, me moving tasks should make a lot of noise for you 😇

Ha ha, very funny!  Best of luck in whatever you are doing Randy.  I hope
you are having a good time...
-g
On Fri, Apr 29, 2022 at 9:52 AM Nastya @.***> wrote:

@georgesnelling https://github.com/georgesnelling sorry for the false
alarm. I'm not working on anything Flyte-related. I was attempting to
unsubscribe from any issues in the repo as I was getting emails about them
😅
Sorry, me moving tasks should make a lot of noise for you 😇
—
Reply to this email directly, view it on GitHub
https://github.com/flyteorg/flyteconsole/issues/441#issuecomment-1113522718,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AADC72DMXCWV5WQIC3JQTOLVHQHTXANCNFSM5UUE546A
.
You are receiving this because you were mentioned.Message ID:
@.***>


[Keyvault] operation resume token fix

Adding ResumeDeleteKey and ResumeRecoverDeletedKey operations to generate a deleteKeyOperation and recoverKeyOperation from a resumeToken.
This PR fixes the previously broken implementation of GetResumeToken form the KeyVault Keys LROs based on : https://github.com/Azure/azure-sdk-for-cpp/issues/2007

@heaths How does .NET enable resuming a DeleteKeyOperation LRO? I don't see a ctor overload that takes a resumetoken/id on it or an overload of StartDeleteKey

Deleting and restoring resources aren't true LROs and take seconds, not minutes or even days like StartCreateCertificate. They are pseudo-LROs waiting for a deleted key to show up under /deletedkeys (or /deletesecrets, etc.) or a recovered key to show up under /keys. There's not really much reason to support reconstitution.

There's not really much reason to support reconstitution.

Looks like this is an uncommon use case (more so than the general resumable LRO pattern). That is more of a reason to not add APIs like ResumeDeleteKey to the surface of the KeyClient type to keep that type simple, since we don't expect folks to call them.


Fixed out-of-range memory accesses

Accessing memory out of range, such as during a game restart, can fill the lua console with error messages and slow down the frame rate.
To avoid this I added a check of the address in advance before reading the memory.

Okay, I'll do it.

I Added boundary checks to Memory:write* and Memory:getByteRange*.
They also do nothing or return 0 for meaningless addresses. Do you prefer other error handles?


RHEL AI / InstructLab CPT support

Type of change

[ ] Refactor
[x] New feature
[ ] Bug fix
[ ] Optimization
[ ] Documentation Update

Description
Support CPT needs for the RHEL AI / InstructLab performance team.
This PR adds three components:

A "Crucible" service to help project code interpret Crucible CDM data
An "ilab" project providing APIs built on top of the Crucible service to discover InstructLab runs and provide configuration data and metrics.
An "ilab" UI tab building on top of the API to discover and display InstructLab performance runs.

The crucible_svc is intended to be "reasonably general purpose" to support use by additional projects over time.
Related Tickets & Documents
Various Jira stories under Epic PANDA-496.
Checklist before requesting a review

[x] I have performed a self-review of my code.
[ ] If it is a core feature, I have added thorough tests.

Testing
InstructLab CPT is using a persistent Crucible controller system in RDU3, tied to a 4-way L40S test system. The data store (a private OpenSearch instance) contains a set of Crucible runs capturing both training and SDG runs.

I'll split this up along functional lines. That'll be a bit neater after #118 is resolved, as it factors out the Python dependency changes.


DRILL-5990: Drill should not startup with JRE sourced java executable

Currently, the check for the Java compiler is made only during query execution.
This commit ensures that if the java executable used for instantiating the Drillbit is from a JRE (i.e. the Java compiler is not available), the Drillbit will fail with the exception reported in the logs:
Exception in thread "main" org.apache.drill.exec.exception.DrillbitStartupException: JDK Java compiler not available. Ensure Drill is running with the java executable from a JDK and not a JRE
        at org.apache.drill.exec.server.Drillbit.<init>(Drillbit.java:138)
        at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:409)
        at org.apache.drill.exec.server.Drillbit.start(Drillbit.java:389)
        at org.apache.drill.exec.server.Drillbit.main(Drillbit.java:385)

@parthchandra  / @Ben-Zvi  can you quickly review this?
I've tested this by switching the JAVA_HOME env to point to a JRE installation; and also by unsetting the same variable, while having the default java executable point to $JRE_HOME/bin/java exec


RSDK-906: Upload test result and coverage data into a MDB backend.

The goutils repository can currently output code coverage data into a file that is slurped into a Github PR comment. This patch moves that code into test executaion rather than being contained as a github action. That change will result in an additional coverage file, code-coverage-results.md (gitignored) to be created in the goutils repo root when running make cover.

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.You have signed the CLA already but the status is still pending? Let us recheck it.


Upgrade Chalkdust

upgrade the chalkdust widget and system to react with the cloud

The Chalkdust system

A developer adds the ChangeRequest widget to a website
A user interacts with the component generating a web requests to the Send Email Service API
The Send Email Service would choose email addresses and a message template and send an email
The email contained a link to the Chalkdust viewer that would zoom to the point where the person created the issue and display the message

Possible solutions

modernize the parts of the system, deploy to the cloud, and continue as we are.
use the arcgis platform with an editable feature service published in a web map, using web hooks to notify people.
some combination of the two?

Modernization Opportunities

The (ChangeRequest) widget was built with dojo and would make a good custom react hook using render props.
The send email service could become a cloud function

The Chalkdust system

A developer adds the ChangeRequest widget to a website
A user interacts with the component generating a web requests to the Send Email Service API
The Send Email Service would choose email addresses and a message template and send an email
The email contained a link to the Chalkdust viewer that would zoom to the point where the person created the issue and display the message

Possible solutions

modernize the parts of the system, deploy to the cloud, and continue as we are.
use the arcgis platform with an editable feature service published in a web map, using web hooks to notify people.
some combination of the two?

Modernization Opportunities

The (ChangeRequest) widget was built with dojo and would make a good custom react hook using render props.
The send email service could become a cloud function

tracked as a discussion in darwin https://github.com/agrc/darwin/discussions/6


[SPARK-39833][SQL] Fix a rare correctness issue with count() in the case of overlapping partition and data columns in Parquet DSv1

What changes were proposed in this pull request?

This PR fixes a correctness issue in Parquet DSv1 FileFormat that would result in count() and show() reporting different results, for example, show() would return 1+ records where the count() would return 0.
For instance, a table like the one below would show such behaviour.
root/
  col0=0/
    part-0001.parquet (schema: COL0, 1 record {"COL0": 0})

When data schema (projection) overlaps with partition columns, the output schema (requiredSchema) becomes empty (assuming case-insensitive analysis but one could come up with a test where it is broken even with case-sensitive one).
In Parquet, when the predicate is provided and column index is enabled, we would try to filter row ranges to figure out what the count should be. Unfortunately, there is an issue that if the projection is empty, any checks on columns would fail and 0 rows are returned (RowRanges.EMPTY) even though there is data matching the filter.
This case is rare and only happens when doing count on a DataFrame that results in empty projection (most of the cases would include the filtered column which would work) but it is still good to fix.
Note that this is rather a mitigation, a quick fix. The actual fix needs to go into Parquet-MR: https://issues.apache.org/jira/browse/PARQUET-2170.
The fix is not required in DSv2 where the overlapping columns are removed in FileScanBuilder::readDataSchema().
Why are the changes needed?

Fixes a rare correctness issue when running count on a filtered Parquet DataFrame when using Parquet DSv1.
Downsides: Parquet column filter would be disabled for scenarios when the schema is empty. This is a rare case and in this situation, one probably would not need to leverage column index anyway, this is the case for count.
Does this PR introduce any user-facing change?

No.
How was this patch tested?

I added a unit test that reproduces this behaviour. The test fails without the fix and passes with the fix.

@sadikovi in the example you gave:
root/
  col0=0/
    part-0001.parquet (schema: COL0)

what's the content in part-0001.parquet? I wonder why we need to pushdown partition filters to Parquet, given that we'll not materialize the partition values in the Parquet files. What is the pushed filters to Parquet in this example?

Can one of the admins verify this patch?

The content is just one column with one value. You would still want to filter out row groups that don't much the predicate otherwise it could be a performance regression. The filters are evaluated in the example, see https://issues.apache.org/jira/browse/PARQUET-2170.

To be honest, I am still thinking about the best way to mitigate the problem at the moment.

@cloud-fan Can you review? This change modifies a test that was added in SPARK-22356 that you authored. Thanks.

@sunchao @cloud-fan Would you be able to take another look?
I have kept the original "patch". It is essentially a band aid until the Parquet ticket is fixed. I cannot think of a better and less intrusive way to fix the problem. Let me know if you have any questions about it, I will be happy to clarify. Thanks.

Not exactly, the filter actually references columns that exist in the file. It is the projection that matters in the code apparently.
Here is what they have in the javadoc:
   * @param paths
   *          the paths of the columns used in the actual projection; a column not being part of the projection will be
   *          handled as containing {@code null} values only even if the column has values written in the file

https://github.com/apache/parquet-mr/blob/0819356a9dafd2ca07c5eab68e2bffeddc3bd3d9/parquet-column/src/main/java/org/apache/parquet/internal/filter2/columnindex/ColumnIndexFilter.java#L80)
I am not very familiar with the implementation but I think the library should be returning all rows instead of empty rows.

@sadikovi which spark version starts to have this bug?

Oh, this was originally implemented in PARQUET-1201 which is parquet-mr 1.11.0. Again, this is a rare case maybe we don't do anything about it or merge in master only.
I don't know if there is a better way to fix the problem other than fixing it in parquet-mr.

Apologies, I did not have time to debug this yet. I will do that tomorrow.

I decided to disable column index altogether until I have a better fix or parquet bug is fixed. I also moved tests to ParquetQueryV1 as one of the tests fails in DSv2 due to another bug in projection.
@cloud-fan @sunchao Can you review this PR?
I just think adding a check on required schema and column filters could be error-prone especially when nested fields are involved. It seems to me it is easier to disable column index by default which can still be enabled manually by users.
I am also open to other suggestions.

I suggest we merge the PR with this fix and I will follow up on a more permanent resolution, maybe fix it in Parquet-mr. I am also thinking that we may need to backport it to 3.3 although this would be up to committers.

I think it's fine to disable it temporarily, but I'd prefer a fix in Spark itself though so that we can backport it to 3.3 without relying on a Parquet release and bumping the version there. I can also take a look on the approach of checking filters against required schema.
Could you open a JIRA tracking the permanent fix in Spark, and mark it as blocker for 3.4.0 release?

I will take a look on how to fix it in Spark, I have not had enough time to work on this problem yet.
I would like to mention that the fix should be merged into 3.3 and 3.4 and potentially earlier releases where the bug occurs as it is a correctness issue, it is also unclear if it partition columns related at this point, it could be potentially reproducible with a simple predicate pushdown and projection.

@sunchao Can you help me to find a workaround in Spark for this? Thanks.

@sadikovi yes, I can also take a look at this next week. I'm fine either way: what do you think @cloud-fan @HyukjinKwon , should we merge this PR as it is (via disabling column index) first, and work on a fix separately?

Yeah, let's just get this in first.

Merged to master, branch-3.3, and branch-3.2.

Thank you for merging the PR. I have opened the follow-up ticket https://issues.apache.org/jira/browse/SPARK-40169 to fix this properly. I will sync with @sunchao separately on this, I am sure we will be able to come up with a proper way to fix it!


Added Support for Climate - Tornado MASTER-12A PLUS

This commit adds support for Tornado MASTER-12A PLUS
This took me very long to do, so I hope I saved some time for other people 😅

Oop?


cannot unmarshal number into Go struct field BOM.items.report.components.specVersion of type string

What steps did you take and what happened:
Hi, I installed trivy-operator v0.15.1 using ArgoCD with Helm Chart, but the pod logs keep showing errors.
W0728 07:48:38.558459       1 reflector.go:533] pkg/mod/k8s.io/client-go@v0.27.4/tools/cache/reflector.go:231: failed to list *v1alpha1.SbomReport: json: cannot unmarshal number into Go struct field BOM.items.report.components.specVersion of type string
E0728 07:48:38.558503       1 reflector.go:148] pkg/mod/k8s.io/client-go@v0.27.4/tools/cache/reflector.go:231: Failed to watch *v1alpha1.SbomReport: failed to list *v1alpha1.SbomReport: json: cannot unmarshal number into Go struct field BOM.items.report.components.specVersion of type string
W0728 07:48:39.889253       1 reflector.go:533] pkg/mod/k8s.io/client-go@v0.27.4/tools/cache/reflector.go:231: failed to list *v1alpha1.SbomReport: json: cannot unmarshal number into Go struct field BOM.items.report.components.specVersion of type string
E0728 07:48:39.889278       1 reflector.go:148] pkg/mod/k8s.io/client-go@v0.27.4/tools/cache/reflector.go:231: Failed to watch *v1alpha1.SbomReport: failed to list *v1alpha1.SbomReport: json: cannot unmarshal number into Go struct field BOM.items.report.components.specVersion of type string
W0728 07:48:42.106401       1 reflector.go:533] pkg/mod/k8s.io/client-go@v0.27.4/tools/cache/reflector.go:231: failed to list *v1alpha1.SbomReport: json: cannot unmarshal number into Go struct field BOM.items.report.components.specVersion of type string
E0728 07:48:42.106425       1 reflector.go:148] pkg/mod/k8s.io/client-go@v0.27.4/tools/cache/reflector.go:231: Failed to watch *v1alpha1.SbomReport: failed to list *v1alpha1.SbomReport: json: cannot unmarshal number into Go struct field BOM.items.report.components.specVersion of type string
W0728 07:48:46.872030       1 reflector.go:533] pkg/mod/k8s.io/client-go@v0.27.4/tools/cache/reflector.go:231: failed to list *v1alpha1.SbomReport: json: cannot unmarshal number into Go struct field BOM.items.report.components.specVersion of type string
E0728 07:48:46.872052       1 reflector.go:148] pkg/mod/k8s.io/client-go@v0.27.4/tools/cache/reflector.go:231: Failed to watch *v1alpha1.SbomReport: failed to list *v1alpha1.SbomReport: json: cannot unmarshal number into Go struct field BOM.items.report.components.specVersion of type string
W0728 07:48:54.726100       1 reflector.go:533] pkg/mod/k8s.io/client-go@v0.27.4/tools/cache/reflector.go:231: failed to list *v1alpha1.SbomReport: json: cannot unmarshal number into Go struct field BOM.items.report.components.specVersion of type string
E0728 07:48:54.726138       1 reflector.go:148] pkg/mod/k8s.io/client-go@v0.27.4/tools/cache/reflector.go:231: Failed to watch *v1alpha1.SbomReport: failed to list *v1alpha1.SbomReport: json: cannot unmarshal number into Go struct field BOM.items.report.components.specVersion of type string

The following is the pod log before the restart:
{"level":"error","ts":"2023-07-28T07:50:38Z","msg":"error received after stop sequence was engaged","error":"failed to wait for cronjob caches to sync: timed out waiting for cache to be synced for Kind *v1.CronJob","stacktrace":"sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).engageStopProcedure.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/manager/internal.go:555"}
{"level":"error","ts":"2023-07-28T07:50:38Z","msg":"error received after stop sequence was engaged","error":"failed to wait for daemonset caches to sync: timed out waiting for cache to be synced for Kind *v1.DaemonSet","stacktrace":"sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).engageStopProcedure.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/manager/internal.go:555"}
{"level":"error","ts":"2023-07-28T07:50:38Z","msg":"error received after stop sequence was engaged","error":"failed to wait for configmap caches to sync: timed out waiting for cache to be synced for Kind *v1.ConfigMap","stacktrace":"sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).engageStopProcedure.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/manager/internal.go:555"}
{"level":"error","ts":"2023-07-28T07:50:38Z","msg":"error received after stop sequence was engaged","error":"failed to wait for configmap caches to sync: timed out waiting for cache to be synced for Kind *v1.ConfigMap","stacktrace":"sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).engageStopProcedure.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/manager/internal.go:555"}
{"level":"error","ts":"2023-07-28T07:50:38Z","msg":"error received after stop sequence was engaged","error":"failed to wait for configmap caches to sync: timed out waiting for cache to be synced for Kind *v1.ConfigMap","stacktrace":"sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).engageStopProcedure.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/manager/internal.go:555"}
{"level":"error","ts":"2023-07-28T07:50:38Z","msg":"error received after stop sequence was engaged","error":"failed to wait for rolebinding caches to sync: timed out waiting for cache to be synced for Kind *v1.RoleBinding","stacktrace":"sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).engageStopProcedure.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/manager/internal.go:555"}
{"level":"error","ts":"2023-07-28T07:50:38Z","msg":"error received after stop sequence was engaged","error":"failed to wait for statefulset caches to sync: timed out waiting for cache to be synced for Kind *v1.StatefulSet","stacktrace":"sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).engageStopProcedure.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/manager/internal.go:555"}
{"level":"error","ts":"2023-07-28T07:50:38Z","msg":"error received after stop sequence was engaged","error":"failed to wait for job caches to sync: timed out waiting for cache to be synced for Kind *v1.Job","stacktrace":"sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).engageStopProcedure.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/manager/internal.go:555"}
{"level":"error","ts":"2023-07-28T07:50:38Z","msg":"error received after stop sequence was engaged","error":"failed to wait for exposedsecretreport caches to sync: timed out waiting for cache to be synced for Kind *v1alpha1.ExposedSecretReport","stacktrace":"sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).engageStopProcedure.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/manager/internal.go:555"}
{"level":"error","ts":"2023-07-28T07:50:38Z","msg":"error received after stop sequence was engaged","error":"failed to wait for role caches to sync: timed out waiting for cache to be synced for Kind *v1.Role","stacktrace":"sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).engageStopProcedure.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/manager/internal.go:555"}
{"level":"error","ts":"2023-07-28T07:50:38Z","msg":"error received after stop sequence was engaged","error":"failed to wait for configmap caches to sync: timed out waiting for cache to be synced for Kind *v1.ConfigMap","stacktrace":"sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).engageStopProcedure.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/manager/internal.go:555"}
{"level":"error","ts":"2023-07-28T07:50:38Z","msg":"error received after stop sequence was engaged","error":"failed to wait for configmap caches to sync: timed out waiting for cache to be synced for Kind *v1.ConfigMap","stacktrace":"sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).engageStopProcedure.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/manager/internal.go:555"}
{"level":"error","ts":"2023-07-28T07:50:38Z","msg":"error received after stop sequence was engaged","error":"failed to wait for replicaset caches to sync: timed out waiting for cache to be synced for Kind *v1.ReplicaSet","stacktrace":"sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).engageStopProcedure.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/manager/internal.go:555"}
{"level":"error","ts":"2023-07-28T07:50:38Z","msg":"error received after stop sequence was engaged","error":"failed to wait for job caches to sync: timed out waiting for cache to be synced for Kind *v1.Job","stacktrace":"sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).engageStopProcedure.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/manager/internal.go:555"}
{"level":"error","ts":"2023-07-28T07:50:38Z","msg":"error received after stop sequence was engaged","error":"failed to wait for configauditreport caches to sync: timed out waiting for cache to be synced for Kind *v1alpha1.ConfigAuditReport","stacktrace":"sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).engageStopProcedure.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/manager/internal.go:555"}
{"level":"error","ts":"2023-07-28T07:50:38Z","msg":"error received after stop sequence was engaged","error":"failed to wait for configmap caches to sync: timed out waiting for cache to be synced for Kind *v1.ConfigMap","stacktrace":"sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).engageStopProcedure.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/manager/internal.go:555"}
{"level":"error","ts":"2023-07-28T07:50:38Z","msg":"error received after stop sequence was engaged","error":"failed to wait for resourcequota caches to sync: timed out waiting for cache to be synced for Kind *v1.ResourceQuota","stacktrace":"sigs.k8s.io/controller-runtime/pkg/manager.(*controllerManager).engageStopProcedure.func1\n\t/home/runner/go/pkg/mod/sigs.k8s.io/controller-runtime@v0.15.0/pkg/manager/internal.go:555"}
{"level":"info","ts":"2023-07-28T07:50:38Z","msg":"Stopping and waiting for caches"}
{"level":"info","ts":"2023-07-28T07:50:38Z","msg":"Stopping and waiting for webhooks"}
{"level":"info","ts":"2023-07-28T07:50:38Z","msg":"Wait completed, proceeding to shutdown the manager"}
unable to run trivy operator: starting controllers manager: failed to wait for clustercompliancereport caches to sync: timed out waiting for cache to be synced for Kind *v1alpha1.ClusterComplianceReport

What did you expect to happen:
Anything else you would like to add:
PARAMETERS:

Environment:

Trivy-Operator version (use trivy-operator version): 0.15.1
Kubernetes version (use kubectl version): 1.27.1
OS (macOS 10.15, Windows 10, Ubuntu 19.10 etc): Ubuntu 20.04.6 LTS

@win5923 the have you upgraded the som crd from v0.15.0 to v0.15.1 ?
the one of the sbom crd  type has been changed on version v0.15.1.
can you please run :
helm uninstall trivy-operator -n  trivy-system

delete all crds :
kubectl delete crd vulnerabilityreports.aquasecurity.github.io
kubectl delete crd exposedsecretreports.aquasecurity.github.io
kubectl delete crd configauditreports.aquasecurity.github.io
kubectl delete crd clusterconfigauditreports.aquasecurity.github.io
kubectl delete crd rbacassessmentreports.aquasecurity.github.io
kubectl delete crd infraassessmentreports.aquasecurity.github.io
kubectl delete crd clusterrbacassessmentreports.aquasecurity.github.io
kubectl delete crd clustercompliancereports.aquasecurity.github.io
kubectl delete crd clusterinfraassessmentreports.aquasecurity.github.io
kubectl delete crd clusterconfigauditreports.aquasecurity.github.io
kubectl delete crd sbomreports.aquasecurity.github.io

install again trivy-operator v0.15.1 via helm

I solved the problem by deleting all the reports.
Thanks!

We're running into the same problem, on lots of our, and our customers', clusters
The CRDs were of course updated from 0.15.0 to 0.15.1, but somehow the fields were not migrated?

@cwrau follow these steps :https://github.com/aquasecurity/trivy-operator/issues/1398#issuecomment-1657246672

Uff, so completely manual? I was hoping for a good solution 😅

@cdenneen @cwrau I'll add support for pre-hook / post hook to prevent such breaking changes in future

We are still running into this. Are the hooks still planned?

We are still running into this. Are the hooks still planned?