datastore: ErrFieldMismatch decoding NullValue into a slice

NullValue in Datastore doesn't decode into a slice correctly, or at least not how I would expect it to.
Suppose I have the following data structures:
type Pet struct {
	Name string
	Type string
}

type Person struct {
	Name string
	Pets []Pet
}

and an Entity in Datastore where Pets is set to NullValue. When I try to get the data
p := &Person{}
err = client.Get(ctx, key, p)

an ErrFieldMismatch error is returned:

datastore: cannot load field "Pets" into a "main.Person": type mismatch: empty versus main.Pet

Obviously, I can ignore the error, but I find the error kind of weird. I would expect Pets to be nil, or, at the very least, an empty slice (well, I guess Pets is still nil since it started that way).
The error message is also a bit weird. It seems to indicate that it can't load NullValue into main.Pet, not []main.Pet.
To explore this a bit farther, I changed the data structure to
type Person struct {
	Name string
	Pets []*Pet
}

Now, I don't get an error, but Pets ends up having a length of 1 and a nil as its only element. Further, if I change the type of Pets to []string or []int, I get a slice of length 1 with the type's zero value as the only element.

Here is the code I was playing with:
package main

import (
	"cloud.google.com/go/datastore"
	"fmt"
	"golang.org/x/net/context"
	"os"
)

type Pet struct {
	Name string
	Type string
}

type Person struct {
	Name string
	Pets []Pet
}

func slice_test(projectID string) error {

	ctx := context.Background()

	client, err := datastore.NewClient(ctx, projectID)
	if err != nil {
		return err
	}

	key := datastore.NameKey("person", "david", nil)

	// This doesn't write the null at Pets, so go do it manually.
	// _, err = client.Put(ctx, key, &Person{Name: "David"})

	p := &Person{}
	err = client.Get(ctx, key, p)
	if err != nil {
		return err
	}

	fmt.Println(p)
	fmt.Println(len(p.Pets))

	return nil
}

func main() {
	if len(os.Args) != 2 {
		fmt.Println("Usage: slice_test <google-cloud-project>")
		os.Exit(1)
	}

	projectID := os.Args[1]

	err := slice_test(projectID)
	if err != nil {
		fmt.Println(err)
		os.Exit(1)
	}
}

Hey @dsansot, thanks for the report. Yea, the error message is not great.
I'd like to better understand your use-case before I dive into a solution.
So the client will never write a NullValue slice to Datastore (as you discovered). This makes the reading and loading back into a struct work fine if you've also written with the Go client (which you haven't, obvi).
Anyway, can you explain why you need this? I don't think it's a good idea to have the client write NULL for a nil-valued slice (b/c backwards compatibility), so I'm a little reluctant to add the reading functionality.

cc @jba

Hi @adams-sarah,
You are correct in guessing that another application is writing the data to Datastore. In our case, it is a python application. We use Datastore as a communication/caching layer between our backend business app (written in django) and our front end servers (go).
I see some of the other types (ints, strings, etc.) have checks for NullValue before returning a mismatch reason. In those cases the zero value gets loaded. I guess I'm arguing for the same behavior for slices.
I think the problem stems from the fact that sometimes the code looks at the Datastore data to handle slices and sometimes it looks at the struct into which the data should be loaded. Specifically, the code in load looks at the data from Datastore to branch to some slice handling, but the code in loadOneElement looks at if the receiver is a slice. These aren't guaranteed to always both be true. For example, the code as it currently stands will gladly load a StringValue into a []string as the slice's first element.

It would be great if there is a chance to introduce an option to override this unexpected behavior for slice fields. Ideally it should be deserialized into the zero value of a slice, which should be a nil. To deserialize into a one element slice with element type's zero value doesn't make sense, IMHO.


Bug

Describe the bug
Error, synchronization between servers
Hey i downloaded the compreface project on my laptop, i am running on an ubuntu 20.04 focal, when i create a service or the demo service i get that error. error synchronization between servers

Hi, could you run docker ps command and show which containers are run?
Also, could you share the logs: docker logs compreface-core

when i run docker ps and the following

containers are displayed

when i run docker logs compreface-core i get the following outpu

According to docker ps - you don't have any started containers.
Also, can you show the end of the logs of docker logs compreface-core? Or even copy all of them to https://pastebin.com/?

When i run docker ps after starting the containers this is what i get.

as you can see the compre core server is not running

Thanks, so we know that one container hasn't started well - compreface-core
I need full logs to understand why.
One of the possible reasons - you use arm-based CPU or x86 CPU without avx support.

These are the output logs, when i run docker logs compreface-core
[uWSGI] getting INI configuration from uwsgi.ini
*** Starting uWSGI 2.0.19 (64bit) on [Tue Jul 27 17:11:19 2021] ***
compiled with version: 8.3.0 on 01 May 2021 13:22:19
os: Linux-5.8.0-63-generic #71~20.04.1-Ubuntu SMP Thu Jul 15 17:46:08 UTC 2021
nodename: 1a91f85b240b
machine: x86_64
clock source: unix
detected number of CPU cores: 2
current working directory: /app/ml
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
setgid() to 33
setuid() to 33
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address <IP_ADDRESS>:3000 fd 3
Python version: 3.7.10 (default, Mar 12 2021, 20:19:07)  [GCC 8.3.0]
Python main interpreter initialized at 0x55aa078d02b0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 218712 bytes (213 KB) for 2 cores
*** Operational MODE: preforking ***
[uWSGI] getting INI configuration from uwsgi.ini
*** Starting uWSGI 2.0.19 (64bit) on [Fri Jul 30 09:46:43 2021] ***
compiled with version: 8.3.0 on 01 May 2021 13:22:19
os: Linux-5.8.0-63-generic #71~20.04.1-Ubuntu SMP Thu Jul 15 17:46:08 UTC 2021
nodename: 1a91f85b240b
machine: x86_64
clock source: unix
detected number of CPU cores: 2
current working directory: /app/ml
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
setgid() to 33
setuid() to 33
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address <IP_ADDRESS>:3000 fd 3
Python version: 3.7.10 (default, Mar 12 2021, 20:19:07)  [GCC 8.3.0]
Python main interpreter initialized at 0x55d6e39232d0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 218712 bytes (213 KB) for 2 cores
*** Operational MODE: preforking ***
[uWSGI] getting INI configuration from uwsgi.ini
*** Starting uWSGI 2.0.19 (64bit) on [Sat Jul 31 19:45:35 2021] ***
compiled with version: 8.3.0 on 01 May 2021 13:22:19
os: Linux-5.8.0-63-generic #71~20.04.1-Ubuntu SMP Thu Jul 15 17:46:08 UTC 2021
nodename: 1a91f85b240b
machine: x86_64
clock source: unix
detected number of CPU cores: 2
current working directory: /app/ml
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
setgid() to 33
setuid() to 33
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address <IP_ADDRESS>:3000 fd 3
Python version: 3.7.10 (default, Mar 12 2021, 20:19:07)  [GCC 8.3.0]
Python main interpreter initialized at 0x5613f1b942d0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 218712 bytes (213 KB) for 2 cores
*** Operational MODE: preforking ***
[uWSGI] getting INI configuration from uwsgi.ini
*** Starting uWSGI 2.0.19 (64bit) on [Sat Jul 31 19:48:07 2021] ***
compiled with version: 8.3.0 on 01 May 2021 13:22:19
os: Linux-5.8.0-63-generic #71~20.04.1-Ubuntu SMP Thu Jul 15 17:46:08 UTC 2021
nodename: 1a91f85b240b
machine: x86_64
clock source: unix
detected number of CPU cores: 2
current working directory: /app/ml
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
setgid() to 33
setuid() to 33
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address <IP_ADDRESS>:3000 fd 3
Python version: 3.7.10 (default, Mar 12 2021, 20:19:07)  [GCC 8.3.0]
Python main interpreter initialized at 0x55ae431b32d0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 218712 bytes (213 KB) for 2 cores
*** Operational MODE: preforking ***
[uWSGI] getting INI configuration from uwsgi.ini
*** Starting uWSGI 2.0.19 (64bit) on [Sat Jul 31 20:12:40 2021] ***
compiled with version: 8.3.0 on 01 May 2021 13:22:19
os: Linux-5.8.0-63-generic #71~20.04.1-Ubuntu SMP Thu Jul 15 17:46:08 UTC 2021
nodename: 1a91f85b240b
machine: x86_64
clock source: unix
detected number of CPU cores: 2
current working directory: /app/ml
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
setgid() to 33
setuid() to 33
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address <IP_ADDRESS>:3000 fd 3
Python version: 3.7.10 (default, Mar 12 2021, 20:19:07)  [GCC 8.3.0]
Python main interpreter initialized at 0x565363da42d0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 218712 bytes (213 KB) for 2 cores
*** Operational MODE: preforking ***
[uWSGI] getting INI configuration from uwsgi.ini
*** Starting uWSGI 2.0.19 (64bit) on [Sun Aug  1 14:01:49 2021] ***
compiled with version: 8.3.0 on 01 May 2021 13:22:19
os: Linux-5.8.0-63-generic #71~20.04.1-Ubuntu SMP Thu Jul 15 17:46:08 UTC 2021
nodename: 1a91f85b240b
machine: x86_64
clock source: unix
detected number of CPU cores: 2
current working directory: /app/ml
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
setgid() to 33
setuid() to 33
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address <IP_ADDRESS>:3000 fd 3
Python version: 3.7.10 (default, Mar 12 2021, 20:19:07)  [GCC 8.3.0]
Python main interpreter initialized at 0x556bc2eb42d0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 218712 bytes (213 KB) for 2 cores
*** Operational MODE: preforking ***
[uWSGI] getting INI configuration from uwsgi.ini
*** Starting uWSGI 2.0.19 (64bit) on [Sun Aug  1 14:04:10 2021] ***
compiled with version: 8.3.0 on 01 May 2021 13:22:19
os: Linux-5.8.0-63-generic #71~20.04.1-Ubuntu SMP Thu Jul 15 17:46:08 UTC 2021
nodename: 1a91f85b240b
machine: x86_64
clock source: unix
detected number of CPU cores: 2
current working directory: /app/ml
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
setgid() to 33
setuid() to 33
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address <IP_ADDRESS>:3000 fd 3
Python version: 3.7.10 (default, Mar 12 2021, 20:19:07)  [GCC 8.3.0]
Python main interpreter initialized at 0x560dfa97f2d0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 218712 bytes (213 KB) for 2 cores
*** Operational MODE: preforking ***
[uWSGI] getting INI configuration from uwsgi.ini
*** Starting uWSGI 2.0.19 (64bit) on [Sun Aug  1 14:05:00 2021] ***
compiled with version: 8.3.0 on 01 May 2021 13:22:19
os: Linux-5.8.0-63-generic #71~20.04.1-Ubuntu SMP Thu Jul 15 17:46:08 UTC 2021
nodename: 1a91f85b240b
machine: x86_64
clock source: unix
detected number of CPU cores: 2
current working directory: /app/ml
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
setgid() to 33
setuid() to 33
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address <IP_ADDRESS>:3000 fd 3
Python version: 3.7.10 (default, Mar 12 2021, 20:19:07)  [GCC 8.3.0]
Python main interpreter initialized at 0x5599652292d0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 218712 bytes (213 KB) for 2 cores
*** Operational MODE: preforking ***
[uWSGI] getting INI configuration from uwsgi.ini
*** Starting uWSGI 2.0.19 (64bit) on [Mon Aug  2 09:48:49 2021] ***
compiled with version: 8.3.0 on 01 May 2021 13:22:19
os: Linux-5.8.0-63-generic #71~20.04.1-Ubuntu SMP Thu Jul 15 17:46:08 UTC 2021
nodename: 1a91f85b240b
machine: x86_64
clock source: unix
detected number of CPU cores: 2
current working directory: /app/ml
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
setgid() to 33
setuid() to 33
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address <IP_ADDRESS>:3000 fd 3
Python version: 3.7.10 (default, Mar 12 2021, 20:19:07)  [GCC 8.3.0]
Python main interpreter initialized at 0x5618a7abb2d0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 218712 bytes (213 KB) for 2 cores
*** Operational MODE: preforking ***
[uWSGI] getting INI configuration from uwsgi.ini
*** Starting uWSGI 2.0.19 (64bit) on [Mon Aug  2 14:23:53 2021] ***
compiled with version: 8.3.0 on 01 May 2021 13:22:19
os: Linux-5.8.0-63-generic #71~20.04.1-Ubuntu SMP Thu Jul 15 17:46:08 UTC 2021
nodename: 1a91f85b240b
machine: x86_64
clock source: unix
detected number of CPU cores: 2
current working directory: /app/ml
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
setgid() to 33
setuid() to 33
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address <IP_ADDRESS>:3000 fd 3
Python version: 3.7.10 (default, Mar 12 2021, 20:19:07)  [GCC 8.3.0]
Python main interpreter initialized at 0x55ba18ca02b0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 218712 bytes (213 KB) for 2 cores
*** Operational MODE: preforking ***
[uWSGI] getting INI configuration from uwsgi.ini
*** Starting uWSGI 2.0.19 (64bit) on [Mon Aug  2 14:27:28 2021] ***
compiled with version: 8.3.0 on 01 May 2021 13:22:19
os: Linux-5.8.0-63-generic #71~20.04.1-Ubuntu SMP Thu Jul 15 17:46:08 UTC 2021
nodename: 1a91f85b240b
machine: x86_64
clock source: unix
detected number of CPU cores: 2
current working directory: /app/ml
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
setgid() to 33
setuid() to 33
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address <IP_ADDRESS>:3000 fd 3
Python version: 3.7.10 (default, Mar 12 2021, 20:19:07)  [GCC 8.3.0]
Python main interpreter initialized at 0x56033671a2b0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 218712 bytes (213 KB) for 2 cores
*** Operational MODE: preforking ***
[uWSGI] getting INI configuration from uwsgi.ini
*** Starting uWSGI 2.0.19 (64bit) on [Mon Aug  2 17:37:25 2021] ***
compiled with version: 8.3.0 on 01 May 2021 13:22:19
os: Linux-5.8.0-63-generic #71~20.04.1-Ubuntu SMP Thu Jul 15 17:46:08 UTC 2021
nodename: 1a91f85b240b
machine: x86_64
clock source: unix
detected number of CPU cores: 2
current working directory: /app/ml
detected binary path: /usr/local/bin/uwsgi
!!! no internal routing support, rebuild with pcre support !!!
setgid() to 33
setuid() to 33
your memory page size is 4096 bytes
detected max file descriptor number: 1048576
lock engine: pthread robust mutexes
thunder lock: disabled (you can enable it with --thunder-lock)
uwsgi socket 0 bound to TCP address <IP_ADDRESS>:3000 fd 3
Python version: 3.7.10 (default, Mar 12 2021, 20:19:07)  [GCC 8.3.0]
Python main interpreter initialized at 0x55db6c6672b0
python threads support enabled
your server socket listen backlog is limited to 100 connections
your mercy for graceful operations on workers is 60 seconds
mapped 218712 bytes (213 KB) for 2 cores
*** Operational MODE: preforking ***

Please check it for me, i have a presentation in a weeks time concerning this technology. i want to market your products over here

Don't see any problems in logs...
Could you run cat /proc/cpuinfo and show the results?

sure thing

I don't see avx flag in the flags section. Please check it again, if I am wrong.
AVX flag is a minimum requirement to run CompreFace for now.
The reason - the default Tensorflow version requires AVX flag. And it's not easy to build CompreFace in a different way.

i see, let me get a laptop that has AVX technology. Thank you bud


Add an intrinsic for Array#to_a

Add an intrinsic for Array#to_a to avoid the cost of method frame setup.
Motivation

Performance.
Test plan

See included automated tests.

We have a policy of testing changes to Sorbet against Stripe's codebase before
merging them. I've kicked off a test run for the current PR.  When the build
finishes, I'll share with you whether or how it failed. Thanks!
Stripe employees can see the build results here:
→ https://go/builds/bui_KcF6AhbCyUu55g
→ https://go/builds/bui_KcF6SOD6bPMvA3


[Proposal] Deprecate the C extension

The C extension is for PHP 5.x only.
Recent versions of Pimple have been optimized a lot in the userland implementation, which reduced the performance gap with the C extension. And PHP 7 did the rest of the work to improve performances.
thus, the C extension makes version management harder if you have multiple projects running on the same server (your project could magically get an older version of Pimple just because the server has an old version of the extension, and so you don't get the feature that you had while testing).
I suggest deprecating the C extension

care to post some benchmarks for comparison?

Well, I don't have a PHP 5.x setup anymore to compile the extension, so I cannot do it for now.
But anyway, for PHP 7, the extension is not available (it would require reimplementing it from scratch).
And maintaining the extension creates more issue (see #222 where the new dependency on psr/container actually require re-implementing this dependency in C too for instance)

Started it in #231 (@jpauli will add a deprecated notice when one uses the C ext)


obsidian show can‘t find heading

i have installed plugins on popclip and obsidian.
But it always show “can't find heading"  when i used popclip to copy some texts

@EroyalBoy It would be better to have more context. Does the error appears on Obsidian dev tools?
Did you set popclip extension configurations?

I was happy to see that a popclip extension to directy save my (pop)clippings to my Obsidian vault.
I am experiencing the same issue as reported here, though.
I proceeded according to your description, thus popclip extension is accessible and I also set the options for Obsidian clipper.

WHEN I select text from a website
AND click the O icon from the popclip menu
THEN Obsidian throws an error "can't find heading" as explained above.

Any idea what might be missing in the set up or how I can fix this?
Many thanks in advance! 🙏🏻

Hi @GitVolk , could you change the location relative to the root of your obsidian vault, please?
Let me know if it fixes or not.


Custom app_label for view using another app's model

I have some views using model from another app, when the view is executed raise an exception NoReverseMatch  because django-view-bradcrumbs asume the app of the view is in the model app.
I think it can be fixed by adding a new attribute in the class BaseBreadcrumbMixin.
class BaseBreadcrumbMixin(object):
    ...
    app_name = None #custom app name

Also modify the function action_view_name  to adding a new parameter called app_name.
def action_view_name(model, action, full=True, app_name=None):
    if app_name:
        app_label = app_name
        model_name = get_model_name(model)
    else:
        app_label, model_name = get_app_name(model)

And then modify the mixins:
class ListBreadcrumbMixin(BaseModelBreadcrumbMixin):
    # Home / object List

    @classproperty
    def list_view_name(self):
        return action_view_name(self.model, self.list_view_suffix, full=False, app_name=self.app_name)

...

With all that I could use with my view that uses a foreign model
class TestListsView(ListBreadcrumbMixin, ListView):
    app_name = 'foreignapp'
    model = ForeignModel
    template_name = "demo/test-list.html"

If there is another way to achieve this I would like to know. Thanks for the project.

Another solution I can think of is to get the application name directly from the request using request.resolver_match.app_name

@blasferna This should be available in the latest release. Thanks

@jackton1 Thank you very much for the update, it works great.


[keepalived-vip] Traffic is not forwarded to service when pod not running on MASTER

I have a fresh deployment of K8s 1.6.3 using Weave net on 1 master and 2 minions. I've set a Traefik ingress controller using a deployment with 2 replicas. The replicas are currently running on both minions.
Then I deployed keepalived-vip and it started a pod on each of my 3 nodes (master+minions).
The problem is that when I'm on the master node, I can curl any of the three IP addresses and get a http response but when I'm on any other machine in the same network, I can't curl the VIP. The only ones that answer are the two nodes that have traefik controller listening on port 80.
I checked around and this only occurs when the keepalived MASTER is the master node which don't have the controller pod running (also there's nothing listening on port 80) but when I killed the keepalived processes in my master forcing one of the nodes to assume the VIP, curl started working perfectly on any machine.
###Endpoints
NAMESPACE     NAME                         ENDPOINTS                               AGE
default       kubernetes                   <IP_ADDRESS>:6443                      4h
kube-system   heapster                     <IP_ADDRESS>:8082                          4h
kube-system   kube-controller-manager      <none>                                  4h
kube-system   kube-dns                     <IP_ADDRESS>:53,<IP_ADDRESS>:53               4h
kube-system   kube-scheduler               <none>                                  4h
kube-system   kubernetes-dashboard         <IP_ADDRESS>:9090                          4h
kube-system   monitoring-influxdb          <IP_ADDRESS>:8086                          4h
kube-system   tiller-deploy                <IP_ADDRESS>:44134                         4h
kube-system   traefik-ingress-controller   <IP_ADDRESS>:80,<IP_ADDRESS>:80       4h
kube-system   traefik-web-ui               <IP_ADDRESS>:8081,<IP_ADDRESS>:8081   4h

Services
NAMESPACE     NAME                         CLUSTER-IP       EXTERNAL-IP   PORT(S)         AGE
default       kubernetes                   <IP_ADDRESS>        <none>        443/TCP         4h
kube-system   heapster                     <IP_ADDRESS>      <none>        80/TCP          4h
kube-system   kube-dns                     <IP_ADDRESS>       <none>        53/UDP,53/TCP   4h
kube-system   kubernetes-dashboard         <IP_ADDRESS>   <none>        80/TCP          4h
kube-system   monitoring-influxdb          <IP_ADDRESS>     <none>        8086/TCP        4h
kube-system   tiller-deploy                <IP_ADDRESS>     <none>        44134/TCP       4h
kube-system   traefik-ingress-controller   <IP_ADDRESS>    <nodes>       80:30080/TCP    4h
kube-system   traefik-web-ui               <IP_ADDRESS>    <none>        8081/TCP        4h

###Logs from Master node
[root@master-1 ~]# kdesc keepal 1
Pod: kube-keepalived-vip-c6fv0

Name:           kube-keepalived-vip-c6fv0
Namespace:      default
Node:           master-1/<IP_ADDRESS>
Start Time:     Wed, 14 Jun 2017 14:11:40 +0000
Labels:         name=kube-keepalived-vip
                pod-template-generation=1
Annotations:    kubernetes.io/created-by={"kind":"SerializedReference","apiVersion":"v1","reference":{"kind":"DaemonSet","namespace":"default","name":"kube-keepalived-vip","uid":"62e9a9c6-510b-11e7-9be9-fa163e5e86fb"...
Status:         Running
IP:             <IP_ADDRESS>
Controllers:    DaemonSet/kube-keepalived-vip
Containers:
  kube-keepalived-vip:
    Container ID:       docker://1b09cfc8e4d5a71b7f938bdca9cca905d894e78e06ee3672b3fcf8aef6ccf15b
    Image:              aledbf/kube-keepalived-vip:0.14
    Image ID:           docker-pullable://docker.io/aledbf/kube-keepalived-vip@sha256:7e451b871a13e931402f91586f96b267a7a8eaa8f7c27a46eb5e82237a029cf8
    Port:
    Args:
      --services-configmap=default/vip-configmap
    State:              Running
      Started:          Wed, 14 Jun 2017 14:12:08 +0000
    Last State:         Terminated
      Reason:           Error
      Exit Code:        255
      Started:          Mon, 01 Jan 0001 00:00:00 +0000
      Finished:         Wed, 14 Jun 2017 14:11:51 +0000
    Ready:              True
    Restart Count:      2
    Environment:
      POD_NAME:         kube-keepalived-vip-c6fv0 (v1:metadata.name)
      POD_NAMESPACE:    default (v1:metadata.namespace)
    Mounts:
      /dev from dev (rw)
      /lib/modules from modules (ro)
      /var/run/secrets/kubernetes.io/serviceaccount from kube-keepalived-vip-token-n9tdh (ro)
Conditions:
  Type          Status
  Initialized   True
  Ready         True
  PodScheduled  True
Volumes:
  modules:
    Type:       HostPath (bare host directory volume)
    Path:       /lib/modules
  dev:
    Type:       HostPath (bare host directory volume)
    Path:       /dev
  kube-keepalived-vip-token-n9tdh:
    Type:       Secret (a volume populated by a Secret)
    SecretName: kube-keepalived-vip-token-n9tdh
    Optional:   false
QoS Class:      BestEffort
Node-Selectors: <none>
Tolerations:    node.alpha.kubernetes.io/notReady=:Exists:NoExecute
                node.alpha.kubernetes.io/unreachable=:Exists:NoExecute
Events:         <none>

Pod Logs:

Starting Keepalived v1.3.5 (unknown)
Unable to resolve default script username 'keepalived_script' - ignoring
Opening file '/etc/keepalived/keepalived.conf'.

Registering Kernel netlink reflector
Registering Kernel netlink command channel
Registering gratuitous ARP shared channel
Opening file '/etc/keepalived/keepalived.conf'.
Using LinkWatch kernel netlink reflector...
I0614 14:12:08.951919       1 keepalived.go:159] reloading keepalived
Opening file '/etc/keepalived/keepalived.conf'.
Got SIGHUP, reloading checker configuration
Initializing ipvs
Opening file '/etc/keepalived/keepalived.conf'.
Registering Kernel netlink reflector
Registering Kernel netlink command channel
Registering gratuitous ARP shared channel
Opening file '/etc/keepalived/keepalived.conf'.
Activating healthchecker for service [<IP_ADDRESS>]:80
Activating healthchecker for service [<IP_ADDRESS>]:80
Using LinkWatch kernel netlink reflector...
VRRP_Instance(vips) Entering BACKUP STATE
VRRP_Instance(vips) Transition to MASTER STATE
VRRP_Instance(vips) Entering MASTER STATE
VRRP_Instance(vips) using locally configured advertisement interval (1000 milli-sec)

[root@master-1 ~]#  kubectl exec kube-keepalived-vip-c6fv0 cat /etc/keepalived/keepalived.conf

global_defs {
  vrrp_version 3
  vrrp_iptables KUBE-KEEPALIVED-VIP
}

vrrp_script chk_haproxy {
  script "/haproxy-check.sh"
  interval 1
}

vrrp_instance vips {
  state BACKUP
  interface eth0
  virtual_router_id 50
  priority 100
  nopreempt
  advert_int 1

  track_interface {
    eth0
  }
  virtual_ipaddress {
    <IP_ADDRESS>
  }
}

# Service: kube-system-traefik-ingress-controller
virtual_server <IP_ADDRESS> 80 {
  delay_loop 5
  lvs_sched wlc
  lvs_method NAT
  persistence_timeout 1800
  protocol TCP

  real_server <IP_ADDRESS> 80 {
    weight 1
    TCP_CHECK {
      connect_port 80
      connect_timeout 3
    }
  }

  real_server <IP_ADDRESS> 80 {
    weight 1
    TCP_CHECK {
      connect_port 80
      connect_timeout 3
    }
  }
}

[root@master-1 ~]# netstat -anpl |grep 80
tcp        0      0 <IP_ADDRESS>:2380          <IP_ADDRESS>:*               LISTEN      4677/etcd
tcp        0      0 <IP_ADDRESS>:22              <IP_ADDRESS>:*               LISTEN      800/sshd
tcp        0      0 <IP_ADDRESS>:40680         <IP_ADDRESS>:2379          ESTABLISHED 5387/kube-apiserver
tcp        0      0 <IP_ADDRESS>:40180         <IP_ADDRESS>:2379          ESTABLISHED 4677/etcd
tcp        0      0 <IP_ADDRESS>:2379          <IP_ADDRESS>:40680         ESTABLISHED 4677/etcd
tcp        0      0 <IP_ADDRESS>:2379          <IP_ADDRESS>:40180         ESTABLISHED 4677/etcd
tcp6       0      0 :::22                   :::*                    LISTEN      800/sshd
tcp6       0      0 :::30080                :::*                    LISTEN      6171/kube-proxy
raw        0      0 <IP_ADDRESS>:112             <IP_ADDRESS>:*               7           13380/keepalived
raw        0      0 <IP_ADDRESS>:112             <IP_ADDRESS>:*               7           13380/keepalived
unix  2      [ ACC ]     STREAM     LISTENING     35880    5141/kubelet         /var/run/dockershim.sock
unix  2      [ ]         DGRAM                    7804     1/systemd            /run/systemd/notify
unix  2      [ ]         DGRAM                    7806     1/systemd            /run/systemd/cgroups-agent
unix  3      [ ]         STREAM     CONNECTED     14803    514/dbus-daemon      /var/run/dbus/system_bus_socket
unix  3      [ ]         STREAM     CONNECTED     14802    505/polkitd
unix  3      [ ]         STREAM     CONNECTED     34803    5141/kubelet
unix  2      [ ]         DGRAM                    14805    505/polkitd
unix  3      [ ]         STREAM     CONNECTED     14680    509/systemd-logind

[root@master-1 ~]# ps aux|grep keepalived
root      4203  0.0  0.0 112648   964 pts/0    S+   18:32   0:00 grep --color=auto keepalived
root     13347  0.1  0.4  36332 17568 ?        Ssl  14:12   0:18 /kube-keepalived-vip --services-configmap=default/vip-configmap
root     13378  0.0  0.0  69372  3032 ?        S    14:12   0:00 keepalived --dont-fork --log-console --release-vips --pid /keepalived.pid
root     13379  0.0  0.0  71568  2584 ?        S    14:12   0:01 keepalived --dont-fork --log-console --release-vips --pid /keepalived.pid
root     13380  0.0  0.0  75944  2316 ?        S    14:12   0:01 keepalived --dont-fork --log-console --release-vips --pid /keepalived.pid
[root@master-1 ~]# kill -9 13347 13378 13379 13380

The Minion assumed VIP master
[root@master-1 ~]# klog keepali 3
Pod: kube-keepalived-vip-t579n

I0614 14:12:58.361202       1 main.go:197] Creating API server client for https://<IP_ADDRESS>:443
I0614 14:12:58.371511       1 keepalived.go:186] cleaning ipvs configuration
I0614 14:12:58.534971       1 main.go:121] starting LVS configuration
I0614 14:12:58.600283       1 utils.go:150] network interfaces: [{Index:2 MTU:1500 Name:eth0 HardwareAddr:fa:16:3e:77:46:55 Flags:up|broadcast|multicast} {Index:4 MTU:1376 Name:datapath HardwareAddr:6a:b4:db:11:74:81 Flags:up|broadcast|multicast} {Index:6 MTU:1376 Name:weave HardwareAddr:ca:28:03:56:24:c2 Flags:up|broadcast|multicast} {Index:7 MTU:1500 Name:dummy0 HardwareAddr:0a:c9:e4:8a:35:4c Flags:broadcast} {Index:11 MTU:65470 Name:vxlan-6784 HardwareAddr:aa:69:66:e9:9f:48 Flags:up|broadcast|multicast}]
I0614 14:12:58.604461       1 main.go:131] starting keepalived to announce VIPs
Starting Keepalived v1.3.5 (unknown)
Unable to resolve default script username 'keepalived_script' - ignoring
Opening file '/etc/keepalived/keepalived.conf'.

Registering Kernel netlink reflector
Registering Kernel netlink command channel
Registering gratuitous ARP shared channel
Opening file '/etc/keepalived/keepalived.conf'.
Using LinkWatch kernel netlink reflector...
I0614 14:12:58.709928       1 keepalived.go:159] reloading keepalived
Opening file '/etc/keepalived/keepalived.conf'.
Got SIGHUP, reloading checker configuration
Initializing ipvs
Opening file '/etc/keepalived/keepalived.conf'.
Registering Kernel netlink reflector
Registering Kernel netlink command channel
Registering gratuitous ARP shared channel
Opening file '/etc/keepalived/keepalived.conf'.
Using LinkWatch kernel netlink reflector...
VRRP_Instance(vips) Entering BACKUP STATE
Activating healthchecker for service [<IP_ADDRESS>]:80
Activating healthchecker for service [<IP_ADDRESS>]:80
VRRP_Instance(vips) Transition to MASTER STATE
VRRP_Instance(vips) Entering MASTER STATE
VRRP_Instance(vips) using locally configured advertisement interval (1000 milli-sec)

I also reset the environment and tested with Flannel network and the same problem occurs.

Found the problem, I had my Traefik delpoyment with HostNetwork: true and hostPort configured. This messed up with the routing and the traffic never hit the nodes.
Used the deployment and services below:
[root@master-1 tmp]# cat rbac.yaml
---
kind: ClusterRole
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: traefik-ingress-controller
rules:
  - apiGroups:
      - ""
    resources:
      - pods
      - services
      - endpoints
      - secrets
    verbs:
      - get
      - list
      - watch
  - apiGroups:
      - extensions
    resources:
      - ingresses
    verbs:
      - get
      - list
      - watch
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
  name: traefik-ingress-controller
roleRef:
  apiGroup: rbac.authorization.k8s.io
  kind: ClusterRole
  name: traefik-ingress-controller
subjects:
- kind: ServiceAccount
  name: traefik-ingress-controller
  namespace: kube-system
---
apiVersion: v1
kind: ServiceAccount
metadata:
  name: traefik-ingress-controller
  namespace: kube-system
[root@master-1 tmp]# cat dep.yaml
---
kind: Deployment
apiVersion: extensions/v1beta1
metadata:
  name: traefik-ingress-controller
  namespace: kube-system
  labels:
    k8s-app: traefik-ingress-lb
spec:
  replicas: 1
  selector:
    matchLabels:
      k8s-app: traefik-ingress-lb
  template:
    metadata:
      labels:
        k8s-app: traefik-ingress-lb
        name: traefik-ingress-lb
    spec:
      serviceAccountName: traefik-ingress-controller
      terminationGracePeriodSeconds: 60
      containers:
      - image: traefik
        name: traefik-ingress-lb
        resources:
          limits:
            cpu: 200m
            memory: 30Mi
          requests:
            cpu: 100m
            memory: 20Mi
        ports:
        - containerPort: 80
          hostPort: 80
        - containerPort: 8080
        args:
        - --web
        - --kubernetes
        - --logLevel=ERROR

[root@master-1 tmp]# cat svc.yaml
apiVersion: v1
kind: Service
metadata:
  name: traefik-ingress-controller
  namespace: kube-system
spec:
  selector:
    k8s-app: traefik-ingress-lb
  ports:
  - port: 80
    name: http
    protocol: TCP
    targetPort: 80

[root@master-1 tmp]# cat traefik-ui.yaml
---
apiVersion: v1
kind: Service
metadata:
  name: traefik-web-ui
  namespace: kube-system
spec:
  selector:
    k8s-app: traefik-ingress-lb
  ports:
  - port: 8080
    name: admin
    protocol: TCP
    targetPort: 8080
---
apiVersion: extensions/v1beta1
kind: Ingress
metadata:
  name: traefik-web-ui
  namespace: kube-system
spec:
  rules:
  - host: traefik.kube.com
    http:
      paths:
      -  backend:
          serviceName: traefik-web-ui
          servicePort: admin
---


Construct ComponentArray from containers for keys and values

Hi,
My apologies if the following functionality already exists. In some cases,  it might be convenient to construct a ComponentArray with a collection of keys and a collection of values. With this approach, you do not have to hard code the values into the constructor. NamedTuples provides this functionality:
using ComponentArrays

k = (:a,:b)
v = [1,2]
NamedTuple{k}(v)
(a = 1, b = 2)

Perhaps one annoyance is that the keys must be in a tuple.  Using similar syntax, the returned object is a Vector{Int}
ComponentArray{k}(v)
An alternative syntax could be:
ComponentArray(k, v)

That does seem useful. Right now the constructors for ComponentArrays are horribly overloaded. For example, you noticed that it returned a Vector{Int}; I don't like this at all--constructors should never do that--but it's necessary for the way things are set up at the moment. It's been a longstanding issue to fix all of this, but I just haven't had a really good reason to spend that time yet (and it will take quite a bit of time, I think). Unfortunately, it makes me a little hesitant to add more to the constructors right now, especially given that ComponentArray{k}(v) already means something (if k was an Axis, it would make a valid ComponentArray). Here's a stop-gap that might work for you for the time being, though (and might be worth actually adding, but I'll have to think about that):
julia> make_axis(symbols) = Axis(NamedTuple(symbols .=> eachindex(symbols)))
make_axis (generic function with 1 method)

julia> ComponentArray(v, make_axis(k))
ComponentVector{Int64}(a = 1, b = 2)

I completely understand your reluctance to add this to the package. I appreciate the stopgap solution.


buildLinux: add overrides for modules

Follow up PR of https://github.com/NixOS/nixpkgs/pull/34351

Easy override of autoModules and preferBuiltin parameters (currently living in hostSystem set).

Motivation for this change
Make it easier to configure the kernel (overriding platforms is 'hard').
One question in the previous PR was should we delete kernelAutoModules/kernelPreferBuiltin from the hostPlatform.platform.* ?
Some platforms may prefer to have builtin modules because crosscompiling is faster and having to install modules separataly would be a pain so it might make sense. Not too sure though.
Things done

[x] Tested using sandboxing (nix.useSandbox on NixOS, or option build-use-sandbox in nix.conf on non-NixOS)
Built on platform(s)

[x] NixOS
[ ] macOS
[ ] other Linux distributions

[ ] Tested via one or more NixOS test(s) if existing and applicable for the change (look inside nixos/tests)
[ ] Tested compilation of all pkgs that depend on this change using nix-shell -p nox --run "nox-review wip"
[x] Tested execution of all binary files (usually in ./result/bin/)
[x] Fits CONTRIBUTING.md.

sry @FRidh you can ignore the request, the PR was made against staging and my rebase against master, the push triggered the request.

@Ericson2314 @dezgeg follow up of the previous kernel patch. Seems like changing the base branch against which to evaluate the PR confused the bot.

@vcunat I tried to fix the useless parameters you mentioned in my previous PR. I hope it's good now.

But do we even need to arguments like that? Just have buildLinux import instead of callPackageing generic.nix

What's the gain of
  buildLinux = makeOverridable (import ../os-specific/linux/kernel/generic.nix { inherit perl bison ... });
vs
  buildLinux = makeOverridable (callPackage ../os-specific/linux/kernel/generic.nix { });
I tried to rebase but it adds other dependencies so I would like to understand why I should convert it to an import (or if you want to do it, please feel free).

@teto having two sets of imports with a fairly arbitrary division of labor strikes me as a) confusing and b) limiting customizability by making certain inputs harder to optimize.

I tried to merge the 2 sets as requested  but then
 buildLinux = makeOverridable (import ../os-specific/linux/kernel/generic.nix {
    inherit stdenv buildPackages ncurses callPackage overrideCC gcc7 perl bison flex;
  });

triggers
$ nix-build -A linux_4_15
error: while evaluating 'callPackageWith' at /home/teto/nixpkgs/lib/customisation.nix:113:35, called from /home/teto/nixpkgs/pkgs/top-level/all-packages.nix:13178:16:
while evaluating 'makeOverridable' at /home/teto/nixpkgs/lib/customisation.nix:72:24, called from /home/teto/nixpkgs/lib/customisation.nix:117:8:
while evaluating anonymous function at /home/teto/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.15.nix:1:1, called from /home/teto/nixpkgs/lib/customisation.nix:74:12:
while evaluating 'makeOverridable' at /home/teto/nixpkgs/lib/customisation.nix:72:24, called from /home/teto/nixpkgs/pkgs/os-specific/linux/kernel/linux-4.15.nix:5:1:
anonymous function at /home/teto/nixpkgs/pkgs/os-specific/linux/kernel/generic.nix:1:1 called without required argument 'src', at /home/teto/nixpkgs/pkgs/top-level/all-packages.nix:13444:33

and I believe we still want to make it overridable, we don't want every buildLinux call to pass all arguments, only src/patches.
NB: I also made arch overridable as I've started to use LKL, aka the Linux Kernel Library and would like eventually to have LKL use a generated config,  lkl derivation is here https://github.com/teto/nixpkgs/blob/kernel_overrides/pkgs/applications/virtualization/lkl/default.nix)

Try:
let # `let` here just for syntax highlighting

 buildLinux = attrs: (callPackage ../os-specific/linux/kernel/generic.nix attrs);

Thanks for your patience, your suggestion seems to work just fine :)

Lmk when you think it's ready. CC @vcunat.

I tried it on my usecase and it worked fine. I could also compile default kernels. I think it's ready if there is no further comment. I am not sure if I should split the parameters fixing and additionnal overrides in separate commit or squash everything. If the latter it can be done via github's UI.

One big squash can be down via GitHub, but not two commits. Your call (as far as I'm  concerned) which option we go with.

@GrahamcOfBorg eval

I made it 2 commits, both should work so can reverted independently. They seemed to work locally not sure why grahamcofborg fails (looks master related)

@GrahamcOfBorg eval

Thank you!

Oh oops I misread; this should have gone to staging.

It probably "only" rebuilds kernels (and modules), so that seems OK for master.

whew :)


[FLINK-26604][doc] add more information for Avro records support and clean up redundant content of bounded and unbounded data

What is the purpose of the change
Update the document based on the feedback of release test task FLINK-26301.
Brief change log
(for example:)

remove redundant content of bounded and unbounded data
add description of mvn dependency for reading Avro records
new description of using namespace in schema for reading reflect records

Verifying this change
This change is a trivial document update.
Does this pull request potentially affect one of the following parts:

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

Documentation

Does this pull request introduce a new feature? (yes / no)

Thanks @MartijnVisser for your effort! The content has been updated.

FYI: I've copied the content to the content.zh/.../formats/parquet.md and squashed commits.


Select statements with partial number of columns yielding invalid results

The projection and output_names handling has a faulty logic.
When deciding output_names, ReadRel.projection and ProjectRel.expressions, the logic doesn't extract the fields accurately.
projected_schema seems to be wrong in these examples. That must be fixed.

Better to look into IcebergFileDownloader.download function where projected_schema, file_schema are used to extract accurate information.
Vital part would be to look into the projection updates and expression updates.

From the existing plan we can gather important information.
It contains the required output_names which are an accurate
representation of ouput columns of the data.
The names here and the names in the file are different.

First compare original plan root_rel.names vs projected_schema and file_schema
FROM THE ORIGINAL SQL Statement, we should be able to extract the required columns

    import sqlparse

    sql_statement = "SELECT A, B, C FROM TABLE;"
    parsed = sqlparse.parse(sql_statement)

    # Assuming the first statement is the one we want
    statement = parsed[0]

    # Extract column names
    col_names = None

    for token in statement.tokens:
        if isinstance(token, sqlparse.sql.IdentifierList):
            str_token = str(token)
            col_names = str_token.split(",")

    trimmed_cols = []
    for col_name in col_names:
        trimmed_cols.append(col_name.strip())

use the trimmed_cols in `IcebergFileDownloader.download(selected_fields=trimmed_cols)
within the function in the sc = self.table.scan(selected_fields=selected_fields)
This would only load the required information.
If there are filters, we should be able to use the same logic and push them down as
Substrait filter expressions. Need to think about this too.

TODO: if selected_fields = [*], we need to make sure we update the names accordingly
assert len(root_rel_names) == len(existing_root_rel_names)
update output names
if editor.plan.relations:
    relations = editor.plan.relations
    if relations:
        if relations[0].HasField("root"):
            rel_root = relations[0].root
            rel_root.names[:] = output_names

If the lengths are not the same, we have to find out how to update the names. It would be better to use correct field names


pymessenger multi-threading

[PYTHON - MESSENGER] Hi! How can I serve multiple clients using  multi-threading? Thank you !

Are you asking if this module is thread-safe?

I think @acondoriml is referring to handling multiple connections at once. This might not be possible to do.

@GoelBiju Yes, I want handling multiple connections at once, I try using gunircon, apache, flask, I set up several ways and just handing one connections at once, is a pain. I can understand why it doesn`t work

Anyone has solution for this? Hi @acondoriml Did you manage to figure it out?

@davidlowjw I can't find a solution, it's a shame because the library works great!

If you use Flask with Gunicorn, uwgsi and set more than 1 worker you will have the number of workers to reply multiple clients.
If you are using Flask without any upper layer like gunicorn,... you only are going to handle one request per time.


Update fastclick.js for iOS/Safari timestamp bug

The value of lastClickTime only gets updated in onTouchEnd, after the value of lastClickTime is already compared to touchEndTime.
The value of lastClickTime is originally based on the event.timeStamp. When the event.timeStamp comes through as negative, the new value of touchStartTime can no longer be validly compared to the timeStamp, and the function will (often) return before lastClickTime can get updated. The same issue will manifest, until after the value of touchEndTime exceeds the original value of lastClickTime.
Setting lastClickTime to 0 when switching over to get a value based on getTime will help to avoid this. When switching over to the non-event.timeStamp value, lastClickTime should only be set to 0 once. All time comparisons from then on out should be made against a point in time, obtained when switching over, and compare milliseconds since that time.
This work was based on a pull request from @lasselaakkonen and is a fix to issue 549.
https://github.com/ftlabs/fastclick/pull/550
https://github.com/ftlabs/fastclick/issues/549

Thanks for creating a fix for this issue. We have noticed that this patch seems to cause an issue with scrolling pages however. At least within Cordova WebViews. You have to swipe twice to scroll as the first swipe doesn't do anything - especially when changing direction of the scroll movement.


Improve documentation around .NET Framework and gRPC-Web in the client

Fixes https://github.com/grpc/grpc-dotnet/issues/2197
@jtattermusch Is this what you're looking for?

Internal previews

📄 File
🔗 Preview link

aspnetcore/grpc/netstandard.md
Use gRPC client with .NET Standard 2.0

aspnetcore/grpc/supported-platforms.md
gRPC on .NET supported platforms

@JamesNK Yes, thanks for updating the docs.


discard or cut

My sequences were cut when use default options -i -I  -o -O .

In my opinion, Only when I use option -3 or -5 ,my sequences will be cut.

It may be due to adapters.
You can add -A option to disable adapter trimming


VSCode not loading extensions due to "[error] An unknown error occurred. Please consult the log for more details."

VSCode Version:
Version: 1.49.0 (system setup)
Commit: e790b931385d72cf5669fcefc51cdf65990efa5d
Date: 2020-09-10T13:22:08.892Z
Electron: 9.2.1
Chrome: 83.0.4103.122
Node.js: 12.14.1
V8: <IP_ADDRESS>-electron.0

OS Version:
OS: Windows_NT x64 10.0.19041

Steps to Reproduce: Open VS code via "code ." from my local repo.

Does this issue occur when all extensions are disabled?: Yes/No
No the issue does not occur if extensions are disabled.
-1600379206008.log
-1600379366169.log

Just tried to disable only the C# extension (1.23.2) and this error was gone from Log (Windows).
"[error] An unknown error occurred. Please consult the log for more details."
But the other two Console warning and error I posted in original thread are still there. So clearly these are three separate issues. I just need C# extension working.

/extC#


Feature/user interface

-Added Map component
-Moved Chart into its own directory and fixed ESLint errors
-Refactored Stopwatch
-Added deepstream.wrapper.js as a test
Note: Map needs tileserver-gl running with the default styles installed for now.

I am going to close this pull request. When you have finished with your edits go ahead and make another pull request :)


Refresh docker backend

to hopefully:

work with current stable docker
work correctly when run on separate host

Tested in staging with TRAVIS_WORKER_DOCKER_EXEC="true", fwiw: https://staging.travis-ci.org/meatballhat/yolo-octo-adventure/jobs/506700

Verified on staging AWS with (redacted) config:
export TRAVIS_WORKER_BUILD_API_PARANOID="false"
export TRAVIS_WORKER_BUILD_PARANOID="false"
export TRAVIS_WORKER_PAPERTRAIL_REMOTE_PORT="12345"
export TRAVIS_WORKER_POOL_SIZE="4"
export TRAVIS_WORKER_PROVIDER_NAME="docker"
export TRAVIS_WORKER_QUEUE_NAME="builds.docker"
export TRAVIS_WORKER_AMQP_URI="amqp://secret@hostname:12345/FAFAFAF"
export<EMAIL_ADDRESS>export TRAVIS_WORKER_DEBUG="1"
export TRAVIS_WORKER_DOCKER_NATIVE="true"
export TRAVIS_WORKER_DOCKER_ENDPOINT="unix:///var/run/docker.sock"

Example successful run: https://staging.travis-ci.org/meatballhat/yolo-octo-adventure/jobs/506883

Example successful run with ssh-based execution: https://staging.travis-ci.org/meatballhat/yolo-octo-adventure/jobs/506917

Also, fwiw:
$ docker version
Client:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 15:54:52 2016
 OS/Arch:      linux/amd64

Server:
 Version:      1.10.3
 API version:  1.22
 Go version:   go1.5.3
 Git commit:   20f81dd
 Built:        Thu Mar 10 15:54:52 2016
 OS/Arch:      linux/amd64

Builds have passed :tada:

Oh my gosh! The endpoint can be set to the UNIX socket???????
On Wed, 20 Jul 2016 at 7:24 PM, Carmen Andoh<EMAIL_ADDRESS>wrote:

Builds have passed 🎉
—
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHub
https://github.com/travis-ci/worker/pull/188#issuecomment-234019426, or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAAh_Vez4uClr9GjrI828J_XUm-ZUfOlks5qXlnJgaJpZM4JMboN
.

🐑


Replace format by dateFormat

Docs says format but code is actually exporting dateFormat
https://github.com/rallisf1/svelte-countdown/blob/4d0db6bd98115707d2208c616696e91ae0b6347c/src/Countdown.svelte#L9

Thanks, forgot to change the readme :D


Apply changes in codeview

I added a callback for codeview and CodeMirror to apply changes into origin text.

This fixes https://github.com/summernote/django-summernote/issues/127

Codecov Report

Merging #221 into master will increase coverage by 0.06%.
The diff coverage is 100%.

@@            Coverage Diff             @@
##           master     #221      +/-   ##
==========================================
+ Coverage   96.96%   97.02%   +0.06%
==========================================
  Files          10       10
  Lines         198      202       +4
==========================================
+ Hits          192      196       +4
  Misses          6        6

Impacted Files
Coverage Δ

django_summernote/views.py
100% <ø> (ø)
:arrow_up:

django_summernote/settings.py
96.42% <ø> (ø)
:arrow_up:

django_summernote/widgets.py
96.66% <100%> (+0.23%)
:arrow_up:

Continue to review full report at Codecov.

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


Checked props

Checked props boolean condition not working.
checked={this.state.role === 'Admin'}
this condition always switch is On

This is still a problem.


feat: install pkgconfig files when available in release tarball

To support https://github.com/extism/extism/pull/559

Thanks! I just pushed one more commit to fix an issue with empty files being written. I will merge when CI passed.


Add analyzer for incompatible host between VS and GW

apiVersion: networking.istio.io/v1alpha3
kind: Gateway
metadata:
  name: gw
  namespace: istio-system
spec:
  selector:
    istio: ingressgateway
  servers:
  - hosts:
    - foo.com
    port:
      name: http
      number: 80
      protocol: HTTP
---
apiVersion: networking.istio.io/v1alpha3
kind: VirtualService
metadata:
  name: service
spec:
  gateways:
  - istio-system/gw
  hosts:
  - bar.com
  http: {..}

This config will not apply, since foo.com and bar.com are not compatible
I think we can warn if a VS references any non-mesh gateways, and non of the gateway servers match

@howardjohn where do you think this can be applied? inside istioctl analyze?

Yes

I am taking this one

@zufardhiyaulhaq do those merged messages mean this Issue should be closed?

@zufardhiyaulhaq do those merged messages mean this Issue should be closed?

@esnible yes we can close this issue

@esnible yes we can close this issue


where i can find the vuln firmware

where can i find the vuln firmware of below article?I couldn't find the vuln firmware anywhere!(include official website)
https://github.com/mcw0/PoC/blob/master/Vivotek IP Cameras - Remote Stack Overflow.txt
could you help me?!!Thanks

so am i,couldn't find the vuln firmware even official website

Two years past since the disclosure, of course you cannot find any vulnerable firmware on their official website. Come on dudes.

I’d just be happy to see how this works. I still cannot get it to work to get credentials.

Two years past since the disclosure, of course you cannot find any vulnerable firmware on their official website. Come on dudes.

could you please send me a vuln firmware ?

I contacted after-sales and she gave me the vulnable
CC8160-VVTK-0100d.flash.zip
firmware

Good stuff, enjoy
From: driverxdw<EMAIL_ADDRESS>Reply-To: mcw0/PoC<EMAIL_ADDRESS>Date: Monday, 29 April 2019 at 18:28
To: mcw0/PoC<EMAIL_ADDRESS>Cc: bashis<EMAIL_ADDRESS>State change<EMAIL_ADDRESS>Subject: Re: [mcw0/PoC] where i can find the vuln firmware (#8)
I contacted after-sales and she gave me the vulnable
CC8160-VVTK-0100d.flash.ziphttps://github.com/mcw0/PoC/files/3128058/CC8160-VVTK-0100d.flash.zip
firmware
—
You are receiving this because you modified the open/close state.
Reply to this email directly, view it on GitHubhttps://github.com/mcw0/PoC/issues/8#issuecomment-487626140, or mute the threadhttps://github.com/notifications/unsubscribe-auth/AGC7F5C7R37XJHG2XKTE6ITPS4HZVANCNFSM4HIE3BAA.

I contacted after-sales and she gave me the vulnable
CC8160-VVTK-0100d.flash.zip
firmware

Thanks,driverxdw,with my best regards!


k8s perf

I'm doing some simple perf tests on a k8s cluster:
Cluster is running in packet. Nodes are type 0 machines.

Bare machine performance: running CoreDNS with: ./coredns -dns.port=10053
make TIME=1 SERVER=<IP_ADDRESS> PORT=10053 queryperf
Queries per second:   31696.025203 qps

Now do a port forward with iptables (to mimic kube-proxy):
root@node1:~# iptables -t nat -A PREROUTING -p tcp --dport 1053 -j REDIRECT --to-port 10053
root@node1:~# iptables -t nat -A PREROUTING -p udp --dport 1053 -j REDIRECT --to-port 10053

And hit port 1053
Hovers around: 26-30 Kqps, i.e.:
Queries per second:   29693.303767 qps
Queries per second:   26807.221088 qps

Now hitting the pod running CoreDNS w/ flannel and docker:
root@master:~/perf-tests/local-perf# kubectl get pods -o wide
NAME            READY     STATUS    RESTARTS   AGE       IP           NODE
coredns-42r2w   1/1       Running   0          32m       <IP_ADDRESS>   node3
coredns-k87h8   1/1       Running   0          32m       <IP_ADDRESS>   node2

Testing:
make TIME=1 SERVER=<IP_ADDRESS> PORT=53 queryperf
Queries per second:   19247.481316 qps
Queries per second:   18496.703226 qps

Starting a docker container the sets up port forwarding:
root@node1:~# docker run  -p <IP_ADDRESS>:1054:1054/udp  coredns/coredns:007 --dns.port 1054
.:1054
2017/05/16 15:43:58 [INFO] CoreDNS-007
CoreDNS-007

Testing from the other server:
Queries per second:   19379.546765 qps
Queries per second:   20216.806338 qps

This is not using flannel, because I'm hitting the docker forwarded port directly.

Conclusion(?) once it hits docker we loose 40% performance?

A type0 server is used: this is currently:
4 Physical Cores @ 2.4 GHz
(1 × Atom C2550)

8 GB of DDR3 RAM

80 GB of SSD
(1 × 80 GB)

1Gbps Network
(2 × 1Gbps w/ TLB)

cc @johnbelamaric 40% of performance is eaten by docker....

@miekg It's hard to tell, are you hitting the forwarded port from the same host?

Wow, that does seem excessive. I'll ask the question on the docker-networking slack, see if someone there has any insight.

@miekg Try it from a different host if you are not already - @cpuguy83 mentioned in the slack channel that local traffic will go through a user space proxy for port forwarding.

It's via a remote host, master to a node in the cluster. No local traffic.
But still smells like userspace proxy.
On 16 May 2017 5:30 pm, "John Belamaric"<EMAIL_ADDRESS>wrote:

@miekg https://github.com/miekg Try it from a different host if you are
not already - @cpuguy83 https://github.com/cpuguy83 mentioned in the
slack channel that local traffic will go through a user space proxy for
port forwarding.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/coredns/perf-tests/issues/9#issuecomment-301838207,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AAVkW4c3IuwJ4opYY-9S1vLKT35ioR5zks5r6c8HgaJpZM4NcqHZ
.

@miekg Can you try hitting the bridge IP directly?

Sure, but how do you do that remotely?
On 16 May 2017 5:36 pm, "Brian Goff"<EMAIL_ADDRESS>wrote:
@miekg https://github.com/miekg Can you try hitting the bridge IP
directly?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/coredns/perf-tests/issues/9#issuecomment-301839946,
or mute
the thread
https://github.com/notifications/unsubscribe-auth/AAVkW84A4V2V9NRaIRJGpO1C1aKF3JH8ks5r6dB4gaJpZM4NcqHZ
.

@miekg Setup a static route.
e.g. route add -net <default bridge net> <remote host IP>

Hmm, not sure if I follow:
root@master:~# route add -net <IP_ADDRESS>/16 <IP_ADDRESS>
SIOCADDRT: No such device

Where the .217 is node1 where (in some form of another) CoreDNS will run. But both master and node1 run docker (because k8s cluster).

docker version: 1.11.2-0~xenial

Sorry, different versions of route behavior differently.
Try:
# ip route add <IP_ADDRESS>/16 via <IP_ADDRESS>


[CLOUDGA-14373]: Add support for adding EAR to existing cluster

Modified the updateCmk api to allow adding CMK to non EAR enabled clusters.

Even if the PR seems ok, I think it's time to add some test around this command.

Looks okay to me.

Even if the PR seems ok, I think it's time to add some test around this command.

Agree with @shinji62 here.

Here is the ticket link for adding UTs for CMK:
https://yugabyte.atlassian.net/browse/CLOUDGA-14392


Make MapInfo test not depend on external file

/services/importer/spec/acceptance/mapinfo_spec.rb
It depends on a file uploaded to dropbox! Make it work with a local file.

Duplicated: #2469


Add custom pagination panel component

Replace default pagination panel with custom pagination panel, which enables us to go to any page in O(log N) operations, where N is list data length.
This change affects following components:

Problem list
Submisstion list

Problem List の移動が O(N) かかって大変だと思ったのでプルリク生やしました．


File description

Hello! Can you explain what each file does in the readme?

File descriptions were added in 461fb071c5ed921222693008c6b6c680f077b57b.

Hello! Can you explain what each file does in the readme?

您好，请问您复现这个代码成功了吗，如果成功了的话，请问您是从哪里入手的呢

Hello! Can you explain what each file does in the readme?

您好，请问您复现这个代码成功了吗，如果成功了的话，请问您是从哪里入手的呢

根据温老师readme中的Main file 描述，参数配置、数据集处理、模型、训练过程已经写好，找到对应文件复现即可


Implement an entry point message builder

This change does 2 things.

Implements an entry-point message builder. So a static class that just builds the raw messages, no encoding, no magic. Just the raw messages.
Uses some fancy typescript magic to camelcase the properties instead of generating them manually. This makes it so that the readonly arrays and tuples stay the same and are accurate with their types. Example for both:

export abstract class CwAdminFactoryExecuteMsgBuilder {
  static instantiateContractWithSelfAdmin = ({
    codeId,
    instantiateMsg,
    label
  }: CamelCasedProperties<Extract<ExecuteMsg, {
    instantiate_contract_with_self_admin: unknown;
  }>["instantiate_contract_with_self_admin"]>): ExecuteMsg => {
    return {
      instantiate_contract_with_self_admin: ({
        code_id: codeId,
        instantiate_msg: instantiateMsg,
        label
      } as const)
    };
  };
}

Solves #84


Add a canonical link to update the URL for the Shell guide

LGTM, thanks!

It looks like Google has re-indexed the page, but is still showing it 😞 This post is far from canonical, but it's possible the Google Crawler doesn't actually handle XSL properly, which would be a bit ironic.

I wonder if it would handle a <rel=canonical> XML tag...

I'd be a bit surprised if it did, but I'm not sure.


remove finnub, iexcloud, tradrmade

Closes #781
This PR removes API providers:

tradername
iexcloud
finnhub

Removes categories as crypto is the only one used now.

@wkande should these references also be removed from https://github.com/api3dao/vitepress-docs/blob/v-781-update-api-proivers-lists/.vscode/settings.json?

@wkande should these references also be removed from https://github.com/api3dao/vitepress-docs/blob/v-781-update-api-proivers-lists/.vscode/settings.json?

I'll remove the API providers there.


Expose URLSearchParams on window

Do you think its possible to expose the existing URLSearchParams function (available privately to the URL polyfill https://github.com/Financial-Times/polyfill-service/blob/master/polyfills/URL/polyfill.js#L133) on the window/global object?
Example usage as a global:
https://googlechrome.github.io/samples/urlsearchparams/index.html
https://developer.mozilla.org/en-US/docs/Web/API/URLSearchParams
Spec:
https://url.spec.whatwg.org/#urlsearchparams

Great idea.  This is a third party polyfill, so the best place to start is https://github.com/inexorabletash/polyfill, and if they're happy with the idea maybe raise a PR there?  If the polyfill is updated to expose URLSearchParams, we would update our copy, and add URLSearchParams as an alias of URL, since they are actually both independent web APIs but contained in one polyfill.

Hi Andrew - thanks for the quick reply. It would appear that its been available in the source polyfill since this commit https://github.com/inexorabletash/polyfill/commit/fe3084974d83c909e7d9802fa8609aab5f93cd55#diff-72d74024ea723e098405b46585936940R5301
That commit is dated Nov 2015, maybe the reference to the source URL polyfill could just be updated in general (and we get this for free)?
Getting URLSearchParams with URL makes perfect sense and would be ideal for my use-case.


About the Mask-Pillars in the Perception module

How  is the mask generated?
Is the mask same with obstacles binary-value occupancy grid map from the raw point clouds without the ground?
Or just the gt box ?

You can read this doc first and see if can help you


How to disable copied message?

Every time I copy a "Copied: **" message will be displayed in the tmux status bar. This is a little annoying. Is there any way to disable it?
By the way, this plugin is awesome👍

I agree, I'll disable it by default in the next version, and add an option to opt-in

Included in latest 2.0.6 version


Create basic structure for Rockets

New Features

Create basic structure for rockets.
Create the redux folder with rocketsSlice file.

Hi @sadaf-Daneshgar ,
Well done on your Popup branch. It looks great 🎨 There is nothing else to say other than... it's time to merge it: :shipit:
Congratulations! 🎉 !!!


Safari support

Hello, everyone. I have some problems with Safari support. For example, range input on demo page:

Safari version - 7.1.7 (95<IP_ADDRESS>).

Quick question, what problem am I observing above? It seems like drop is working correctly.

What you're seeing above is that the slider bar is the same color as the background.  (I first viewed the demo in Safari and thought it was supposed to be a dot; later I tried Chrome and realized it was a slider.)
Also, the List Flyout example doesn't work in Safari at all.
No Safari support = non-starter

@mike-post Ah haha. Never occurred to me that the default slider background is black on safari. We can probably fix that in the themes so it's more browser friendly.
Regarding the List Flyout example, which version Safari are you observing this in? I haven't noticed an issue with any of the examples in Safari yet (just trying to gauge if these are issues with the library or specific versions of Safari with known issues with Drop)

I'm using Safari 8.0.8. When I click the List Flyout example in Safari, nothing happens. There's also nothing in the console. Altogether, not really even worth a screenshot.

:crying_cat_face: I was using the same version. Are you using Safari on a Mac or different OS? I've been using Mac so maybe the behavior is different on another OS.

Ah, I've tracked it down: I'm running Safari 8 on OS X 10.10.5.  However, I have v1.9.2 of the AdBlock Plus extension installed. Disabling that extension allows Drop to work as expected (although the slider bar is still the same color as the background).

Awesome. I'm curious as to why that version of AdBlock would prevent the drop from rendering correctly :confused:
I'll close this for now though, but feel free to open a new issue regarding the AdBlock if it's something you notice with other versions as well. :+1:


Update on below Requests

Please update on below requests, when they are going to release?
#12542
#12543
#12587
#12597
#12598
#12600
#12613
#12614

Event requests are implemented for version 19.0 and ported down to 18.x, so will be shipped with 18.3.
Enum requests are implemented for version 19.0 and not ported down to the current version according to our policy.


Website suggestions!

Here are two simple suggestions for the website that I heartily recommend you implement in order to better the user experience:

Drive home the fact that the project is open source and publicly hosted on GitHub

This will ensure that the visitor knows that the product is produced and maintained by a virant community, and not a cloistered closed source proprietary system
As it stands there is no mention of the fact that the project is open source or what license it is covered by

On your slider bar in the middle of the page you should definitely implement a back button as well as a forward button and stop the animation when people click on them

The way your slider is currently set up hurts usability as it forces the user to navigate through all of the slides in order to get back to the previous one
The fact that the slider continues to slide once a user has clicked on a button also hurts usability as they have signified their interest in the content, and they don't want to be automatically forced to the next slide when they are trying to assimilate the current information, especially when there is no back button

Hope that helps a bit!

Thanks for adding the Fork me on GitHub ribbon! (I didn't realize my issue was a dupe)


authors: disappearing after edit and going back

While editing the list of authors...

...one might edit details of an author...

...and go back...

...and the author is gone.

One could continue until there are no authors left. Notably, if the window is closed (button on the bottom left) the authors are still shown on the project's page.
Btw: If one does not go back but presses the update button, the author does not disappear.

The same applies for "Citations".


How to configure Swarm Mode on Mesos

hi,
Is there are any to run Swarm mode on mesos ?
My google search always shows the old way of doing , (running swarm image with mesos experimental )
I just like to know is there any way to run swarm mode on mesos ?

@vimalprakashts Swarm mode issue should be discussed at https://github.com/docker/swarmkit/. And you may want to present your use-case.


Update mover-reports.md

Example migration report has trailing space in filename (example_migration_report%20.csv), so the link was not able to open this example file. I just updated the link so that the file can be open.

@JohanFreelancer9 Copy editing is needed for this PR. Thanks.

@JoanneHendrickson PR has been copyedited and is ready for final review, could you please check and merge? Thanks!


Using fgd_retina_r101_fpn_2x_distill_retina_r50_fpn_2x_coco.py to find retina_ R50 distillation result AP is 37.3%?

hi,Thanks for sharing your code,we  use the following installation packages respectively：
mmcv-full               1.3.17
mmdet                   2.11.0
I would like to ask if the above  version is too high and the function has changed, causing the teacher's model to fail to load with no exception.

The mAP is the same as the baseline. There may be something wrong with your codes. You can refer MGD for higher mmdet version.


Add classification for control success / control fail

The following changes should be made to the Sample Categorization plot in the qc_report:

Add control success / control fail logic for positions A1 and B1 so that it's easy to see if there was an issue
Update color scheme so that COVID positive and COVID negative classifications are more striking, along with control wells.

This is done in the kmk_new_barcode_swap_plots branch. Will merge soon.


avoid to read expired health state in incr_counter fucntion

"set_target_status" function may be invoked through admin api，at the same time some event triger the incr_counter function, then the "target.internal_health" probably read the expired value. This PR fix it.

I don't think that this makes sense? maybe you can add a testcase to show the behaviour you're trying to fix?
If everything would be synchronous than you could be right. But Since the admin api call is made on a single worker, and the other workers will be on their own until they receive the event some time later, it would only fix the temporary-discrepancy for a single worker.
And if I read this correct it means the downside is significant, because on the good-path (which is also the hot-path under normal circumstances) the function will do an early exit before acquiring a lock. After your change it will always acquire the lock, which will become an issue when the system is under heavy load.
@hishamhm @locao can either of you verify, since I'm not a 100% sure.

I don't think that this makes sense? maybe you can add a testcase to show the behaviour you're trying to fix?
If everything would be synchronous than you could be right. But Since the admin api call is made on a single worker, and the other workers will be on their own until they receive the event some time later, it would only fix the temporary-discrepancy for a single worker.
And if I read this correct it means the downside is significant, because on the good-path (which is also the hot-path under normal circumstances) the function will do an early exit before acquiring a lock. After your change it will always acquire the lock, which will become an issue when the system is under heavy load.
@hishamhm @locao can either of you verify, since I'm not a 100% sure.

The issue is that, when I set a target "unhealthy" manualy, at the same time "target.internal_health" in the incr_counter may read "healthy" state, so the incr_counter function will execute at here:
    elseif current_health == "healthy" and bit.band(new_multictr, MASK_FAILURE) > 0 then       new_health = "mostly_healthy"
will change the target status to be "mostly_healthy".

closing this due to lack of response


Dead code in isVertexArrayObjectSupported()?

Hi. I'm not able to test this conveniently at the moment, else I'd favor the PR route.
In the EGL version of the above-mentioned function, the test is backward and so support will always be reported absent, rightly or wrongly.

When we tried to use vertex array objects we faced lots of crashes in unexpected places. Like some drivers have better or worse support of it, even if they reported that support was there. We just disabled it in bunch of places, sometimes not in most elegant way  💩
If you would to re-enable it, please make sure to severely test it on applicable platforms. And accepting such PR would take quite a time because we would have to do lots of testing as well.
Also, int long-medium there is a plan to migrate to Vulcan/MoltenVK, so this code probably would get thrown out or reworked in major way.

I think I'll close this issue. You can still comment or refer it in PRs if you like. Thank you for trying to make sense in our renderer! Really appreciating it.


test_sse_s3_default_multipart_upload verifies encryption header

there's a test_sse_s3_default_multipart_upload test case, but it wasn't verifying that the upload was actually encrypted
for https://github.com/ceph/ceph/pull/49409 https://tracker.ceph.com/issues/59218

@cbodley besides backporting ceph-master should I wait for this patch to be backported to ceph-quincy and ceph-reef once those two Ceph backports are complete? I see https://tracker.ceph.com/issues/59355 and https://tracker.ceph.com/issues/59356 on pending backport atm.


Refresh Button Doesn't Work

When I change a jconf file and then click the refresh button it doesn't seem to reload everything.  Does this button do something else?

Well, it should reload everything, but I think it should actually reload if you modify and save any of the files automatically.


ci: try building platforms in parallel too

This would unblock deploys for the common -amd64 case while still eventually pushing a multi-arch amd64/arm64 build by the end.

it's very weird that the -debug image took around 20 minutes, despite caches being available https://github.com/livepeer/catalyst/actions/runs/4576542110 whereas the stripped binary version was built faster despite it having a separate stage for stripping debug symbols.


5.3: load requirements file (fix #3)

Once downloads.openmicroscopy.org/latest/omero starting redirecting
to 5.3 rather than 5.2, the pipelines library was missing for web.
This adds a last-minute call to pip install -r in order to install
dependencies globally. Longer-term, the playbook version should have
installed all dependencies installed.
cc: @heidricha

Merging and tagging as a first dev version that works with 5.2 and 5.3


Implement check for bottleable formulae dependents

This implements my idea from #677.
Let's reinstate attempting to build unbottled dependents from source
when they are in the source_dependents array, but expect at least one
of brew install --only-dependencies, brew install --build-from-source,
brew linkage --test, or brew test to produce an error.
This is a little more complicated than I'd like, because this actually
required implementing two distinct orthogonal features:

creating Steps that are expected to produce an error
delaying the classification of steps as :passed or :failed
depending on the status of other steps

creating Steps that are expected to produce an error

I'm afraid I don't really like this idea 😭. It feels like it adds a lot of both code and cognitive complexity to understanding when things are "expected to fail" but then they fail if they actually succeed?

Apologies for the delay here. As you might have already noticed, I like to mull things over and often get carried away with it.
Here's the problem I'm trying to solve. There are roughly three classes of formulae that aren't bottled on ARM:

Those that just don't support it.
Those that were missed during various opportunities to bottle them (initial mass bottling, succeeding version bumps)
Those that are blocked by dependents not being bottled for ARM.

I feel like we can do more about 2 and 3, and, in particular, whatever we try to do about them, it should be automated. Relying on manual intervention just leads to us missing things (cf. #687), and that's what I'm trying to fix here.
Regarding the cognitive complexity to understand what's going on here: I think I can work to simplify this. (Indeed, a lot of the extra code you specifically pointed out is not needed, and is there to try to simplify understanding what's going on.) That said, I don't think what's happening here is too different from a test block doing shell_output("foo", 1). We expect foo to return a non-zero exit code, which indicates an error, but consider the test a success. If we can wrap our heads around that, I don't think it's too great a leap to understand what we're trying to do here.


Confusion Output

I am not sure whether this issue comes from, code gpt or openai: the output sometimes looks fine, but sometimes becomes confusion. Can we output in Raw without any format?

Yes, you can get raw output without any formatting. In CodeGPT, the output format is determined by the settings you choose. If you want to get raw output, you can adjust the settings accordingly. However, please note that the quality of the output also depends on the AI model you are using. If you are using an OpenAI model, the output might vary based on the model's understanding and interpretation of the input.


OTA firmware update fails intermittantly

Appears to be a timing issue between delay() and OTA update timeout()
May be preferable to request PlatformIO fix as this would be an issue for all.

PIO uses espota.py to upload firmware which does not currently support passing a timeout via the command line or environment.
Its codified timeout is 10seconds.
As a workaround suggest any delays within smartletterbox are currently less than 10 seconds.


Not Compatible with Too Many Emotes Store

Normally, by typing "emotes" into the terminal, you can bring up the too many emotes store. With this mod enabled, you cannot open the store, and it provides a "there was no action supplied with the word." By disabling this mod, the emote store works properly. Not a critical thing to fix, just annoying :(

Can you provide logs of when this happens to understand what I need to change.

Normally, by typing "emotes" into the terminal, you can bring up the too many emotes store. With this mod enabled, you cannot open the store, and it provides a "there was no action supplied with the word." By disabling this mod, the emote store works properly. Not a critical thing to fix, just annoying :(

We use LGU + TooManyEmotes, works perfectly fine.
Any possible chance it's not LGU but maybe something else that conflicts with LGU somehow?

Closing due to lack of response so assuming that either this mod is not the cause of the issue or it got resolved already.


necessary guidance documents are missing.

I am sorry to disturb again. In the project, it is hard to run the code successfully without necessary files. For example,  I have to try several times to construct the environment with missing file named requirements.txt. Besides, the Readme.md did not give detailed introduction to clarify the pipline. Now I can‘t continue my validation because the configuration of the environment variables is unknown to me.  Please supplement the configuration file if you are free. I am looking forword to your response. Thanks a lot.

Hi, when I get the chance, I will further improve the guidance documents.
In short, besides common libraries like pytorch, transformers and nltk, you also need to install collie via pip install collie-lm for parallelism. To run programs in parallel, launch with torchrun. Otherwise, use python to run.


What is the entry point to running this in prediction mode?

Hi, assuming we have a smile file input, what is the python command to run this prediction analysis on the file? The readme doesn't have this and I see a bunch of py files that are runnable, but I'm not sure which one I should invoke.

it appears to be just running the command somn


JWT support for OAuth2 authentication with Ping Federate

This PR adds the option for a user to enable authentication to APIs via JSON Web Tokens (JWT). This saves the server from sending another request to the Ping Federate server to verify that a token is valid.
All validation is done against the signed JWT locally within the Genie JVM.
The code currently expects three claims to exist in the JWT:
exp the expiration time of the token
client_id which will be the principal (user) within the Spring Security Context.
scope which is a collection of Strings each of which will be converted to ROLE_{scope}. If the scopes are prefixed with genie_ the prefix is stripped off. These roles will become the Authorities within the Spring Security context.

Coverage increased (+0.1%) to 88.498% when pulling 0045e63d8cf9fa631b40fb5d2827398e22ffbb6d on tgianos:develop into 41d1159bc8c20baeac05bb6461d29823c9389bd1 on Netflix:develop.

Coverage increased (+0.06%) to 88.461% when pulling 4f278cfa7e163e5fa2278eebd6c4948fe9ac8f51 on tgianos:develop into 41d1159bc8c20baeac05bb6461d29823c9389bd1 on Netflix:develop.

Coverage increased (+0.1%) to 88.504% when pulling 8efe5b7c371268290baa68d8b3d8980e228870a6 on tgianos:develop into 41d1159bc8c20baeac05bb6461d29823c9389bd1 on Netflix:develop.


Global slide elements

We should provide

slide numbering
headers
footers
a place to put a logo
section name (will need some kind of referencing mechanism)
backgrounds, e.g. colored, Makie plots, images, etc.

We could offer this through modifying the parent figure in Presentation which serves as the background for all slides (suggested in #1).

Another interesting thing would be backgrounds - as heatmaps or images for color gradients, for example.  Also, is there any info on the placement of child Scenes within the main Scene?  For example, if I want some arbitrary heatmap as my background (perhaps to replicate the mango theme of PowerPoint :P), how might I plot that?
One thing I can think of is creating a child Scene and changing its order in the list of children of parent.scene so that everything else is plotted on top...

Oh yes, backgrounds should also be on the list.

Also, is there any info on the placement of child Scenes within the main Scene?

I have not thought about that yet. But I think this is also how @ffreyer intended to use it, at least that is how I understand the docstring of Presentation.
Perhaps we have to modify/extend the parent figure a bit if we would like to have a 1) global background that is displayed by default on all slides and 2) slide-local backgrounds/images.
Yet another feature would be to allow split backgrounds, e.g. as shown here with the Deckset app (Marpit supports that too): https://docs.deckset.com/English.lproj/Media/01-background-images.html
Right now I am still in the brainstorming stage, hence, this issue.At some point we should settle on a concrete set of features that should be implemented for a first release.
I can imagine the global/local backgrounds to be on that list, not sure about the split backgrounds one.

I thought about this a bit too. One thing we could do is have the slide act like a loosely connected layout element of the parent. For example we could have a Box in the parent and use it's computedbbox as the size of the slide figure. (Or alternatively we could make a Slide layout element that doesn't place it's blockscene into the scene tree.) That way you can set up a title space etc for every slide.
This stuff would also need to be clearable somehow though, since the opening and ending slide typically put a title in the center while all others typically have it at the top.


readiness probe failed.

Describe the bug
Due to the port conflict, I have changed the zookeeper's default config:  zookeeper.client.port to 2281 , It won't start when I deploy the zookeeper service.
To Reproduce
Modify the default zookeeper configuration.
Environment

CloudEon Version: [1.0.0]
Java Version: [OpenJDK 1.8]
OS: [CentOS 7.9]
Kubernetes: [1.27.1]

Screenshots

Thanks for the feedback, the issue has been resolved in the dev branch


exec: "stress": executable file not found in $PATH"

code-3.2
# ./mydocker run -ti -m 100m stress --vm-bytes 200m --vm-keep -m 1

{"level":"info","msg":"command all is stress --vm-bytes 200m --vm-keep -m 1","time":"2017-08-23T20:04:08+08:00"}
{"level":"info","msg":"init come on","time":"2017-08-23T20:04:08+08:00"}
{"level":"info","msg":"Current location is /root/go/src/github.com/xianlubird/mydocker","time":"2017-08-23T20:04:08+08:00"}
{"level":"error","msg":"Exec loop path error exec: \"stress\": executable file not found in $PATH","time":"2017-08-23T20:04:08+08:00"}
exec: "stress": executable file not found in $PATH
{"level":"warning","msg":"remove cgroup fail cgroup path error stat mydocker-cgroup: no such file or directory","time":"2017-08-23T20:04:08+08:00"}
{"level":"warning","msg":"remove cgroup fail cgroup path error stat mydocker-cgroup: no such file or directory","time":"2017-08-23T20:04:08+08:00"}

# lsb_release -a; uname -r
No LSB modules are available.
Distributor ID:	Ubuntu
Description:	Ubuntu 14.04.5 LTS
Release:	14.04
Codename:	trusty
4.4.0-31-generic

在机器上需要先安装stress
apt-get install stress

机器上已经装过了。并且可以运行。 @BSWANG

之前合并代码有一些问题，刚才已经更新了code-3.2的tag解决，请尝试更新最新的code-3.2的tag的代码解决