Issue setting up data for training

Hi @ericup!
I would like to compliment first of all your repo, nicely done !
It's been a week now that I found out about your repo and been trying to load my cell library images. I've been using your "Cell Detection with Contour Proposal Networks" Notebook as a reference, plus the two other notebook in the demos folder.
The images I have are from dsb2018 and i have two folders of train and test images of 256x256 with no metadata folder and inside both folders are two other folders, images and masks, having respectively the tiff images and masks. How would you proceed?
If you have any idea or approach i'll be glad to hear from you.
Whilst I wait for your response,
Leonardo

Hi Leonardo,
Thank you very much!
The data structure sounds a little different from what you would get from the Broad Institute's website.
But you have probably something like this right?
- train/
-- images/
--- img0.tiff
--- img1.tiff
    ...
-- masks/
--- img0_mask0.tiff
--- img0_mask1.tiff
--- img1_mask0.tiff
--- img1_mask1.tiff
--- img1_mask2.tiff
    ...

If you start with the Cell Detection with Contour Proposal Networks demo Notebook, you should replace these lines:
train_bbbc039 = cd.data.BBBC039Train(conf.directory, download=conf.download_data)
val_bbbc039 = cd.data.BBBC039Val(conf.directory)
test_bbbc039 = cd.data.BBBC039Test(conf.directory)

with some code that loads your data.
Given the structure you described it could look something like this:
import celldetection as cd
from glob import glob
from imageio import imread
from os.path import basename, dirname, join
import numpy as np

class DataFolder:
    def __init__(self, root):
        self.images, self.masks, self.labels = [], [], []
        self.names = glob(join(root, 'images', '*.tiff'))  # find image names
        for img_name in self.names:
            mask_names = glob(join(dirname(dirname(img_name)), 'masks',  # find masks for image
                                   basename(img_name).replace('.tiff', '*.tiff')))
            self.images.append(imread(img_name))  # read image
            masks = np.stack([imread(mask_name) for mask_name in mask_names], 0)  # read masks
            labels = cd.data.unary_masks2labels(masks).max(-1, keepdims=True)  # convert masks to label image
            self.masks.append(masks), self.labels.append(labels)  # append to list

    def __len__(self):
        return len(self.images)

    def __getitem__(self, item):
        return self.names[item], self.images[item], self.masks[item], self.labels[item]

train_dsb2018 = DataFolder('./train')
test_dsb2018 = DataFolder('./test')
# name, img, masks, labels = train_dsb2018[0]

This example reads all your data from the train or test folder and converts the masks for each image to label images.
Note that this code assumes that each mask contains exactly one object, which should be the case for dsb2018.
If you have just one mask with many objects per image you can have a look at cd.data.masks2labels to replace cd.data.unary_masks2labels.
If you are using RGB images you should also change the number of channels in the Config from in_channels=1 to in_channels=3. Apart from that you might want to try different data augmentation and normalization.
I hope this helps and gets you started!
Best regards,
Eric

Thanks for your amazingly fast response !
It did work with your help, my files are .tif, that's the only thing i changed.
I'm having trouble now with the visualization of the data using:
def demo_transforms(img, lbl, name=None):
    img = cd.data.normalize_percentile(img, percentile=99.8)
    lbl = lbl.copy()

    # Show original
    cd.vis.show_detection(img, contours=cd.data.labels2contours(lbl), contour_linestyle='-')
    if name is not None:
        plt.title(name)
    plt.show()

    # Show transformed
    s = 3
    plt.figure(None, (s * 9, s * 9))
    for i in range(1, s * s + 1):
        plt.subplot(s, s, i)
        trans = transforms(image=img, mask=lbl.astype('int32'))
        t_img, t_lbl = trans['image'], trans['mask']
        cd.data.relabel_(t_lbl)
        plt.title(f'transformed {t_img.dtype.name, t_img.shape, t_lbl.dtype.name, t_lbl.shape}')
        cd.vis.show_detection(t_img, contours=cd.data.labels2contours(t_lbl), contour_linestyle='-')
    plt.show()

And i guess this function from your notebook shouldn’t be changed ?:
class Data:
    def __init__(self, data, config, transforms=None, items=None, size=None):
        self.transforms = transforms
        self.gen = cd.data.CPNTargetGenerator(
            samples=config.samples,
            order=config.order,
            max_bg_dist=config.bg_fg_dists[0],
            min_fg_dist=config.bg_fg_dists[1],
        )
        self._items = items or len(data)
        self.data = data
        self.size = size
        self.channels = config.in_channels

    def __len__(self):
        return self._items

    @staticmethod
    def map(image):
        image = image / 127.5
        image -= 1
        if image.ndim == 2:
            image = image[..., None]
        return image.astype('float32')

    @staticmethod
    def unmap(image):
        image = (image + 1) * 127.5
        image = np.clip(image, 0, 255).astype('uint8')
        if image.ndim == 3 and image.shape[2] == 1:
            image = np.squeeze(image, 2)
        return image

    def __getitem__(self, item):
        if item >= len(self):
            raise IndexError('Index out of bounds.')
        item = item % len(self.data)

        # Get image and labels
        name, img, _, labels = self.data[item]

        # Normalize intensities
        img, labels = np.copy(img).squeeze(), np.copy(labels)
        img = cd.data.normalize_percentile(img, percentile=99.8)
        labels = labels.astype('int32')

        # Optionally crop
        if self.size is not None:
            h, w = self.size
            img, labels = cd.data.random_crop(img, labels, height=h, width=w)

        # Optionally transform
        if self.transforms is not None:
            r = self.transforms(image=img, mask=labels)
            img, labels = r['image'], r['mask']

        # Ensure channels exist
        if labels.ndim == 2:
            labels = labels[..., None]

        # Relabel to ensure that N objects are marked with integers 1..N
        cd.data.relabel_(labels)

        # Feed labels to target generator
        gen = self.gen
        gen.feed(labels=labels)

        # Map image to range -1..1
        image = self.map(img)

        # Return as dictionary
        return OrderedDict({
            'inputs': image,
            'labels': gen.reduced_labels,
            'fourier': (gen.fourier.astype('float32'),),
            'locations': (gen.locations.astype('float32'),),
            'sampled_contours': (gen.sampled_contours.astype('float32'),),
            'sampling': (gen.sampling.astype('float32'),),
            'targets': labels
        })

I went ahead to see appart from the visualization, if the model would train, and now it's in the process of doing so, i'll see if the results are coherent.
Thanks again
Leonardo

The transformation works fine, i couldn't display the transformed images though but I won't focus on that anymore,
Indeed, i saved the model the regular torch way. Is there a way i can change the default Fourier Descriptor in the config file or anywhere else to test it in a range(6,18,4)?
Thanks a lot for all the help you provided!

Changing the order setting in the Config should be sufficient. During test time of a trained model you can also change model.order to a smaller setting. The model then just omits part of the descriptor and outputs results according to the given order.
If you want to try different configs you might find this helpful.

Thanks for all the tips again and great work !


[WIP] Vulkan: Use of hard-coded MSAA value (e.g. in mesh preview) causes GPU hangs

Godot version
Godot Engine v4.0.dev.20211015.official.f113dc986 (and earlier)
System information
Linux, Elementary OS 5.1, Intel(R) HD Graphics 4400 (HSW GT2), Vulkan API 1.2.182
Issue description
Summary:
Viewing a Mesh resource (seemingly of any subtype but most recently tested with BoxMesh) in the inspector results in a GPU hang.
Details:

Initially the GPU hang issue was observed to occur when opening/editing a MeshInstance3D that contained a mesh (or when creating one) but the specific cause was narrowed down to the rendering of the preview.
(This means that if the "Node" tab is top-most--rather than the "Inspector" tab--it is possible to avoid the variant of the hang that prevents a newly created mesh from being saved when first created.)

It also turns out the underlying issue was the reason why selecting a MSAA setting of 2X (Viewport::MSAA_2X) for the project settings also led to a GPU hang.

My impression is that this specific issue may be GPU/driver specific however I have not isolated the lowest level of bug detail yet to be able to confirm this.
Specific cause of hang
The hang occurs as a result of this code:
https://github.com/godotengine/godot/blob/468b987aa38b21b55c1cd8a8d4c03b8e1b2a1373/editor/plugins/mesh_editor_plugin.cpp#L113
When running under gdb, if the line is skipped (resulting in a default MSAA value of Viewport::MSAA_DISABLED) or the value is patched (to be the value of Viewport::MSAA_DISABLED) then the GPU hang does not occur.
(see also: https://github.com/godotengine/godot/blob/58aa020a19162becc9a00fed8a240eb12b0ab964/scene/main/viewport.h#L103-L110)
Note: The issue does not occur for the Material Editor, presumably because it uses a value of Viewport::MSAA_4X (which for whatever reason doesn't appear to be affected):
https://github.com/godotengine/godot/blob/468b987aa38b21b55c1cd8a8d4c03b8e1b2a1373/editor/plugins/material_editor_plugin.cpp#L119
Vulkan Validation output
When run with Vulkan validation layers enabled the output (in part) includes the message:
ERROR: VALIDATION - Message Id Number:<PHONE_NUMBER> | Message Id Name: VUID-VkImageCreateInfo-samples-02258
        Validation Error: [ VUID-VkImageCreateInfo-samples-02258 ] Object 0: handle = 0xabcee50, type = VK_OBJECT_TYPE_DEVICE; | MessageID = 0x5fccc613 |vkCreateImage(): samples VK_SAMPLE_COUNT_2_BIT is not supported by format 0x0000000D. The Vulkan spec states: samples must be a bit value that is set in imageCreateSampleCounts (as defined in Image Creation Limits) (https://vulkan.lunarg.com/doc/view/<IP_ADDRESS>/linux/1.2-extensions/vkspec.html#VUID-VkImageCreateInfo-samples-02258)
        Objects - 1
                Object[0] - VK_OBJECT_TYPE_DEVICE, Handle 180153936
   at: _debug_messenger_callback (drivers/vulkan/vulkan_context.cpp:157)

Note particularly the portion which reads samples VK_SAMPLE_COUNT_2_BIT is not supported by format 0x0000000D.
That said, the format 0x0000000D does look a bit suspicious to me because AFAICT it doesn't actually match with a valid format value--which, based on some debugging I've performed, makes me wonder if something unexpected is happening at some point as the parameters are being processed.
Additional code context
The initial call to Viewport::set_msaa() ends up here:
https://github.com/godotengine/godot/blob/56078cca90402c2ea49252216b96f53fc649d4ec/scene/main/viewport.cpp#L2777-L2784
Which then eventually seems to find its way to RendererViewport::viewport_set_msaa() here:
https://github.com/godotengine/godot/blob/58aa020a19162becc9a00fed8a240eb12b0ab964/servers/rendering/renderer_viewport.cpp#L939-L948
(See also:

https://github.com/godotengine/godot/blob/58aa020a19162becc9a00fed8a240eb12b0ab964/servers/rendering_server.h#L825-L833
https://github.com/godotengine/godot/blob/53426bdc7195a3b4b9c1d0425d0ad5543ef3769a/servers/rendering_server.cpp#L2188
https://github.com/godotengine/godot/blob/58aa020a19162becc9a00fed8a240eb12b0ab964/servers/rendering/rendering_server_default.h#L566
https://github.com/godotengine/godot/blob/58aa020a19162becc9a00fed8a240eb12b0ab964/servers/rendering/renderer_viewport.h#L244
)

Which then heads to RendererViewport::_configure_3d_render_buffers() here:
https://github.com/godotengine/godot/blob/58aa020a19162becc9a00fed8a240eb12b0ab964/servers/rendering/renderer_viewport.cpp#L74-L94
[TODO: Add additional details.]
Steps to reproduce
[TODO]
Minimal reproduction project
[TODO]

The result of running Godot Engine v4.0.dev.custom_build.181d9337c with test project
vulk-msaa-issue-repro--002.zip*:

* The project actually has MSAA 4X selected in the project settings but I turned that off for this screenshot.
So, #54606 does appear to successfully work around the specific issue related to the mesh preview, as the GPU did not hang and the preview can be seen.

Note that the issue about MSAA support not being checked before being applied is now tracked in https://github.com/godotengine/godot/issues/56233.


VBR

Hello, are VBR files supported now?

Dead project?

they seem to be working fine in general.  but there are still some minot decoding issues on certain files, although this issue does not seem specifc to VBR


Open PDP should automatically minimize

Opening a deeplink from the fullscreen player currently has no effect because the "MainActivity" is paused.
The player should automatically minimize the player before opening a PDP, so that the navigation can happen.
It can be done manually but since we don't have access to internals, we have to wait/delay the navigation call to make sure the player is in the correct state and the Activity is already resumed.

Thank you for your feedback. Not all of our SDK users wish to navigate after opening a PDP so we can not make this the default behavior. As you suggested, manually minimizing the player using LVSPlayer.performAction(LVSPlayerInputAction.Minimize(playerId)) would be recommended.
What issues are you facing when attempting to manually handle this? We have noted a problem when entering PiP using API 33+, if this is the problem you are experiencing we are aware of the issue and will investigate it further.

Is this still a issue? Can we get more info if help is still needed.


Fix fetch body

fix: Provided fetch function accepts the same object types in the body as the native fetch function
See #9420
Please don't delete this checklist! Before submitting the PR, please make sure you do the following:

[x] It's really useful if your PR references an issue where it is discussed ahead of time. In many cases, features are absent for a reason. For large changes, please create an RFC: https://github.com/sveltejs/rfcs
[x] This message body should clearly illustrate what problems it solves.
[ ] Ideally, include a test that fails without this PR but passes with it.

Tests

[x] Run the tests with pnpm test and lint the project with pnpm lint and pnpm check

Changesets

[x] If your PR makes a change that should be noted in one or more packages' changelogs, generate a changeset by running pnpm changeset and following the prompts. Changesets that add features should be minor and those that fix bugs should be patch. Please prefix changeset messages with feat:, fix:, or chore:.

I'm not sure why it says no changeset found, I generated one and it's in the files changed section.

The changeset needs to be created from the root of the repo. It looks like you initialized another changesets installation within the packages/kit directory.

For posterity: it looks like the reason this is okay is that we just don't serialize fetch responses in the case where request.body exists and isn't a string:
https://github.com/sveltejs/kit/blob/4e106400a20dd3a496cb9aaff0eaa0f5324c452a/packages/kit/src/runtime/server/page/load_data.js#L234

thank you!


Issue #4583 fixed

Issue #4583 fixed.

@rahulshukla-webkul
when we save campaign with saved template and then later inactive that template. In this case, the campaign should not able to send mail with same template.


Remove Python wrapper class initialization procedures

The method of struct initialization recommended by the Python/C API docs is
to use C99 designated initializers, which are very useful but not available
in C++. Instead, I followed this approach:

for structs with sufficiently few attributes, like PyModuleDef, I used a standard initialization approch by providing values for all members (except trailing ones)
for structs with many attributes, like PyTypeObject, I created init_*_members() procedures that would set only the needed members, which are called in the PyInit_fastkmeans() function

However, having seen other extension modules such as those in numpy which simply provide 0 or NULL values for all unused struct members, I'm starting to think that might just be simpler and more maintainable than I'd originally thought.

This should be fixed in #20 but I have not dug enough to determine that. @cur33 please close this if it's fixed.

Yes, this is fixed too. Even though the long lists of NULL values (with the attribute name in comments) still bugs me, I think it's a little cleaner than my previous approach, and it should make it easy to see what attributes could be added in the future, if so desired.


Initial weights and learning rate decay

Hi,
I am looking for some help with understanding the model details.
First of all, I couldn't find any mention of the model's initial weights (including the initial embedding).
Also, it is stated that:

an initial 5e-4 learning rate that was decayed linearly to zero over the course of training.

But I couldn't find what was the decay function exactly.
Any help would be highly appreciated.
Thanks!

Recurrent weights are initialized as random orthogonal matrices and weightnorm is used. Embedding and output weights were inited using normal 0.02 but no weightnorm was used. It isn't particuarly sensitive to these params, compared to the recurrent ones. We trained a second model using orthogonal+weightnorm on the input embedding and noticed no signficant changes, for instance.
A linear decay function to zero can be implemented as
lr*(1-(cur_update/total_updates))


cache attribute and chunks for open files

For not-modified files, we should keep the page cache in kernel, also cache the chunks to speed up read.
For any changes to the data, the mtime of file will be updated in microseconds, so we can check the mtime to know whether the file is changed or not. If not, we will keep the cache for chunks and pages in kernel, otherwise invalidate them.
And, we introduce a new option called OpenCache, which tell the client to don't check the mtime of a file before that, then JuiceFS will not know any change in the past period. So OpenCache should be set based on the change interval of files.
TODO: add command option for OpenCache
Closes #454

May I ask, if I only use juicefs on linux, is it possible to do same thing without the openfile.go? I just need to mount filesystem without setting ExplicitDataCacheControl of MountOptions and always set FOPEN_KEEP_CACHE when I open a file, because linux kernel can invalidates the page cache by detecting the length or the modification time of the file has changed.


Should allow non-zero exit code when generating graph

I have a use case where I'm running madge in CI to check for circular dependencies. I just noticed that if you generate the dependency graph when checking for circular dependencies, madge returns exit code 0 even if there are circular dependencies. Probably because generating the image graph returns exit code 0 when the graph is generated successfully, and 1 if generating the image fails?
Could we add a flag or something to the CLI to make madge optionally exit with non-zero exit code even when generating the graph, if circular dependencies are found?

I have a use case where I'm running madge in CI to check for circular dependencies. I just noticed that if you generate the dependency graph when checking for circular dependencies, madge returns exit code 0 even if there are circular dependencies. Probably because generating the image graph returns exit code 0 when the graph is generated successfully, and 1 if generating the image fails?
Could we add a flag or something to the CLI to make madge optionally exit with non-zero exit code even when generating the graph, if circular dependencies are found?

I'm also happy to contribute and see if I'm able to implement the flag, if this sounds reasonable 🙂

you can do it also yourself
(async () => {
    const deps = await madge("src/main/resources/testframework/api", CONFIG).then((res) => res.circular());
    console.log(`Detected ${deps.length} circular deps.`);
    console.log(util.inspect(deps.map(formatCircularItem)));
    if (deps.length > ALLOWED_CIRCULAR_DEPS) {
        console.error("Detected more circular deps than allowed. Exiting process.");
        process.exit(1);
    }
})();

I'm also happy to contribute and see if I'm able to implement the flag, if this sounds reasonable

It does sound reasonable to me. PRs are welcomed and appreciated


Add ZEN support

This patch adds the following features

ZEN target for static builds
Zen/Ryzen auto-detection (CPU family 15h, extended family 8) so that "make" compiles for Zen
Dynamic architecture support for Zen

Zen is currently heavily based on Haswell (Excavator param.h tuning, Haswell kernels). I've tried to tune OpenBLAS for Zen but started to get incorrect result notifications. This patch does not do any Zen-specific tuning.
If you are interested, here is what I have observed by trying to optimize several parameters from param.h using blind brute-force:

SNUMOPT=8 and DNUMOPT=4 seem to work best (I tested 8/8, 16/8 and 16/16)
GEMM_DEFAULT_ALIGN=0x1fffUL is a couple percent faster than any other alignment value.
SYMV_P=8 is faster than 4 or 16
SWITCH_RATIO=4 works well (any other value decreases performance)
The sgemm and zgemm kernels like having their N and M parameters set to 4 (for both kernels). zlinkpack goes from ~15GFLOP to ~22GFLOP while doing so, but I start to get incorrect results. I have seen that KERNEL.ZEN should be changed when N and M are changed, but I don't know what are the valid combinations.
GEMM_DEFAULT_OFFSET_A=256 and GEMM_DEFAULT_OFFSET_B=1024 was the fastest combination for the zlinpack.goto benchmark
Regarding benchmarks, zlinpack is quite sensitive to the parameters and works best with 8 threads. slinpack really wants only one thread to be used and seems memory-bound: I can do whatever I want with the parameters, performance doesn't change in any meaningful way.

Please note that I have tested all the above values without really knowing what they mean. Some of them may not make any sense.
As a remaining problem, OpenBLAS detects 16 cores while my Ryzen CPU has 8 cores and 16 threads. Manually forcing OMP_NUM_THREADS to 8 leads to quite a nice performance boost as the threads stop competing for cache and memory accesses.
If you want SSH access to a Ryzen 1700 machine (that has a public IP address), we can arrange that.

In the second to last paragraph - is it slower with both threads active or no gain over single thread?
In linux it would be something like
OPENBLAS_NUM_THREADS=1 /usr/bin/time taskset 0x1 (random benchmark)
OPENBLAS_NUM_THREADS=2 /usr/bin/time taskset 0x3 (same benchmark)

Performance depends on the number of threads in quite a complex way. Here are detailed timing results for zlinpack (last row, "200"):
OPENBLAS_NUM_THREADS=1 taskset 0x1 ./zlinpack.goto => 10.4 GFLOPS
OPENBLAS_NUM_THREADS=2 taskset 0x5 ./zlinpack.goto => 11.7 GFLOPS
OPENBLAS_NUM_THREADS=3 taskset 0x15 ./zlinpack.goto => 15.2 GFLOPS
OPENBLAS_NUM_THREADS=4 taskset 0x55 ./zlinpack.goto => 18.8 GFLOPS
OPENBLAS_NUM_THREADS=5 taskset 0x155 ./zlinpack.goto => 19.1 GFLOPS*
OPENBLAS_NUM_THREADS=6 taskset 0x555 ./zlinpack.goto => 19.4 GFLOPS
OPENBLAS_NUM_THREADS=7 taskset 0x1555 ./zlinpack.goto => 18.8 GFLOPS
OPENBLAS_NUM_THREADS=8 taskset 0x5555 ./zlinpack.goto => 18.0 GFLOPS (with high variance)
OPENBLAS_NUM_THREADS=9 taskset 0x5557 ./zlinpack.goto => 12.6 GFLOPS
OPENBLAS_NUM_THREADS=9 ./zlinpack.goto => 12.3 GFLOPS
OPENBLAS_NUM_THREADS=10 taskset 0x555F ./zlinpack.goto => 12.9 GFLOPS*
OPENBLAS_NUM_THREADS=11 taskset 0x557F ./zlinpack.goto => 12.7 GFLOPS
OPENBLAS_NUM_THREADS=16 taskset 0xFFFF ./zlinpack.goto => 10.6 GFLOPS (with high variance)

0.004 GFLOPS for sizes 20 to 150 (exact sizes affected vary from run to run)!! 50% of the CPU time is in inner_advanced_thread when this performance hit occurs. Bad performance happens in the "Decompose" phase of the benchmark.

We see that going above 8 cores starts to use SMT threads and sort of kills performance. Odd number of threads also seems to exhibit strange behavior.
Here are the results for slinpack:
OPENBLAS_NUM_THREADS=1 taskset 0x1 ./slinpack.goto => 13.5 GFLOPS
OPENBLAS_NUM_THREADS=2 taskset 0x5 ./slinpack.goto => 13.7 GFLOPS
OPENBLAS_NUM_THREADS=3 taskset 0x15 ./slinpack.goto => 15.1 GFLOPS
OPENBLAS_NUM_THREADS=4 taskset 0x55 ./slinpack.goto => 16.3 GFLOPS
OPENBLAS_NUM_THREADS=5 taskset 0x155 ./slinpack.goto => 13.2 GFLOPS*
OPENBLAS_NUM_THREADS=6 taskset 0x555 ./slinpack.goto => 12.0 GFLOPS
OPENBLAS_NUM_THREADS=7 taskset 0x1555 ./slinpack.goto => 11.4 GFLOPS
OPENBLAS_NUM_THREADS=8 taskset 0x5555 ./slinpack.goto => 10.5 GFLOPS
OPENBLAS_NUM_THREADS=9 taskset 0x5557 ./slinpack.goto => 7.7 GFLOPS
OPENBLAS_NUM_THREADS=10 ./slinpack.goto => 6.7 GFLOPS
OPENBLAS_NUM_THREADS=16 ./slinpack.goto => 5.6 GFLOPS
Tests run on an AMD Ryzen 7 1700 at stock clock speeds (3.0 Ghz base, 3.2 Ghz all-core boost, I cannot see on Linux whether boost was enabled), on an MSI B350 Tomahawk board with 2x 4GB DDR4 2600 Mhz RAM.

Something like this - 1st hyperthread vs both running for a second or 10, i.e if there is gain or loss in concurrent use of same core (as you see with ivy laptop i3 result is not regression):
>OPENBLAS_NUM_THREADS=1 taskset 0x1 ./slinpack.goto 5000 5000 1
From : 5000  To : 5000 Step =   1
   SIZE       Residual     Decompose            Solve           Total
   5000 :   6.198883e-03    35147.91 MFlops    4225.47 MFlops   34994.34 MFlops
>OPENBLAS_NUM_THREADS=1 taskset 0x2 ./slinpack.goto 5000 5000 1
From : 5000  To : 5000 Step =   1
   SIZE       Residual     Decompose            Solve           Total
   5000 :   4.708052e-03    35225.97 MFlops    4372.92 MFlops   35077.56 MFlops
>OPENBLAS_NUM_THREADS=2 taskset 0x3 ./slinpack.goto 5000 5000 1
From : 5000  To : 5000 Step =   1
   SIZE       Residual     Decompose            Solve           Total
   5000 :   2.069950e-03    40787.35 MFlops    4014.45 MFlops   40564.54 MFlops

Ok, I understand now (I purposefully avoided putting threads on the same SMT cores):

OPENBLAS_NUM_THREADS=1 taskset 0x1 ./slinpack.goto 5000 5000 1
From : 5000  To : 5000 Step =   1
SIZE       Residual     Decompose            Solve           Total
5000 :   4.219890e-03    33108.05 MFlops    6485.93 MFlops   33026.76 MFlops
OPENBLAS_NUM_THREADS=1 taskset 0x2 ./slinpack.goto 5000 5000 1
From : 5000  To : 5000 Step =   1
SIZE       Residual     Decompose            Solve           Total
5000 :   4.902124e-03    32844.99 MFlops    6450.78 MFlops   32764.61 MFlops
OPENBLAS_NUM_THREADS=2 taskset 0x3 ./slinpack.goto 5000 5000 1
From : 5000  To : 5000 Step =   1
SIZE       Residual     Decompose            Solve           Total
5000 :   1.134348e-02    25569.05 MFlops    3279.55 MFlops   25465.27 MFlops

By the way, I'm very impressed by your laptop CPU. Fortunately, I've tested with 8 threads on my Ryzen and I get 195343.00 MFlops, so scaling seems to work well. With all 16 threads used, I get 157717.47 MFlops.

Indeed yours back your point that 2 threads per core is a loss....

Here it is
Machine (7997MB)
  Socket L#0
    L3 L#0 (8192KB)
      L2 L#0 (512KB) + L1d L#0 (32KB) + L1i L#0 (64KB) + Core L#0
        PU L#0 (P#0)
        PU L#1 (P#1)
      L2 L#1 (512KB) + L1d L#1 (32KB) + L1i L#1 (64KB) + Core L#1
        PU L#2 (P#2)
        PU L#3 (P#3)
      L2 L#2 (512KB) + L1d L#2 (32KB) + L1i L#2 (64KB) + Core L#2
        PU L#4 (P#4)
        PU L#5 (P#5)
      L2 L#3 (512KB) + L1d L#3 (32KB) + L1i L#3 (64KB) + Core L#3
        PU L#6 (P#6)
        PU L#7 (P#7)
    L3 L#1 (8192KB)
      L2 L#4 (512KB) + L1d L#4 (32KB) + L1i L#4 (64KB) + Core L#4
        PU L#8 (P#8)
        PU L#9 (P#9)
      L2 L#5 (512KB) + L1d L#5 (32KB) + L1i L#5 (64KB) + Core L#5
        PU L#10 (P#10)
        PU L#11 (P#11)
      L2 L#6 (512KB) + L1d L#6 (32KB) + L1i L#6 (64KB) + Core L#6
        PU L#12 (P#12)
        PU L#13 (P#13)
      L2 L#7 (512KB) + L1d L#7 (32KB) + L1i L#7 (64KB) + Core L#7
        PU L#14 (P#14)
        PU L#15 (P#15)
  HostBridge L#0
    PCIBridge
      PCI 1022:43b7
        Block L#0 "sda"
      PCIBridge
        PCIBridge
          PCI 10ec:8168
            Net L#1 "eth0"
    PCIBridge
      PCI 1002:6779
        GPU L#2 "renderD128"
        GPU L#3 "card0"
        GPU L#4 "controlD64"
    PCIBridge
      PCI 1022:7901

Looks reasonable,most likely absolutely correct.

Thanks for the patch - looks good to me, I had only held back on committing to give more senior team members a chance to comment.
OpenBLAS detecting 16 cores is normal (though not always desirable) I think for a system capable of "hyperthreading" (MAX_CPU_NUMBER gets set from NUM_THREADS in the build system). I have not been able to find any whitepaper on optimizing for Ryzen yet - only some rather dubious claims of
"avoid avx" or "avoid software prefetch". Perhaps it would make sense to copy your implementation notes to the wiki so that they do not get buried here.


Fix missing compilation guard around psa_crypto_driver_wrappers.c

Fix #4411.
Description and 2.x backport: https://github.com/ARMmbed/mbedtls/pull/4412

Regarding non-regression, I am not sure we have much time to spend on this currently.


[avstream/sampledevicemft] The face detection blue rectangle disappears in the Windows Camera App

Hi , there
If I enable MF_DEVICEMFT_DECODING_MEDIATYPE_NEEDED in /avstream/sampledevicemft/stdafx.h, the face detection blue rectangle disappears in the Windows Camera App. Can anyone provide me with some advice? Many thanks :)
// @@@@ README Please check / uncheck various hash defines to enable/ disable features
// MF_DEVICEMFT_ASYNCPIN_NEEDED will show how to use Asynchronous queues
// MF_DEVICEMFT_DECODING_MEDIATYPE_NEEDED will show how to decode a compressed mediatype.. it supports H264 and MJPG
// MF_DEVICEMFT_SET_SPHERICAL_ATTRIBUTES will set the spherical attributes
// MF_DEVICEMFT_ENUM_HW_DECODERS will make the device MFT enumerate hardware decoders
//
//#define MF_DEVICEMFT_ADD_GRAYSCALER_ 1
#define MF_DEVICEMFT_ASYNCPIN_NEEDED           1
#define MF_DEVICEMFT_DECODING_MEDIATYPE_NEEDED 1       // <------------ enable this
//#define MF_DEVICEMFT_SET_SPHERICAL_ATTRIBUTES  1
//#define MF_DEVICEMFT_ENUM_HW_DECODERS        1

/*Some important notes regarding Device MFT
Device MFT is an asynchronous transform that is loaded in the device source
There are a few key operations that need a special mention
1) InitializeTransform: This is where the device MFT should be initialized
2) ProcessInput is where the samples are supplied to the Device MFT
3) METransformHaveOutput is how deviceMFT notifies the Device Transform Manager (DTM) in the OS to pick up samples in its queues
4) SetOutPutStreamState is where the state transition on a Device MFT will come in
*/

in my window  i am click then blue rectangle disappears otherwise always on
what do you want to do so that the blue rectangle remains after clicking ?

Hi @AbhinavMalviya58 , blue rectangle for face dection is only disapear when I enabled MF_DEVICEMFT_DECODING_MEDIATYPE_NEEDED

Found a workaround to fix this issue, FYI
@@ -664,7 +664,7 @@ public:
 #endif
         )
     {
-        SetUINT32(MF_SD_VIDEO_SPHERICAL, TRUE);
+        //SetUINT32(MF_SD_VIDEO_SPHERICAL, TRUE);
     }
     STDMETHOD(AddMediaType)(
         _Inout_ DWORD *pos,


[WIP] Energy gradient as target for the Forces

[x] Create simple force decoder
[ ] Create detached target for forces
[ ] Check gradient for .pos or .fa_pos
[ ] Adapt training
[ ] Explore force decoder architectures

TBD

[ ] test_model_invariance -> test forces?

🎉 `python test_all.py` finished testing 60 configs in  7.95m on commit 5cb4b31. 48/60 succeeded. [2022-10-28 15:44:09]

🎉 `python test_all.py` finished testing 84/84 configs in 11.78m on commit 2745669. 84 succeeded. [2022-10-31 16:48:40]


Unable to login

I'm running a fresh install of Alpine with only docker and docker-compose installed.
This is my first docker container.. and also first attempt with docker-compose. I've setup using the defaults. When I attempt to login, it looks like it gets my token successfully at the end but never proceeds and returns to a blank login screen. I've verified the login credentials are correct through Tesla's website as well. No issues logging in there.
I'm also unable to access port 3000 at all. I'm not sure if that's relevant.
What am I doing wrong? What am I missing? Thanks for your hard work, I'm excited to try this out!
mosquitto_1  |<PHONE_NUMBER>: mosquitto version 1.6.5 starting
mosquitto_1  |<PHONE_NUMBER>: Config loaded from /mosquitto/config/mosquitto.conf.
mosquitto_1  |<PHONE_NUMBER>: Opening ipv4 listen socket on port 1883.
mosquitto_1  |<PHONE_NUMBER>: Opening ipv6 listen socket on port 1883.
db_1         | 2019-09-14 06:06:20.828 UTC [1] LOG:  listening on IPv4 address "<IP_ADDRESS>", port 5432db_1         | 2019-09-14 06:06:20.828 UTC [1] LOG:  listening on IPv6 address "::", port 5432
db_1         | 2019-09-14 06:06:20.833 UTC [1] LOG:  listening on Unix socket "/var/run/postgresql/.s.PGSQL.5432"
db_1         | 2019-09-14 06:06:20.847 UTC [21] LOG:  database system was shut down at 2019-09-14 06:06:10 UTC
db_1         | 2019-09-14 06:06:20.853 UTC [1] LOG:  database system is ready to accept connectionsdb_1         | 2019-09-14 06:06:21.676 UTC [28] LOG:  incomplete startup packet
teslamate_1  | 02:06:24.161 [info] Already up
grafana_1    | Failed to send request: Get https://grafana.com/api/plugins/repo/pr0ps-trackmap-panel: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
grafana_1    | Error: ✗ Failed to send request. error: Get https://grafana.com/api/plugins/repo/pr0ps-trackmap-panel: net/http: request canceled while waiting for connection (Client.Timeout exceeded while awaiting headers)
grafana_1    |
grafana_1    | NAME:
grafana_1    |    Grafana cli plugins install - install <plugin id> <plugin version (optional)>
grafana_1    |
grafana_1    | USAGE:
grafana_1    |    Grafana cli plugins install [arguments...]
dcompose_grafana_1 exited with code 1
teslamate_1  | 02:06:31.579 [info] Please sign in.
teslamate_1  | 02:06:31.588 [info] Running TeslaMateWeb.Endpoint with cowboy 2.6.3 at :::4000 (http)
teslamate_1  | 02:06:31.592 [info] Access TeslaMateWeb.Endpoint at http://tesla.trollparty.org
mosquitto_1  |<PHONE_NUMBER>: New connection from <IP_ADDRESS> on port 1883.
mosquitto_1  |<PHONE_NUMBER>: New client connected from <IP_ADDRESS> as TESLAMATE_302E3036363 (p2, c1, k60).
teslamate_1  | 02:06:31.606 [info] Initializing handler
teslamate_1  | 02:06:31.609 [info] Connection has been established
teslamate_1  | 02:06:54.623 [info] GET /sign_in
teslamate_1  | 02:06:54.626 [info] Sent 200 in 3ms
teslamate_1  | 02:07:00.864 [error] GenServer #PID<0.3592.0> terminating
teslamate_1  | ** (stop) exited in: GenServer.call(TeslaMate.Api, {:sign_in, %TeslaMate.Auth.Credentials{__meta__: #Ecto.Schema.Metadata<:built, "">, email<EMAIL_ADDRESS>id: nil, password: "xxxxxxxxxx"}}, 5000)
teslamate_1  |     ** (EXIT) time out
teslamate_1  |     (elixir) lib/gen_server.ex:1009: GenServer.call/3
teslamate_1  |     (teslamate) lib/teslamate_web/live/signin_live/index.ex:40: TeslaMateWeb.SignInLive.Index.handle_event/3
teslamate_1  |     (phoenix_live_view) lib/phoenix_live_view/channel.ex:81: Phoenix.LiveView.Channel.handle_info/2
teslamate_1  |     (stdlib) gen_server.erl:637: :gen_server.try_dispatch/4
teslamate_1  |     (stdlib) gen_server.erl:711: :gen_server.handle_msg/6
teslamate_1  |     (stdlib) proc_lib.erl:249: :proc_lib.init_p_do_apply/3
teslamate_1  | Last message: %Phoenix.Socket.Message{event: "event", join_ref: "1", payload: %{"event" => "save", "type" => "form", "value" => "_csrf_token=xx"}, ref: "4", topic: "lv:xxx-xxxxxxxx"}

Check if the docker container has internet access. Both Grafana and Tesla API failed in connecting to internet.

I worked out my issue finally. I did everything correctly for the VM and docker containers. Turned out to be an odd DHCP problem where the VM didn't wasn't receiving the correct gateway and/or DNS from my pfSense box. I deleted and re-created the static entry and that fixed it. Thanks for the insight guys.


Feature/searchable lists

Made the individual run page nicer.

Handle long lists of config parameters by adding search.
Handle long parameters by adding truncations.
Handle empty lists.


Java example for 0.15.2

New Java project, but old source code. I created a new Java project using gradle init and moved the source code from the previous example. Added simple README to describe how to run the example.
Checklist

[x] Example projects and code samples are up-to-date (in case of API changes)

uwuwuw still failing :(


Cleans up documentation on the separate feature transformer decoder

The feature invariant decoder reserves half of its capacity for features. This requires that its size be divisible by 2. I raise an explicit error in the unlikely case this is hit, and remove the FIXME. I am also using the more idiomatic // 2 rather than int(_ / 2).

This is tested and is doing fine (the FIT is actually a pretty great model on the Polish data; it learns fast) so I'm merging now.


Parent cgroup pollution

I am using stock 1.6.0. Apparently, container sub-groups are not removed when specifying --cgroup-parent. I do not know if it happens only on failure or also on success as I have tested only the failure case.
Testcase:
#!/bin/sh
IMAGE=ubuntu
GROUP=jarjarbinks

set -e
cgcreate -a root -g cpu,cpuset:$GROUP
echo 512 > /sys/fs/cgroup/cpu/$GROUP/cpu.shares
echo 10000 > /sys/fs/cgroup/cpu/$GROUP/cpu.cfs_quota_us
echo 50000 > /sys/fs/cgroup/cpu/$GROUP/cpu.cfs_period_us
echo "1-2" > /sys/fs/cgroup/cpuset/$GROUP/cpuset.cpus

set +e
docker run --rm=true --cgroup-parent=$GROUP $IMAGE sleep 1
GROUPS=
for C in `find /sys/fs/cgroup/cpuset/$GROUP/* -type d | awk -F/ '{ print $NF }'`; do
        GROUPS="$GROUPS cpu,cpuset:$GROUP/$C"
done

if [ ! -z "$GROUPS" ]; then
        echo "ERROR! There are leftovers"
        echo "Clear them with: "
        echo "cgdelete$GROUPS"
        exit 1
else
        echo "All clear"
fi

On my system:
FATA[0000] Error response from daemon: Cannot start container a4b1215f2fb53dfc907205fa219b070a83cbcbaf8a823903d516b7ac25fde0d1: [8] System error: write /sys/fs/cgroup/cpuset/jarjarbinks/a4b1215f2fb53dfc907205fa219b070a83cbcbaf8a823903d516b7ac25fde0d1/cgroup.procs: no space left on device
ERROR! There are leftovers
Clear them with:
cgdelete cpu,cpuset:jarjarbinks/a4b1215f2fb53dfc907205fa219b070a83cbcbaf8a823903d516b7ac25fde0d1

@gdm85 Could you provide fail-case? It works for me if I just specify wrong binary for container.

@LK4D4 the one above is not working? I will test tomorrow (+11h) with latest version of Docker

@gdm85 any update on this? Have you had the chance to test this?

@thaJeztah @LK4D4 sorry for the late reply, but yes, the above testcase is still failing with Docker v1.7.1
Error response from daemon: Cannot start container c38ccdee50303d6a425f8ebea645757eab353985b57cf68ffc98cd32ec0aae5e: [8] System error: write /sys/fs/cgroup/cpuset/jarjarbinks/c38ccdee50303d6a425f8ebea645757eab353985b57cf68ffc98cd32ec0aae5e/cgroup.procs: no space left on device
ERROR! There are leftovers
Clear them with:
cgdelete cpu,cpuset:jarjarbinks/38d7053322ad21cd535912e400d074bff387534b934ca5f5ddc910f3aac32d4a cpu,cpuset:jarjarbinks/c38ccdee50303d6a425f8ebea645757eab353985b57cf68ffc98cd32ec0aae5e

@gdm85 I was little confused why you wrote "fail case" for "sleep 1".
I tried in master both cases and it works for me - cgroups cleaned up.

I cannot reproduce on 1.8.
Is this still a problem?

@cpuguy83 I will test again tomorrow. Shall I submit a PR with a testcase for this?

closing because this went stale, but comment if this is still an issue


(println "string") is not printing any output on the browser

In [12]: (println "string")
Out[12]: nil

only the return value of the expression is printed, is this expected? how can I get output printed?

Hi @woosley,
Thanks and sorry for the issue. It is expected behavior, but not optimal behavior. Right now clojupyter is set up to evaluate the function and return the results; the stdout is sent along in a different message and right now we just drop the message on the floor instead of displaying it. That is totally doable, it just not implemented.

Thanks @woosley,
This is fixed now, sorry for the delay in getting to it. Thanks!

thanks! @roryk

Sorry I wasn't able to help. I was on vacation and away from my email.

No worries Peter, hope you had a great time on your vacation!

actually this issue does not seem to be fix, I still can not get stdout in brower.

Hi @woosley,
You might be loading the old ipython-clojure executable instead of the renamed clojupyter one. If you nuke your ~/.ipython/kernels/clojure directory and reinstall it should be all good.
If you are on OSX you'll have to also get rid of the kernel cache:
https://github.com/roryk/clojupyter#removing-the-stale-osx-kernel-cache

indeed! thanks!


Modular Registry proto updates

This PR encompasses the following changes:

Namespace is no longer required to be declared until making a module public. organization_id added as an optional field on all Module APIs. OrgId can be omitted from requests once a module_id string contains "namespace:name", otherwise is required.
Namespace is removed from CreateModule API. If an org has a namespace it will be resolved server side and put into the module_id. Thanks @zaporter-work for the idea, which simplifies the interaction between API and CLI.
Adds the missing entrypoint field on Module type.
Adds platform as an optional field on CreatePackage API, making it easy to extend the implementation to UploadModuleFile API.

Hi @stevebriskin can you merge in this breaking change. We are switching from public_namespace to organization_id since namespace is not required until the module is public.


RemoveAsync by Id

In the current implementation of Liquid.Repository, it’s necessary call function FindById then call function RemoveAsync.
Could we implement a function to remove by Id? Because it would simplify the implementation.

To solve this, in an internal discussion by the team of maintainers of the framework, we understand that the solution should be:

change method RemoveAsync(TEntity entity) to RemoveByIdAsync(TIdentifier id), in main Repository interface (ILightRepository).
Extend the main interface for creating methods that enable the use of partition key in cartridge implementations for NoSQL databases providers, since methods such as RemoveAsync and FindById as they are implemented can generate a crosspartition reading, which raises the costs of application.
proposed extension methods:

Task<IEnumerable> WhereAsync(Expression<Func<TEntity, bool>> whereClause);
Task FindByPartitionAsync(TIdentifier id);
Task RemoveByPartitionAsync(TIdentifier id);


rpm: provide systemd and microshift defaults

Implements the in [link] proposed change.
For example, to foward journald logs to AWS cloudwatch, a user only needs to create file /etc/opentelemetry-collector/configs/10-cloudwatch-export.yaml with the following content:
exporters:
  awscloudwatchlogs:
    log_group_name: "testing-logs-emf"
    log_stream_name: "testing-integrations-stream-emf"

service:
  pipelines:
    logs:
      receivers: [journald]
      exporters: [awscloudwatchlogs]

Afterwards, the opentelemetry-collector service must be restarted via systemd.
systemctl restart opentelemetry-collector.service

The Package will also install the manifests for an OpenTelemetry Collector on microshift. Its used to accept telemetry data from inside of microshift. (e.g. scraping the kubelet api, collecting metrics, logs and events.)
The manifests will be installed in /etc/microshift/manifests/opentelemetry-collector. If microshift is not present on the machine, this will have no effect.
An example configuration would look similar to the cloudwatch config. But instead of accepting logs from the journald  receiver, we would accept data from the otlp/microshift receiver.
service:
  pipelines:
    logs:
      receivers: [otlp/microshift]
      exporters: [debug]
    metrics:
      receivers: [otlp/microshift]
      exporters: [debug]
    traces:
      receivers: [otlp/microshift]
      exporters: [debug]

NOTE: Debug can be replaced by any kind of exporter that can registered to a pipeline type.
cc @miyunari @fkolwa @major @mparram

Build:
https://copr.fedorainfracloud.org/coprs/miyunari/redhat-opentelemetry-collector/build/7390581/

This PR needs to be rebased once https://github.com/os-observability/redhat-opentelemetry-collector/pull/66 got merged.

cc @examon

The package seems now to work as expected. I used to copr build for a short test.
For testing I created a /etc/opentelemetry-collector/configs/10-debug-export.yaml file with the following content:
---
service:
  pipelines:
    logs:
      receivers: [journald]
      exporters: [debug]
    metrics:
      receivers: [hostmetrics, hostmetrics/disk]
      exporters: [debug]

After restarting the collector  instance, I was finally able to see the data the journald logs.


Crash when fetching an envelope in Ruby 2

After upgrading to ruby-2.0.0-p353 from 1.9.3, fetching an envelope crashes. here's the stack when calling envelope from rails console:
2.0.0p353 :007 > emails.first.envelope
ArgumentError: wrong number of arguments (1 for 0)
	from /Users/orfattal/.rvm/gems/ruby-2.0.0-p353@silo/bundler/gems/gmail-3bb194543c0f/lib/gmail/client/imap_extensions.rb:5:in `msg_att'
	from /Users/orfattal/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/imap.rb:2210:in `numeric_response'
	from /Users/orfattal/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/imap.rb:2152:in `response_untagged'
	from /Users/orfattal/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/imap.rb:2132:in `response'
	from /Users/orfattal/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/imap.rb:2058:in `parse'
	from /Users/orfattal/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/imap.rb:1181:in `get_response'
	from /Users/orfattal/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/imap.rb:1089:in `receive_responses'
	from /Users/orfattal/.rvm/rubies/ruby-2.0.0-p353/lib/ruby/2.0.0/net/imap.rb:1075:in `block in initialize'

This is now fixed on master.

This issue was moved to gmailgem/gmail#97


Support Bulk Entities Excel Template based on a Given Type

For a given type, traverse the types and create a template for the attributes and relationship attributes.  Add those as column headers.

This has been open forever and no one has asked about it since originally opening.  If someone is interested, I'll open it back up.


libvorbis: Sync with upstream 1.3.7

Fixes various bugs, including several ones with security relevance.
Changes: https://github.com/xiph/vorbis/releases/tag/v1.3.7

Cherry-picked for 3.5.

Cherry-picked for 3.4.1.


Document the fix for 401 Unauthorized Social media preview images

Description
Default configuration for projects has changed in Vercel and nowadays the Deployment Protection is enabled by default.
I didn't find a way how to disable it from the command line so I figured we should just document the manual steps to the Readme.

Issues closed by this
Fixes #435 and Fixes #437

@onnimonni this looks great. I just pushed a fix for the social image generation itself.
Can you update the Vercel screenshot to show the correct setting (with protection disabled) instead of the incorrect setting?
Then I'll merge. Thanks!

I created a short GIF which will hopefully make it even easier to understand:

This is great; thanks @onnimonni 🙏


Implementing backup to S3 Kotlin example function

Implementing backup to S3 Kotlin example function

Created a function in project

Execute function

On successful execution message is printed to console

File is uploaded to S3 Bucket

@PineappleIOnic Made the necessary changes. Please check now

Please address the comments
Addressed all comments @christyjacob4

THANK YOU! All changes merged 🥳
Please reach out to me on discord to claim your Hacktoberfest swag.
As a way of saying thank you, we would also love to invite you to join the Appwrite organization on GitHub. Please share your GitHub username with us on Discord so that we can add you as a contributor to our organization.
Once added, you can change your membership visibility settings, so your new Appwrite membership badge will show up on your personal GitHub profile.


Confused profile pictures

I'm browsing to this thread and see my profile picture to posts that are not mine.
next:
normal:

i've seen this issue quite a few times, but it seems to happen completely at random, and non-deterministically, so don't have any steps to reproduce...


KubernetesCluster with BYO DNS does not clean up A record after destruction

What happened?
Private Kubernetes Cluster creation with Bring Your Own DNS does not clean up A record after destruction.
Similar issue was affecting Terraform azurerm_kubernetes_cluster resource but it has been fixed with proper dependency setup.
How can we reproduce it?
Resources to create (it can be done separately or as a part of one Composition)

Private DNS zone for the AKS (privatelink.<region>.azmk8s.io)
User assigned Identity
Role assignment with the role Network Contributor on the Vnet where AKS node pool subnet is located,
Role assignment with the role Private DNS Zone Contributor on your own Private DNS zone,
Private Kubernetes Cluster with User Assigned Identity and Private DNS configured.

After the creation, you can see that A record has been added to the Private DNS zone with the private IP.
Now, remove the Kubernetes Cluster and all the resources besides Private DNS zone.
The A record will stay and will prevent creation of the AKS with the same name with the same Private DNS zone.
Its a big blocker especially with environments with centralized DNS (where Private DNS zone is created upfront and is not part of the AKS composition).
What environment did it happen in?

Crossplane Version: v1.14.1
Provider Version: v0.38.2
Kubernetes Version: Server Version: v1.26.6
Kubernetes Distribution: AKS

Just faced the same issue, do we have any workarounds to be implemented here?

Hi @naimadswdn, @jakubramut,
Thank you for bringing up this, could you please share with us clear reproduction steps with used MRs?

It's caused by to the ordering when deleting resources, you'll need to delete the user assigned identity last, after the roleassignment for private dns zone contributer using the beta Usages feature in crossplane 1.14


[Bug] Object controls

Cannot control object position, rotation or scale with it's scope.
Example
horse = game.addMorph('assets/models/morph/horse.js',{
  pos: {
    x: 0, y: 0, z: 0
  },
  scale: {
    x: 0.1, y: 0.1, z: 0.1
  }
});
horse._pos.x = 10; //Doesn't do anything, even tried from chrome's console
horse.mesh.position.x = 10; //Works instead

I suggest making scope._pos the same as mesh.pos

@Noctisdark I will take care of it.

Okey ^^


macOS 10.14 error when clicking on config button

Installed the rclone browser 1.2 from the release page. when the config... option is selected from the Remotes page, it will launch Terminal and end with an error as shown below.
Last login: Thu Oct 18 22:20:00 on ttys001
/tmp/rclone_config.command ; exit;
QuadCubes-Mac-mini:~ quadcube$ /tmp/rclone_config.command ; exit;
Error: unknown command "config--config" for "rclone"
Run 'rclone --help' for usage.
2018/10/18 22:23:04 Fatal error: unknown command "config--config" for "rclone"
logout
Saving session...
...copying shared history...
...saving history...truncating history files...
...completed.
[Process completed]

reproducible on my 10.14 install as well

on my install too

Have the same problem it seems the rclonebrowser has an builtin misswriten coomand created automatically at /tmp/rclone_config.command w/
<<<
#!/bin/sh
/usr/local/bin/rclone config--config /Users/me/.config/rclone/rclone.conf

So, that portion "config--config" should be "config --config" and I found a workaroud,
I force a fix by changing permission on 'chmod 555 /tmp/rclone_config.command'

As this repo is dead for so long I did some DIY combining various enhancements and fixes together and released binaries for macOS, Win64 and Linux64. If anybody is interested give it a try - https://github.com/kapitainsky/RcloneBrowser/releases

As this repo is dead for so long I did some DIY combining various enhancements and fixes together and released binaries for macOS, Win64 and Linux64. If anybody is interested give it a try - https://github.com/kapitainsky/RcloneBrowser/releases

Thanks man!!!!
Much appreciated, really!
It seems to work fine except for the Jobs page which remains with blank fields with no update of what's happening in the background.

what OS are you using? Jobs fields updates have been fixed to and work for me like a charm. Please note that updates happen only if you select Verbose option

ah! I thought the basic fields at least were working also without verbose ;-) I've tried and it works!!! BTW if you do multiple jobs with 4 transfers each it shows only 1 transfer for each job, not all 4 with the progress bar, you can see wat's really happening only with Show Output, strange, with only 1 job it shows all 4 progress bars, one for each transfer.

rclone-browser is only wrapper to rclone which does not generate any data if run without verbose mode. In that case browser does not have anything to display.
I have tried multiple jobs and they all show all 4 progress bars. Please note that bars are only displayed for individual transfers no for overall transfer. What can happen is that you transfer many small files - in that case file transfer finishes before bar is displayed.

see this working
https://raw.githubusercontent.com/wiki/kapitainsky/RcloneBrowser/images/Screenshot4.png


Bump mypy from 0.941 to 0.942

Codecov Report

Merging #227 (dc24ccb) into main (4fb5113) will not change coverage.
The diff coverage is n/a.

@@            Coverage Diff            @@
##              main      #227   +/-   ##
=========================================
  Coverage   100.00%   100.00%
=========================================
  Files           14        14
  Lines          837       836    -1
=========================================
- Hits           837       836    -1

Impacted Files
Coverage Δ

meilisearch_python_async/index.py
100.00% <0.00%> (ø)

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 4fb5113...dc24ccb. Read the comment docs.


Rust: support workspace inheritance

Cargo nightly now supports workspace-level dependencies.
See:

https://doc.rust-lang.org/nightly/cargo/reference/unstable.html#workspace-inheritance
https://github.com/rust-lang/cargo/issues/8415
https://rust-lang.github.io/rfcs/2906-cargo-workspace-deduplicate.html

workspace inheritance was stabilized and is set to be released in Rust 1.64 on September 22, 2022


[DESIGN] how to serve Logos and Other Images

Problem Statement:
In order to have the best possible experience for integrations we need to be able to show logos and screenshots of the dashboards to be imported for each integration. This will help with discoverability and trust of the new community contributions. However, this poses many problems with how we serve these images and where they are hosted/stored.
There are two main options:

Bundle these assets with the distribution
Pro:

Doesn't need internet connection to be able to retrieve these images
Con:

Assets will be tied to versioned release process

Host them somewhere else
Pro:

Contributions can be decoupled from the versioning process
Con:

Assumes internet connection to be able to retrieve these images

For 2.7, we are going with bundling it in the distribution, CDN/other options can be considered later as a target state.
Proposed Implementation of Bundling:
High Level Overview:

Assets will be contributed to Observability/Integration Front End Plugin (including a default, fallback logo)
Observability/Integration will register these assets as urls on the localhost route: (for example at: http://localhost:5601/ui/integrations/nginx.svg) on plugin startup
Observability Backend will return the URL following the agreed upon URL, and integrations front end will fetch the assets from the locally hosted url. If the url does not exist on the entry, we will use the fallback logo

Details:

A similar approach is done in dashboards core:

coreSetup.http.registerStaticDir('/ui/{path*}', Path.resolve(__dirname, './assets'));
    coreSetup.http.registerStaticDir('/ui/assets/{path*}', fromRoot('assets'));

    coreSetup.http.registerStaticDir(
      '/node_modules/@osd/ui-framework/dist/{path*}',
      fromRoot('node_modules/@osd/ui-framework/dist')
    );

This registers routes for all assets in the folder, and allows them to be fetched, for example with:
<img src='http://localhost:5601/ui/default_branding/opensearch_logo_default_mode.svg'/>

Limitations:

This design doesn't allow for user - made integrations logo and screenshot contributions (since we assume the assets are bundled as part of the front-end plugin (is this ok for 2.7?))

Cons:

Assumes tight coupling between backend and frontend plugins

Alternatives/Questions:

Host the assets on observability/integrations backend filesystem, and fetch from filesystem when loading assets on front end (is this even feasible)?
Can we not return url and check on the front end if a given asset exists (for example for nginx check if http://localhost:5601/ui/integrations/nginx.svg exists, and use a fallback logo if it does not)
Any other suggestions on how this problem can be solved?

this is ok for 2.7/ We need to create a process for custom loading in upcoming releases

lets ticket this in backog : Cons: - Assumes tight coupling between backend and frontend plugins

Con: Assets will be tied to versioned release process
I don't follow why this is a con

My only concern with the design as-stated is that the exact asset URL should be clarified. I assume /ui/integrations is a placeholder for individual paths that will be assigned per-integration, but if so, I want to see where the front-end will get that path from. (My understanding is that integration IDs are assigned dynamically.) Or if it is one central path, then I want to know how we avoid name collisions across different integrations.

Assets will be contributed to Observability/Integration Front End Plugin - I think it will be much more complicated for contributing a single Integration into two different repos (F/E , B/E ) ...

why not just go with the first suggested alternative - all Integration assets are loaded from plugin bundle folder Integration directly into a repository index which represents the available integration-templates that can be loaded.
the repository index can contain both json files, images (blobs) and documents (html)
All this content will be served via a REST API on the inital F/E call and afterwards would be cached in the browser local store for performance

Assets will be contributed to Observability/Integration Front End Plugin - I think it will be much more complicated for contributing a single Integration into two different repos (F/E , B/E ) ...

why not just go with the first suggested alternative - all Integration assets are loaded from plugin bundle folder Integration directly into a repository index which represents the available integration-templates that can be loaded.
the repository index can contain both json files, images (blobs) and documents (html)
Integration's content will be served via a REST API on the initial F/E call and afterwards would be cached in the browser local store for performance

This seems cleaner on second thought. I have never worked with rendering blobs on UI, so it will be a good learning experience :)

How and where are these assets handled in the existing "Add sample data" flows?


Create Directory

There is no option for creating a directory or creating a new project.
If you all would add this feature this editor will become more awesome.

a project in VS Code is just a folder.
To create a new project just use the "Open..." action and press the "New Folder" button:

thanks


⚠ Bofrost.at has degraded performance

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

HTTP code: 200
Response time: 2818 ms

Resolved: Bofrost.at performance has improved in 66c65a2 after 16 minutes.


Error establishing a database connection

After editing variables in main, and running test with become, ansible shares clean build, but this pops when going to url
Error establishing a database connection

Ubuntu 18


Version 9.4.0

Checklist

[X] Used a personal fork of the feedstock to propose changes
[X] Reset the build number to 0 (if the version changed)
[ ] Re-rendered with the latest conda-smithy (Use the phrase @conda-forge-admin, please rerender in a comment in this PR for automated rerendering)
[X] Ensured the license file is being packaged.

@conda-forge-admin, please rerender


Bug - TypeError: init() got an unexpected keyword argument 'syntax'

Expected Behavior
Logging in after installation (everything installed just fine)
Actual Behavior
File "pokecli.py", line 38, in  from pgoapi.exceptions import NotLoggedInException (init.py, line 19)
(and errors that follow this error some more)
TypeError: init() got an unexpected keyword argument 'syntax'
User Question
Could it be that special characters are responsible for this? Out of the very many letters I have in that password, one of them is an &

please paste complete stack trace.
also did you check if your json is valid?

I'm on the Dev branch, but it happened on the Master, which is why I switched
Debian

Traceback (most recent call last):   File "pokecli.py", line 38, in <module>     from pgoapi.exceptions import NotLoggedInException   File "/home/pi/PokemonGo-Bot/src/pgoapi/pgoapi/__init__.py", line 19, in <module>     from pgoapi.pgoapi import PGoApi   File "/home/pi/PokemonGo-Bot/src/pgoapi/pgoapi/pgoapi.py", line 34, in <module>     from pgoapi.rpc_api import RpcApi   File "/home/pi/PokemonGo-Bot/src/pgoapi/pgoapi/rpc_api.py", line 42, in <module>     from POGOProtos.Networking.Envelopes_pb2 import RequestEnvelope   File "/home/pi/PokemonGo-Bot/src/pgoapi/pgoapi/protos/POGOProtos/Networking/Envelopes_pb2.py", line 16, in <module>     from POGOProtos.Networking import Requests_pb2 as POGOProtos_dot_Networking_dot_Requests__pb2   File "/home/pi/PokemonGo-Bot/src/pgoapi/pgoapi/protos/POGOProtos/Networking/Requests_pb2.py", line 23, in <module>     ENCOUNTER\x10\x91\x01\x12!\n\x1c\x43OLLECT_DAILY_DEFENDER_BONUS\x10\x92\x01\x12\x14\n\x0fUPGRADE_POKEMON\x10\x93\x01\x12\x19\n\x14SET_FAVORITE_POKEMON\x10\x94\x01\x12\x15\n\x10NICKNAME_POKEMON\x10\x95\x01\x12\x10\n\x0b\x45QUIP_BADGE\x10\x96\x01\x12\x19\n\x14SET_CONTACT_SETTINGS\x10\x97\x01\x12\x15\n\x10GET_ASSET_DIGEST\x10\xac\x02\x12\x16\n\x11GET_DOWNLOAD_URLS\x10\xad\x02\x12\x1c\n\x17GET_SUGGESTED_CODENAMES\x10\x91\x03\x12\x1d\n\x18\x43HECK_CODENAME_AVAILABLE\x10\x92\x03\x12\x13\n\x0e\x43LAIM_CODENAME\x10\x93\x03\x12\x0f\n\nSET_AVATAR\x10\x94\x03\x12\x14\n\x0fSET_PLAYER_TEAM\x10\x95\x03\x12\x1b\n\x16MARK_TUTORIAL_COMPLETE\x10\x96\x03\x12\x16\n\x11LOAD_SPAWN_POINTS\x10\xf4\x03\x12\t\n\x04\x45\x43HO\x10\x9a\x05\x12\x1b\n\x16\x44\x45\x42UG_UPDATE_INVENTORY\x10\xbc\x05\x12\x18\n\x13\x44\x45\x42UG_DELETE_PLAYER\x10\xbd\x05\x12\x17\n\x12SFIDA_REGISTRATION\x10\xa0\x06\x12\x15\n\x10SFIDA_ACTION_LOG\x10\xa1\x06\x12\x18\n\x13SFIDA_CERTIFICATION\x10\xa2\x06\x12\x11\n\x0cSFIDA_UPDATE\x10\xa3\x06\x12\x11\n\x0cSFIDA_ACTION\x10\xa4\x06\x12\x11\n\x0cSFIDA_DOWSER\x10\xa5\x06\x12\x12\n\rSFIDA_CAPTURE\x10\xa6\x06\x62\x06proto3') TypeError: __init__() got an unexpected keyword argument 'syntax'

git reset --hard
git pull -f
pip install --upgrade -r requirements.txt

This fixed it. Closing.


Bump skymarshal required cmake version to 3.19

Fixes symforce-org/symforce#122

Closed by a3b2dc0


Expose prose schema

We're going to have to serve the prose schema up because it's used on the site and we don't want two copies. Propose the following in the short term:
_prose.yml is built to _site/meta/schema.json (from the meta field down.)

Now got it writing out asis. Looks like this:
[
    {
        "name": "title",
        "field": {
            "element": "text",
            "label": "Page Title",
            "scope": "page"
        }
    },
    {
        "name": "sdg_goal",
        "field": {
            "element": "hidden",
            "label": "SDG Goal",
            "scope": "page"
        }
    },
   ...
]

Wondering if we should have the field as a key rather than a big list of metadata fields. Might prevent some loops on the Jekyll side. What do you think @shaneporter ?

We should be able to do a Jekyll where with this structure, so not too much of an issue.


Edit row button always displayed whether you have permission to edit the row or not

Software and hardware versions
tables 210c
Problem description
in detail_view_menu.xml the edit button (menu_edit_row) is always shown, whether the user has access to edit the row or not

This has been fixed in a pull request to tables


Modle builder error

at Microsoft.ML.ModelBuilder.Observable.ObservableModel.d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ML.ModelBuilder.Observable.ObservableModel.d__28.MoveNext()
Log file:
2021-12-29 23:40:07.0839 INFO Set log file path to C:\Users\behna\AppData\Local\Temp\MLVSTools\logs\MLModel1-D6C96G.txt (Microsoft.ML.ModelBuilder.Utils.Logger.Info)
2021-12-29 23:40:09.7895 DEBUG Object reference not set to an instance of an object.
at Microsoft.ML.ModelBuilder.Observable.ObservableModel.d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ML.ModelBuilder.Observable.ObservableModel.d__28.MoveNext() (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
2021-12-29 23:40:16.8033 DEBUG Object reference not set to an instance of an object.
at Microsoft.ML.ModelBuilder.Observable.ObservableModel.d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ML.ModelBuilder.Observable.ObservableModel.d__28.MoveNext() (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
2021-12-29 23:40:16.8753 DEBUG Object reference not set to an instance of an object.
at Microsoft.ML.ModelBuilder.Observable.ObservableModel.d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ML.ModelBuilder.Observable.ObservableModel.d__28.MoveNext() (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
2021-12-29 23:40:16.9372 DEBUG Object reference not set to an instance of an object.
at Microsoft.ML.ModelBuilder.Observable.ObservableModel.d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ML.ModelBuilder.Observable.ObservableModel.d__28.MoveNext() (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)
2021-12-29 23:40:17.0162 DEBUG Object reference not set to an instance of an object.
at Microsoft.ML.ModelBuilder.Observable.ObservableModel.d__24.MoveNext()
--- End of stack trace from previous location where exception was thrown ---
at System.Runtime.ExceptionServices.ExceptionDispatchInfo.Throw()
at System.Runtime.CompilerServices.TaskAwaiter.HandleNonSuccessAndDebuggerNotification(Task task)
at Microsoft.ML.ModelBuilder.Observable.ObservableModel.d__28.MoveNext() (Microsoft.ML.ModelBuilder.Utils.Logger.Debug)

@vzhuqin You don't need to validate this. The PR should solve all null object error as expected.


OU: function count broken

always reports 0 - should report on measurables.

Decided to rip this out as no longer particularly useful now that we use measurables.


Add uniquefans.eth

Hi! What is your PR about?

[] Add images for your space
[x ] Add custom domain for your space
[ ] Add alias for migrate your space
[ ] Add or edit a skin
~Edit your space with GitHub?~ (deprecated) Please migrate your space to ENS https://docs.snapshot.page/spaces/migrate
~Create your space with GitHub~ (deprecated) Create your space with ENS instead https://docs.snapshot.page/spaces/create

I can't find your new space. Please make sure that you have filled in all required fields and added a strategy. https://snapshot.org/#/uniquefans.eth

Closing this PR for now, feel free to open it again once you've done the changes.


feat(SPV-802): implement extended pike capability

Pull Request Checklist

[ ] 📖 I created my PR using provided  : CODE_STANDARDS
[ ] 📖 I have read the short Code of Conduct: CODE_OF_CONDUCT
[ ] 🏠 I tested my changes locally.
[ ] ✅ I have provided tests for my changes.
[ ] 📝 I have used conventional commits.
[ ] 📗 I have updated any related documentation.
[ ] 💾 PR was issued based on the Github or Jira issue.

Codecov Report
Attention: Patch coverage is 8.16327% with 90 lines in your changes are missing coverage. Please review.

Project coverage is 49.00%. Comparing base (cf3d33a) to head (2ff5995).

Additional details and impacted files

@@            Coverage Diff             @@
##             main     #602      +/-   ##
==========================================
- Coverage   49.33%   49.00%   -0.33%
==========================================
  Files         255      256       +1
  Lines       12018    12104      +86
==========================================
+ Hits         5929     5932       +3
- Misses       5505     5587      +82
- Partials      584      585       +1

Flag
Coverage Δ

unittests
49.00% <8.16%> (-0.33%)
:arrow_down:

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

Files
Coverage Δ

config/config.go
100.00% <ø> (ø)

config/defaults.go
100.00% <100.00%> (ø)

engine/client_internal.go
94.31% <100.00%> (+0.06%)
:arrow_up:

engine/examples/client/pike/main.go
0.00% <ø> (ø)

engine/model_destinations.go
59.30% <ø> (ø)

engine/pike/pike.go
70.00% <ø> (ø)

engine/paymail_service_provider.go
25.97% <80.00%> (+0.32%)
:arrow_up:

server/server.go
43.13% <0.00%> (ø)

actions/sharedconfig/get.go
0.00% <0.00%> (ø)

config/services.go
44.78% <0.00%> (-0.40%)
:arrow_down:

... and 2 more

Continue to review full report in Codecov by Sentry.

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


change style => feature/body

merge change style => feature/body

change style => feature/body #17

comment


Fix Merge operators to return null output instead of empty

Fix Merge::getOutput() to return null instead of an empty vector. Operators
expect non-empty vectors as input, hence, output must be null or non-empty.
Merge operator used to sometimes return empty vectors causing a crash in
HashAggregation operator downstream.
Added a check for Operator::getOutput() being null or non-empty to the Driver.

Some tests are failing

Also a quick question: the downstream operator like HashAggregation will run into crash if it is fed with empty input?

Yes, HashAggregation crashes (in release build) if it receives an empty input.


[1.0] Update jwt resolver to mitigate network errors

For https://github.com/istio/istio/issues/14638

add retry logic when getting the remote content from the network
remove the expire time and change the refresh job to always fetch the jwt public key

Note, a public key will still be deleted after not using for 1 week, so we won't store any public key forever.
/cc @duderino @wenchenglu @ellis-bigelow

@yangminzhu: GitHub didn't allow me to request PR reviews from the following users: ellis-bigelow.
Note that only istio members and repo collaborators can review this PR, and authors cannot review their own PRs.

In response to this:

For https://github.com/istio/istio/issues/14638

add retry logic when getting the remote content from the network
remove the expire time and change the refresh job to always fetch the jwt public key

Note, a public key will still be deleted after not using for 1 week, so we won't store any public key forever.
/cc @duderino @wenchenglu @ellis-bigelow

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository.

[APPROVALNOTIFIER] This PR is NOT APPROVED
This pull-request has been approved by: yangminzhu
To fully approve this pull request, please assign additional approvers.
We suggest the following additional approver: andraxylia
If they are not already assigned, you can assign the PR to them by writing /assign @andraxylia in a comment when ready.
The full list of commands accepted by this bot can be found here.
The pull request process is described here

Needs approval from an approver in each of these files:

pilot/OWNERS

Approvers can indicate their approval by writing /approve in a comment
Approvers can cancel approval by writing /approve cancel in a comment

@yangminzhu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth.sh
4d424d78c916ed3a08ee5986a962ea83edf8c4ec
link
/test e2e-mixer-no_auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@yangminzhu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth.sh
10bfab8096bd8c017b15f63ffc98ece4dd74aa99
link
/test e2e-mixer-no_auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

@yangminzhu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth.sh
1f9fb018668706393cf33e696fdca1b3c1a6598d
link
/test e2e-mixer-no_auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test e2e-mixer-no_auth

@yangminzhu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth.sh
1f9fb018668706393cf33e696fdca1b3c1a6598d
link
/test e2e-mixer-no_auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test e2e-mixer-no_auth

@yangminzhu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth.sh
1f9fb018668706393cf33e696fdca1b3c1a6598d
link
/test e2e-mixer-no_auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

/test e2e-mixer-no_auth

@yangminzhu: The following test failed, say /retest to rerun them all:

Test name
Commit
Details
Rerun command

prow/e2e-mixer-no_auth.sh
1f9fb018668706393cf33e696fdca1b3c1a6598d
link
/test e2e-mixer-no_auth

Instructions for interacting with me using PR comments are available here.  If you have questions or suggestions related to my behavior, please file an issue against the kubernetes/test-infra repository. I understand the commands that are listed here.

It seems the prow/e2e-mixer-no_auth.sh is constantly failing in release-1.0 branch. The test istio.io/istio/tests/e2e/tests/mixer TestKubeenvMetrics failed in both this PR and  https://github.com/istio/istio/pull/14936
@bianpengyuan @douglas-reid This fix is needed by a customer who is still using 1.0, do you know how can we fix the test failure in 1.0? Thanks

@yangminzhu There had been some change to make the verification in this test less strict to de-flake it. Maybe you could fix the test by updating it to the same as its current state? https://github.com/istio/istio/blob/master/tests/e2e/tests/mixer/mixer_test.go#L664-L714

@bianpengyuan I just tried this in https://github.com/istio/istio/pull/14936 but unfortunately it still failed.
@duderino Is it possible to force merge this? All other tests passed and the failed test (istio.io/istio/tests/e2e/tests/mixer TestKubeenvMetrics) is not related to this PR, it fails even in https://github.com/istio/istio/pull/14936 with both trivial changes and and updated test to master

@duderino Can we force merge this now? Thanks!


Stop suppressing warnings with -Wno-cast-function-type

Mon Oct 22 15:22:36 UTC 2018: ++ node -e 'console.log(require('''./package.json''').version);'
Mon Oct 22 15:22:36 UTC 2018: + VERSION=0.2.2
Mon Oct 22 15:22:36 UTC 2018: + PROFILER=/cloud-profiler-nodejs/google-cloud-profiler-0.2.2.tgz
Mon Oct 22 15:22:36 UTC 2018: + TESTDIR=/test
Mon Oct 22 15:22:36 UTC 2018: + mkdir -p /test
Mon Oct 22 15:22:36 UTC 2018: + cp -r testing/busybench /test
Mon Oct 22 15:22:36 UTC 2018: + cd /test/busybench
Mon Oct 22 15:22:36 UTC 2018: + retry npm install --nodedir=/.nvm/versions/node/v10.12.0 /cloud-profiler-nodejs/google-cloud-profiler-0.2.2.tgz
Mon Oct 22 15:22:36 UTC 2018: + for i in {1..3}
Mon Oct 22 15:22:36 UTC 2018: + npm install --nodedir=/.nvm/versions/node/v10.12.0 /cloud-profiler-nodejs/google-cloud-profiler-0.2.2.tgz
Mon Oct 22 15:22:40 UTC 2018: In file included from ../../../nan/nan_new.h:189:0,
Mon Oct 22 15:22:40 UTC 2018: from ../../../nan/nan.h:222,
Mon Oct 22 15:22:40 UTC 2018: from ../bindings/sampling-heap-profiler.cc:19:
Mon Oct 22 15:22:40 UTC 2018: ../../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::StringObject>::return_t Nan::imp::Factory<v8::StringObject>::New(v8::Local<v8::String>)’:
Mon Oct 22 15:22:40 UTC 2018: ../../../nan/nan_implementation_12_inl.h:340:37: warning: ‘static v8::Local<v8::Value> v8::StringObject::New(v8::Local<v8::String>)’ is deprecated: Use Isolate* version [-Wdeprecated-declarations]
Mon Oct 22 15:22:40 UTC 2018: return v8::StringObject::New(value).As<v8::StringObject>();
Mon Oct 22 15:22:40 UTC 2018: ^
Mon Oct 22 15:22:40 UTC 2018: In file included from /.nvm/versions/node/v10.12.0/include/node/v8.h:26:0,
Mon Oct 22 15:22:40 UTC 2018: from /.nvm/versions/node/v10.12.0/include/node/v8-profiler.h:10,
Mon Oct 22 15:22:40 UTC 2018: from ../bindings/sampling-heap-profiler.cc:18:
Mon Oct 22 15:22:40 UTC 2018: /.nvm/versions/node/v10.12.0/include/node/v8.h:5053:37: note: declared here
Mon Oct 22 15:22:40 UTC 2018: static Local<Value> New(Local<String> value));
Mon Oct 22 15:22:40 UTC 2018: ^
Mon Oct 22 15:22:40 UTC 2018: /.nvm/versions/node/v10.12.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
Mon Oct 22 15:22:40 UTC 2018: declarator __attribute__((deprecated(message)))
Mon Oct 22 15:22:40 UTC 2018: ^~~~~~~~~~
Mon Oct 22 15:22:40 UTC 2018: In file included from ../bindings/sampling-heap-profiler.cc:19:0:
Mon Oct 22 15:22:40 UTC 2018: ../../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Local<v8::Value>)’:
Mon Oct 22 15:22:40 UTC 2018: ../../../nan/nan.h:1066:53: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
Mon Oct 22 15:22:40 UTC 2018: v8::Local<v8::String> string = from->ToString();
Mon Oct 22 15:22:40 UTC 2018: ^
Mon Oct 22 15:22:40 UTC 2018: In file included from /.nvm/versions/node/v10.12.0/include/node/v8-profiler.h:10:0,
Mon Oct 22 15:22:40 UTC 2018: from ../bindings/sampling-heap-profiler.cc:18:
Mon Oct 22 15:22:40 UTC 2018: /.nvm/versions/node/v10.12.0/include/node/v8.h:10040:15: note: declared here
Mon Oct 22 15:22:40 UTC 2018: Local<String> Value::ToString() const {
Mon Oct 22 15:22:40 UTC 2018: ^~~~~
Mon Oct 22 15:22:40 UTC 2018: In file included from ../bindings/sampling-heap-profiler.cc:19:0:
Mon Oct 22 15:22:40 UTC 2018: ../../../nan/nan.h:1080:74: warning: ‘int v8::String::WriteUtf8(char*, int, int*, int) const’ is deprecated: Use Isolate* version [-Wdeprecated-declarations]
Mon Oct 22 15:22:40 UTC 2018: length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
Mon Oct 22 15:22:40 UTC 2018: ^
Mon Oct 22 15:22:40 UTC 2018: In file included from /.nvm/versions/node/v10.12.0/include/node/v8.h:26:0,
Mon Oct 22 15:22:40 UTC 2018: from /.nvm/versions/node/v10.12.0/include/node/v8-profiler.h:10,
Mon Oct 22 15:22:40 UTC 2018: from ../bindings/sampling-heap-profiler.cc:18:
Mon Oct 22 15:22:40 UTC 2018: /.nvm/versions/node/v10.12.0/include/node/v8.h:2659:21: note: declared here
Mon Oct 22 15:22:40 UTC 2018: int WriteUtf8(char* buffer, int length = -1,
Mon Oct 22 15:22:40 UTC 2018: ^
Mon Oct 22 15:22:40 UTC 2018: /.nvm/versions/node/v10.12.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
Mon Oct 22 15:22:40 UTC 2018: declarator __attribute__((deprecated(message)))
Mon Oct 22 15:22:40 UTC 2018: ^~~~~~~~~~
Mon Oct 22 15:22:40 UTC 2018: ../bindings/sampling-heap-profiler.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE StartSamplingHeapProfiler(Nan::NAN_METHOD_ARGS_TYPE)’:
Mon Oct 22 15:22:40 UTC 2018: ../bindings/sampling-heap-profiler.cc:69:67: warning: ‘uint32_t v8::Value::Uint32Value() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
Mon Oct 22 15:22:40 UTC 2018: uint64_t sample_interval = info[0].As<Integer>()->Uint32Value();
Mon Oct 22 15:22:40 UTC 2018: ^
Mon Oct 22 15:22:40 UTC 2018: In file included from /.nvm/versions/node/v10.12.0/include/node/v8.h:26:0,
Mon Oct 22 15:22:40 UTC 2018: from /.nvm/versions/node/v10.12.0/include/node/v8-profiler.h:10,
Mon Oct 22 15:22:40 UTC 2018: from ../bindings/sampling-heap-profiler.cc:18:
Mon Oct 22 15:22:40 UTC 2018: /.nvm/versions/node/v10.12.0/include/node/v8.h:2477:47: note: declared here
Mon Oct 22 15:22:40 UTC 2018: V8_DEPRECATED("Use maybe version", uint32_t Uint32Value() const);
Mon Oct 22 15:22:40 UTC 2018: ^
Mon Oct 22 15:22:40 UTC 2018: /.nvm/versions/node/v10.12.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
Mon Oct 22 15:22:40 UTC 2018: declarator __attribute__((deprecated(message)))
Mon Oct 22 15:22:40 UTC 2018: ^~~~~~~~~~
Mon Oct 22 15:22:40 UTC 2018: ../bindings/sampling-heap-profiler.cc:70:59: warning: ‘int64_t v8::Value::IntegerValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
Mon Oct 22 15:22:40 UTC 2018: int stack_depth = info[1].As<Integer>()->IntegerValue();
Mon Oct 22 15:22:40 UTC 2018: ^
Mon Oct 22 15:22:40 UTC 2018: In file included from /.nvm/versions/node/v10.12.0/include/node/v8.h:26:0,
Mon Oct 22 15:22:40 UTC 2018: from /.nvm/versions/node/v10.12.0/include/node/v8-profiler.h:10,
Mon Oct 22 15:22:40 UTC 2018: from ../bindings/sampling-heap-profiler.cc:18:
Mon Oct 22 15:22:40 UTC 2018: /.nvm/versions/node/v10.12.0/include/node/v8.h:2476:46: note: declared here
Mon Oct 22 15:22:40 UTC 2018: V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
Mon Oct 22 15:22:40 UTC 2018: ^
Mon Oct 22 15:22:40 UTC 2018: /.nvm/versions/node/v10.12.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
Mon Oct 22 15:22:40 UTC 2018: declarator __attribute__((deprecated(message)))
Mon Oct 22 15:22:40 UTC 2018: ^~~~~~~~~~
Mon Oct 22 15:22:41 UTC 2018: In file included from ../../../nan/nan_new.h:189:0,
Mon Oct 22 15:22:41 UTC 2018: from ../../../nan/nan.h:222,
Mon Oct 22 15:22:41 UTC 2018: from ../bindings/time-profiler.cc:18:
Mon Oct 22 15:22:41 UTC 2018: ../../../nan/nan_implementation_12_inl.h: In static member function ‘static Nan::imp::FactoryBase<v8::StringObject>::return_t Nan::imp::Factory<v8::StringObject>::New(v8::Local<v8::String>)’:
Mon Oct 22 15:22:41 UTC 2018: ../../../nan/nan_implementation_12_inl.h:340:37: warning: ‘static v8::Local<v8::Value> v8::StringObject::New(v8::Local<v8::String>)’ is deprecated: Use Isolate* version [-Wdeprecated-declarations]
Mon Oct 22 15:22:41 UTC 2018: return v8::StringObject::New(value).As<v8::StringObject>();
Mon Oct 22 15:22:41 UTC 2018: ^
Mon Oct 22 15:22:41 UTC 2018: In file included from /.nvm/versions/node/v10.12.0/include/node/v8.h:26:0,
Mon Oct 22 15:22:41 UTC 2018: from /.nvm/versions/node/v10.12.0/include/node/v8-profiler.h:10,
Mon Oct 22 15:22:41 UTC 2018: from ../bindings/time-profiler.cc:17:
Mon Oct 22 15:22:41 UTC 2018: /.nvm/versions/node/v10.12.0/include/node/v8.h:5053:37: note: declared here
Mon Oct 22 15:22:41 UTC 2018: static Local<Value> New(Local<String> value));
Mon Oct 22 15:22:41 UTC 2018: ^
Mon Oct 22 15:22:41 UTC 2018: /.nvm/versions/node/v10.12.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
Mon Oct 22 15:22:41 UTC 2018: declarator __attribute__((deprecated(message)))
Mon Oct 22 15:22:41 UTC 2018: ^~~~~~~~~~
Mon Oct 22 15:22:41 UTC 2018: In file included from ../bindings/time-profiler.cc:18:0:
Mon Oct 22 15:22:41 UTC 2018: ../../../nan/nan.h: In constructor ‘Nan::Utf8String::Utf8String(v8::Local<v8::Value>)’:
Mon Oct 22 15:22:41 UTC 2018: ../../../nan/nan.h:1066:53: warning: ‘v8::Local<v8::String> v8::Value::ToString() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
Mon Oct 22 15:22:41 UTC 2018: v8::Local<v8::String> string = from->ToString();
Mon Oct 22 15:22:41 UTC 2018: ^
Mon Oct 22 15:22:41 UTC 2018: In file included from /.nvm/versions/node/v10.12.0/include/node/v8-profiler.h:10:0,
Mon Oct 22 15:22:41 UTC 2018: from ../bindings/time-profiler.cc:17:
Mon Oct 22 15:22:41 UTC 2018: /.nvm/versions/node/v10.12.0/include/node/v8.h:10040:15: note: declared here
Mon Oct 22 15:22:41 UTC 2018: Local<String> Value::ToString() const {
Mon Oct 22 15:22:41 UTC 2018: ^~~~~
Mon Oct 22 15:22:41 UTC 2018: In file included from ../bindings/time-profiler.cc:18:0:
Mon Oct 22 15:22:41 UTC 2018: ../../../nan/nan.h:1080:74: warning: ‘int v8::String::WriteUtf8(char*, int, int*, int) const’ is deprecated: Use Isolate* version [-Wdeprecated-declarations]
Mon Oct 22 15:22:41 UTC 2018: length_ = string->WriteUtf8(str_, static_cast<int>(len), 0, flags);
Mon Oct 22 15:22:41 UTC 2018: ^
Mon Oct 22 15:22:41 UTC 2018: In file included from /.nvm/versions/node/v10.12.0/include/node/v8.h:26:0,
Mon Oct 22 15:22:41 UTC 2018: from /.nvm/versions/node/v10.12.0/include/node/v8-profiler.h:10,
Mon Oct 22 15:22:41 UTC 2018: from ../bindings/time-profiler.cc:17:
Mon Oct 22 15:22:41 UTC 2018: /.nvm/versions/node/v10.12.0/include/node/v8.h:2659:21: note: declared here
Mon Oct 22 15:22:41 UTC 2018: int WriteUtf8(char* buffer, int length = -1,
Mon Oct 22 15:22:41 UTC 2018: ^
Mon Oct 22 15:22:41 UTC 2018: /.nvm/versions/node/v10.12.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
Mon Oct 22 15:22:41 UTC 2018: declarator __attribute__((deprecated(message)))
Mon Oct 22 15:22:41 UTC 2018: ^~~~~~~~~~
Mon Oct 22 15:22:41 UTC 2018: ../bindings/time-profiler.cc: In function ‘Nan::NAN_METHOD_RETURN_TYPE SetSamplingInterval(Nan::NAN_METHOD_ARGS_TYPE)’:
Mon Oct 22 15:22:41 UTC 2018: ../bindings/time-profiler.cc:89:48: warning: ‘int64_t v8::Value::IntegerValue() const’ is deprecated: Use maybe version [-Wdeprecated-declarations]
Mon Oct 22 15:22:41 UTC 2018: int us = info[0].As<Integer>()->IntegerValue();
Mon Oct 22 15:22:41 UTC 2018: ^
Mon Oct 22 15:22:41 UTC 2018: In file included from /.nvm/versions/node/v10.12.0/include/node/v8.h:26:0,
Mon Oct 22 15:22:41 UTC 2018: from /.nvm/versions/node/v10.12.0/include/node/v8-profiler.h:10,
Mon Oct 22 15:22:41 UTC 2018: from ../bindings/time-profiler.cc:17:
Mon Oct 22 15:22:41 UTC 2018: /.nvm/versions/node/v10.12.0/include/node/v8.h:2476:46: note: declared here
Mon Oct 22 15:22:41 UTC 2018: V8_DEPRECATED("Use maybe version", int64_t IntegerValue() const);
Mon Oct 22 15:22:41 UTC 2018: ^
Mon Oct 22 15:22:41 UTC 2018: /.nvm/versions/node/v10.12.0/include/node/v8config.h:324:3: note: in definition of macro ‘V8_DEPRECATED’
Mon Oct 22 15:22:41 UTC 2018: declarator __attribute__((deprecated(message)))
Mon Oct 22 15:22:41 UTC 2018: ^~~~~~~~~~
Mon Oct 22 15:22:41 UTC 2018: npm notice created a lockfile as package-lock.json. You should commit this file.
Mon Oct 22 15:22:41 UTC 2018: npm WARN @0.0.0 No description
Mon Oct 22 15:22:41 UTC 2018: npm WARN @0.0.0 No repository field.
Mon Oct 22 15:22:41 UTC 2018:
Mon Oct 22 15:22:41 UTC 2018: + return 0
Mon Oct 22 15:22:41 UTC 2018: + retry npm install
Mon Oct 22 15:22:41 UTC 2018: + for i in {1..3}
Mon Oct 22 15:22:41 UTC 2018: + npm install
Mon Oct 22 15:22:47 UTC 2018: npm WARN lifecycle @0.0.0~prepare: cannot run in wd @0.0.0 npm run compile (wd=/test/busybench)
Mon Oct 22 15:22:47 UTC 2018: npm WARN @0.0.0 No description
Mon Oct 22 15:22:47 UTC 2018: npm WARN @0.0.0 No repository field.

@nolanmar511 Ah, thanks, yes it was a mistake.

The ones originating from our files should be fixed by #318.
Most of these we need NAN to address (https://github.com/nodejs/nan/issues/810)

Can we get a release made with at least the fixes from https://github.com/googleapis/cloud-profiler-nodejs/pull/318 while waiting for NAN to address the remaining issues?

Thanks!
We just released 0.2.3!

https://github.com/nodejs/nan/issues/810 has been fixed, but not released since that fix.
I asked on that issue for a new release of NAN.

I reproduced an an ubuntu GCE instance. For reference, here are deprecation warnings:
make: Entering directory '/home/nolanmar/tmp/node_modules/@google-cloud/profiler/build'
  CXX(target) Release/obj.target/google_cloud_profiler/bindings/profiler.o
In file included from ../bindings/profiler.cc:18:
../../../nan/nan.h: In function ‘void Nan::AsyncQueueWorker(Nan::AsyncWorker*)’:
../../../nan/nan.h:2232:62: warning: cast between incompatible function types from ‘void (*)(uv_work_t*)’ {aka ‘void (*)(uv_work_s*)’} to ‘uv_after_work_cb’ {aka ‘void (*)(uv_work_s*, int)’} [-Wcast-function-type]
     , reinterpret_cast<uv_after_work_cb>(AsyncExecuteComplete)
                                                              ^
In file included from ../../../nan/nan.h:53,
                 from ../bindings/profiler.cc:18:
../bindings/profiler.cc: At global scope:
/home/nolanmar/.node-gyp/10.15.1/include/node/node.h:570:43: warning: cast between incompatible function types from ‘void (*)(Nan::ADDON_REGISTER_FUNCTION_ARGS_TYPE)’ {aka ‘void (*)(v8::Local<v8::Object>)’} to ‘node::addon_register_func’ {aka ‘void (*)(v8::Local<v8::Object>, v8::Local<v8::Value>, void*)’} [-Wcast-function-type]
       (node::addon_register_func) (regfunc),                          \
                                           ^
/home/nolanmar/.node-gyp/10.15.1/include/node/node.h:604:3: note: in expansion of macro ‘NODE_MODULE_X’
   NODE_MODULE_X(modname, regfunc, NULL, 0)  // NOLINT (readability/null_usage)
   ^~~~~~~~~~~~~
../bindings/profiler.cc:189:1: note: in expansion of macro ‘NODE_MODULE’
 NODE_MODULE(google_cloud_profiler, InitAll);
 ^~~~~~~~~~~
In file included from /home/nolanmar/.node-gyp/10.15.1/include/node/v8-profiler.h:10,
                 from ../bindings/profiler.cc:17:
/home/nolanmar/.node-gyp/10.15.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = node::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)]’:
/home/nolanmar/.node-gyp/10.15.1/include/node/node_object_wrap.h:85:78:   required from here
/home/nolanmar/.node-gyp/10.15.1/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<node::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<node::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]
                reinterpret_cast<Callback>(callback), type);
                ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/home/nolanmar/.node-gyp/10.15.1/include/node/v8.h: In instantiation of ‘void v8::PersistentBase<T>::SetWeak(P*, typename v8::WeakCallbackInfo<P>::Callback, v8::WeakCallbackType) [with P = Nan::ObjectWrap; T = v8::Object; typename v8::WeakCallbackInfo<P>::Callback = void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)]’:
../../../nan/nan_object_wrap.h:66:61:   required from here
/home/nolanmar/.node-gyp/10.15.1/include/node/v8.h:9502:16: warning: cast between incompatible function types from ‘v8::WeakCallbackInfo<Nan::ObjectWrap>::Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<Nan::ObjectWrap>&)’} to ‘Callback’ {aka ‘void (*)(const v8::WeakCallbackInfo<void>&)’} [-Wcast-function-type]

Re-purposing this issue to be about removing the suppression of warnings added in #424 .

Removed from Beta hotlist, since this issue has been re-purposed and original deprecation warnings no longer appear.

Marking this as fixed since native component is now in pprof module.
I filed https://github.com/google/pprof-nodejs/pull/63 there.


ARROW-3794 [R]: Consider mapping INT8 to integer() not raw()

R vectors of raw types are converted to arrays of type uint8
arrow::array(as.raw(1:10))$type
#> arrow::UInt8
#> uint8

but otoh, arrays of type uint8 are converted to R integer vectors.
library(arrow, warn.conflicts = FALSE)

a <- array((-128):127)$cast(int8())
str(a$as_vector())
#>  int [1:256] -128 -127 -126 -125 -124 -123 -122 -121 -120 -119 ...

a <- array(0:255)$cast(uint8())
str(a$as_vector())
#>  int [1:256] 0 1 2 3 4 5 6 7 8 9 ...

Created on 2019-06-10 by the reprex package (v<IP_ADDRESS>00)

Not sure about the first thing, perhaps raw vectors should just be converted to int32 arrays ?

Codecov Report

Merging #4507 into master will decrease coverage by 11.16%.
The diff coverage is 100%.

@@             Coverage Diff             @@
##           master    #4507       +/-   ##
===========================================
- Coverage   88.27%   77.11%   -11.17%
===========================================
  Files         846       51      -795
  Lines      103662     1975   -101687
  Branches     1253        0     -1253
===========================================
- Hits        91512     1523    -89989
+ Misses      11903      452    -11451
+ Partials      247        0      -247

Impacted Files
Coverage Δ

r/src/array__to_vector.cpp
78.66% <100%> (+0.7%)
:arrow_up:

r/src/array_from_vector.cpp
78.29% <100%> (ø)
:arrow_up:

python/pyarrow/ipc.pxi

cpp/src/arrow/csv/chunker-test.cc

cpp/src/parquet/column_page.h

cpp/src/parquet/bloom_filter-test.cc

cpp/src/arrow/array/builder_decimal.cc

cpp/src/plasma/client.cc

cpp/src/arrow/io/test-common.h

cpp/src/arrow/util/int-util-test.cc

... and 788 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 37e6183...1cff5d7. Read the comment docs.

The original concern that int8 map to integer seems addressed here, but i'm wondering if uint8 is most appropriate for raw. Why not the binary type that Javier mentioned in the ticket? http://arrow.apache.org/docs/format/Metadata.html#utf8-and-binary

That does not look like the same thing to me. binary here looks more like a list of raw vectors rather than a single raw vector, which are closer to a fixed width (1) binary type: https://arrow.apache.org/docs/cpp/classarrow_1_1_fixed_size_binary_type.html

Alright, LGTM


[2.14.0] Update codeflare release tag of workaround branch and apply oc login

closes https://issues.redhat.com/browse/RHOAIENG-14785
Updated codeflare-sdk release tag of workaround branch and applying oc login to avoid ssl error RHOAIENG-14012

E2E and upgrade Tests are passed here job/rhoai-test-flow/921 , job/rhoai-test-flow/922