Layout of the keyboard should be customizable.

Hello @VisheshVadhera
You can do a pull request if you want to add that feature and I can provide advices/help if you want?
Cheers,
Olivier

Hi @olivierg13
Yeah, I would love to work on this feature and would be happy if you can give me advice.
Cheers,
Vishesh

Hello @VisheshVadhera
So what do you want to be customizable?
Is it just the UI? Do you want something really crazy and different than the actual keyboard?
etc...

@olivierg13
Well, my intention was to just make the UI customizable and that can be the starting point, but I think it would be really cool if we can add more customizations to the keyboard (don't have anything in mind, but suggestions are welcome!).

@VisheshVadhera
So I guess a good starting point would have to build an interface that register each button to his own role (like button1 should do that etc...).
Then you could provide a method that instantiate the view layout, and an abstract method that the user has to define in order to associate each role to each subview.
I don't know if my explanation is good enough, it's actually a little complicated and it involves to know how to play with abstract classes and methods.
Let me know if it's too much?
Otherwise you could just customize the UI in your fork, only problem is that you will have to merge/rebase the changes everytime there is an update.
Cheers,
Olivier

@olivierg13
Here's what I did:

Created an interface called KeyboardButtonRoleInterface :

public interface KeyboardButtonRoleInterface {

   public void setKeyboardButtonRole(KeyboardButtonEnum keyboardButtonEnum);

}

Replaced the following line in AppLockActivity's initLayout(Intent intent) method:

mKeyboardView = (KeyboardView) this.findViewById(R.id.pin_code_keyboard_view);

with this one:
mKeyboardView = (KeyboardView) this.findViewById(getKeyboardView());

where getKeyboardView is:
public int getKeyboardView() {
        return R.id.pin_code_keyboard_view;
    }

What should I do next?

'''
public int getKeyboardView() {
return R.layout.pin_code_keyboard_view;
}
'''
Maybe instead of R.id...
Then I guess you can override that method in your own AppLockActivity, and replace the R.layout... with your own layout (but you need to keep the same ids that are used by the interface). Like for instance @+id/button1 should still be there in your layout (I'm writing that by memory, not sure it's the right id but the idea is here).
Sorry if I explain badly ^^
Don't hesitate if you have problems/questions?

Yep, that should have been R.layout instead of R.id. and then the getKeyboardView can be overridden in the AppLockActivity to instead provide a custom layout.
The thing which is still a bit hazy to me is something which you wrote:

So I guess a good starting point would have to build an interface that register each button to his own role (like button1 should do that etc...).
Then you could provide a method that instantiate the view layout, and an abstract method that the user has to define in order to associate each role to each subview.

I have a fair bit of command over interfaces and abstract classes and am pretty sure that I would be able to translate your thoughts into code if you can tell me in a bit more detail as to what exactly do you want me to do with the buttons, you know attaching role to the button and that sort of stuff which you just talked about.
Vishesh

@VisheshVadhera
I actually don't remember too much why I said that haha
If you just need to customize the UI, then the getKeyboardView is enough I guess?
If you need to add features to a new keyboard, then that's why the interface is useful, but I guess it's maybe out of the scope here? XD
Basically if it's just UI, keep all the used ids in your new layout and that should be fine :)

Alright, so I'll add the getKeyboardView method to the AppLockActivity and create a PR.  Thanks!

👍

Hey @olivierg13 , the process is a bit more involved than what we thought initially and would require more changes than simply adding a new method which can be overridden. I'll get back with a PR when it's done.

No problem :)


Race condition in drain sequence

bazel test test/integration:protocol_integration_test --test_sharding_strategy=disabled --test_filter="*DrainClose/IPv4_Http2Downstream_HttpUpstream" --test_output=all --test_arg="-l trace"

[AUNI] waitFordEndStream()

[2020-05-18 14:47:38.645][25][trace][connection] [source/common/network/connection_impl.cc:578] [C1] write ready
[2020-05-18 14:47:38.645][25][trace][connection] [source/common/network/connection_impl.cc:528] [C1] read ready
[2020-05-18 14:47:38.645][25][trace][connection] [source/common/network/raw_buffer_socket.cc:25] [C1] read returns: 104
[2020-05-18 14:47:38.645][25][trace][connection] [source/common/network/raw_buffer_socket.cc:39] [C1] read error: Resource temporarily unavailable
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: reset nghttp2_active_outbound_item
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: aob->item = (nil)
[2020-05-18 14:47:38.646][25][debug][http2] [source/common/http/http2/codec_impl.cc:1012] [C1] updating connection-level initial window size to 268435456
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/codec_impl.cc:488] [C1] dispatching 104 bytes
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: connection recv_window_size=0, local_window=268435456
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: adjusting kept idle streams num_idle_streams=0, max=100
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_FIRST_SETTINGS]
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_HEAD]
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: payloadlen=30, type=4, flags=0x00, stream_id=0
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: SETTINGS
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/codec_impl.cc:553] [C1] about to recv frame type=4, flags=0
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/codec_impl.cc:1280] [C1] track inbound frame type=4 flags=0 length=30 padding_length=0
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_SETTINGS]
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: readlen=6, payloadleft=24
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_SETTINGS]
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: readlen=6, payloadleft=18
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_SETTINGS]
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: readlen=6, payloadleft=12
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_SETTINGS]
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: readlen=6, payloadleft=6
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_SETTINGS]
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: readlen=6, payloadleft=0
[2020-05-18 14:47:38.646][25][trace][http2] [source/common/http/http2/codec_impl.cc:568] [C1] recv frame type=4
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_HEAD]
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: payloadlen=4, type=8, flags=0x00, stream_id=0
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: WINDOW_UPDATE
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/codec_impl.cc:553] [C1] about to recv frame type=8, flags=0
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/codec_impl.cc:1280] [C1] track inbound frame type=8 flags=0 length=4 padding_length=0
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_NBYTE]
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: readlen=4, payloadleft=0, left=0
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/codec_impl.cc:568] [C1] recv frame type=8
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_HEAD]
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: payloadlen=19, type=1, flags=0x05, stream_id=1
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: HEADERS
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: no padding in payload
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/codec_impl.cc:553] [C1] about to recv frame type=1, flags=5
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: dep_add dep_stream(0x7259220)=0, stream(0x71ee690)=1
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: adjusting kept closed streams num_closed_streams=0, num_incoming_streams=1, max_concurrent_streams=2147483647
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: call on_begin_headers callback stream_id=1
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/codec_impl.cc:1280] [C1] track inbound frame type=1 flags=5 length=19 padding_length=0
[2020-05-18 14:47:38.647][25][debug][http] [source/common/http/conn_manager_impl.cc:261] [C1] new stream
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_HEADER_BLOCK]
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: readlen=19, payloadleft=0
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: block final=1
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: decoding header block 19 bytes
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: start state=1
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: indexed repr
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: decoded integer is 2
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: index=2
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: header emission: :method: GET
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: proclen=1
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: start state=2
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: literal header repr - indexed name
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: indexing required=0, no_index=0
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: decoded integer is 4
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: index=4
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: huffman encoded=1
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: decoded integer is 10
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: valuelen=10
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: 10 bytes read
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: header emission: :path: /test/long/url
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: proclen=12
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: start state=2
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: indexed repr
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: decoded integer is 6
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: index=6
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: header emission: :scheme: http
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: proclen=1
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: start state=2
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: literal header repr - indexed name
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: indexing required=1, no_index=0
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: decoded integer is 1
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: index=1
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: huffman encoded=1
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: decoded integer is 3
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: valuelen=3
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: 3 bytes read
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: header emission: :authority: host
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: proclen=5
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: start state=2
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: all input bytes were processed
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: in_final set
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: proclen=0
[2020-05-18 14:47:38.647][25][trace][http2] [source/common/http/http2/codec_impl.cc:568] [C1] recv frame type=1
[2020-05-18 14:47:38.647][25][debug][http] [source/common/http/conn_manager_impl.cc:808] [C1][S16785334857182317990] request headers complete (end_stream=true):
':method', 'GET'
':path', '/test/long/url'
':scheme', 'http'
':authority', 'host'

[2020-05-18 14:47:38.647][25][debug][http] [source/common/http/conn_manager_impl.cc:1369] [C1][S16785334857182317990] request end stream
[2020-05-18 14:47:38.647][25][debug][http] [source/common/http/conn_manager_impl.cc:1513] [C1][S16785334857182317990] Sending local reply with details health_check_ok
[2020-05-18 14:47:38.648][25][trace][http] [source/common/http/conn_manager_impl.cc:1602] [C1][S16785334857182317990] encode headers called: filter=0x77b61e0 status=0
[2020-05-18 14:47:38.648][25][debug][http] [source/common/http/conn_manager_impl.cc:1675] [C1][S16785334857182317990] drain closing connection
[2020-05-18 14:47:38.648][25][debug][http] [source/common/http/conn_manager_impl.cc:1753] [C1][S16785334857182317990] encoding headers via codec (end_stream=true):
':status', '200'
'x-envoy-upstream-healthchecked-cluster', 'cluster_name'
'date', 'Mon, 18 May 2020 14:47:38 GMT'
'server', 'envoy'

[2020-05-18 14:47:38.648][25][trace][main] [source/common/event/dispatcher_impl.cc:169] item added to deferred deletion list (size=1)
[2020-05-18 14:47:38.648][25][trace][http] [source/common/http/conn_manager_impl.cc:1078] [C1][S16785334857182317990] decode headers called: filter=0x7792420 status=1
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/codec_impl.cc:508] [C1] dispatched 104 bytes
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: adjusting kept idle streams num_idle_streams=0, max=100
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: next frame: payloadlen=24, type=4, flags=0x00, stream_id=0
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/codec_impl.cc:736] [C1] about to send frame type=4, flags=0
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: start transmitting frame type=4, length=33
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/codec_impl.cc:790] [C1] send data: bytes=33
[2020-05-18 14:47:38.648][25][trace][connection] [source/common/network/connection_impl.cc:426] [C1] writing 33 bytes, end_stream false
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: adjusting kept idle streams num_idle_streams=0, max=100
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: end transmission of a frame
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/codec_impl.cc:679] [C1] sent frame type=4
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: reset nghttp2_active_outbound_item
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: aob->item = 0x779d860
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: next frame: payloadlen=0, type=4, flags=0x01, stream_id=0
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/codec_impl.cc:736] [C1] about to send frame type=4, flags=1
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: start transmitting frame type=4, length=9
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/codec_impl.cc:790] [C1] send data: bytes=9
[2020-05-18 14:47:38.648][25][trace][connection] [source/common/network/connection_impl.cc:426] [C1] writing 9 bytes, end_stream false
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: adjusting kept idle streams num_idle_streams=0, max=100
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: end transmission of a frame
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/codec_impl.cc:679] [C1] sent frame type=4
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: reset nghttp2_active_outbound_item
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: aob->item = 0x779d9a0
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: next frame: payloadlen=4, type=8, flags=0x00, stream_id=0
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/codec_impl.cc:736] [C1] about to send frame type=8, flags=0
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: start transmitting frame type=8, length=13
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/codec_impl.cc:790] [C1] send data: bytes=13
[2020-05-18 14:47:38.648][25][trace][connection] [source/common/network/connection_impl.cc:426] [C1] writing 13 bytes, end_stream false
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: adjusting kept idle streams num_idle_streams=0, max=100
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: end transmission of a frame
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/codec_impl.cc:679] [C1] sent frame type=8
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: reset nghttp2_active_outbound_item
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: aob->item = 0x779d900
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: next frame: payloadlen=8, type=7, flags=0x00, stream_id=0
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/codec_impl.cc:736] [C1] about to send frame type=7, flags=0
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: start transmitting frame type=7, length=17
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/codec_impl.cc:790] [C1] send data: bytes=17
[2020-05-18 14:47:38.648][25][trace][connection] [source/common/network/connection_impl.cc:426] [C1] writing 17 bytes, end_stream false
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: adjusting kept idle streams num_idle_streams=0, max=100
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: end transmission of a frame
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/codec_impl.cc:679] [C1] sent frame type=7
[2020-05-18 14:47:38.648][25][debug][http2] [source/common/http/http2/codec_impl.cc:682] [C1] sent goaway code=0
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: reset nghttp2_active_outbound_item
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: aob->item = 0x779da40
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: deflatehd: emit table_size=4096
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: deflatehd: deflating :status: 200
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: deflatehd: name/value match index=7
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: deflatehd: emit indexed index=7, 1 bytes
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: deflatehd: deflating x-envoy-upstream-healthchecked-cluster: cluster_name
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: deflatehd: emit newname namelen=38, valuelen=12, indexing_mode=0
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: deflatehd: emit string str=x-envoy-upstream-healthchecked-cluster, length=38, huffman=1, encoded_length=27
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: deflatehd: emit string str=cluster_name, length=12, huffman=1, encoded_length=9
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: deflatehd: deflating date: Mon, 18 May 2020 14:47:38 GMT
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: deflatehd: name match index=32
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: deflatehd: emit indname index=32, valuelen=29, indexing_mode=0
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: deflatehd: emit string str=Mon, 18 May 2020 14:47:38 GMT, length=29, huffman=1, encoded_length=22
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: deflatehd: deflating server: envoy
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: deflatehd: name match index=53
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: deflatehd: emit indname index=53, valuelen=5, indexing_mode=0
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: deflatehd: emit string str=envoy, length=5, huffman=1, encoded_length=4
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: deflatehd: all input name/value pairs were deflated
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: HEADERS/PUSH_PROMISE, payloadlen=73
[2020-05-18 14:47:38.648][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: before padding, HEADERS serialized in 82 bytes
[2020-05-18 14:47:38.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: padding selected: payloadlen=73, padlen=0
[2020-05-18 14:47:38.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: padlen = 0, nothing to do
[2020-05-18 14:47:38.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: HEADERS finally serialized in 82 bytes
[2020-05-18 14:47:38.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: next frame: payloadlen=73, type=1, flags=0x05, stream_id=1
[2020-05-18 14:47:38.649][25][trace][http2] [source/common/http/http2/codec_impl.cc:736] [C1] about to send frame type=1, flags=5
[2020-05-18 14:47:38.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: start transmitting frame type=1, length=82
[2020-05-18 14:47:38.649][25][trace][http2] [source/common/http/http2/codec_impl.cc:790] [C1] send data: bytes=82
[2020-05-18 14:47:38.649][25][trace][connection] [source/common/network/connection_impl.cc:426] [C1] writing 82 bytes, end_stream false
[2020-05-18 14:47:38.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: adjusting kept idle streams num_idle_streams=0, max=100
[2020-05-18 14:47:38.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: end transmission of a frame
[2020-05-18 14:47:38.649][25][trace][http2] [source/common/http/http2/codec_impl.cc:679] [C1] sent frame type=1
[2020-05-18 14:47:38.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: stream(0x71ee690)=1 close
[2020-05-18 14:47:38.649][25][debug][http2] [source/common/http/http2/codec_impl.cc:812] [C1] stream closed: 0
[2020-05-18 14:47:38.649][25][trace][main] [source/common/event/dispatcher_impl.cc:169] item added to deferred deletion list (size=2)
[2020-05-18 14:47:38.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: destroy closed stream(0x71ee690)=1
[2020-05-18 14:47:38.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: dep_remove stream(0x71ee690)=1
[2020-05-18 14:47:38.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: reset nghttp2_active_outbound_item
[2020-05-18 14:47:38.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: aob->item = 0x779db80
[2020-05-18 14:47:38.649][25][trace][main] [source/common/event/dispatcher_impl.cc:83] clearing deferred deletion list (size=2)
[2020-05-18 14:47:38.649][25][trace][connection] [source/common/network/connection_impl.cc:490] [C1] socket event: 2
[2020-05-18 14:47:38.649][25][trace][connection] [source/common/network/connection_impl.cc:578] [C1] write ready
[2020-05-18 14:47:38.649][25][trace][connection] [source/common/network/raw_buffer_socket.cc:68] [C1] write returns: 154
[2020-05-18 14:47:38.649][12][trace][connection] [source/common/network/connection_impl.cc:490] [C0] socket event: 3
[2020-05-18 14:47:38.649][12][trace][connection] [source/common/network/connection_impl.cc:578] [C0] write ready
[2020-05-18 14:47:38.649][12][trace][connection] [source/common/network/connection_impl.cc:528] [C0] read ready
[2020-05-18 14:47:38.649][12][trace][connection] [source/common/network/raw_buffer_socket.cc:25] [C0] read returns: 154
[2020-05-18 14:47:38.649][12][trace][connection] [source/common/network/raw_buffer_socket.cc:39] [C0] read error: Resource temporarily unavailable
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/codec_impl.cc:488] [C0] dispatching 154 bytes
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: connection recv_window_size=0, local_window=268435456
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: adjusting kept idle streams num_idle_streams=0, max=100
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_FIRST_SETTINGS]
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_HEAD]
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: payloadlen=24, type=4, flags=0x00, stream_id=0
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: SETTINGS
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/codec_impl.cc:553] [C0] about to recv frame type=4, flags=0
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_SETTINGS]
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: readlen=6, payloadleft=18
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_SETTINGS]
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: readlen=6, payloadleft=12
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_SETTINGS]
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: readlen=6, payloadleft=6
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_SETTINGS]
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: readlen=6, payloadleft=0
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/codec_impl.cc:568] [C0] recv frame type=4
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_HEAD]
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: payloadlen=0, type=4, flags=0x01, stream_id=0
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: SETTINGS
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/codec_impl.cc:553] [C0] about to recv frame type=4, flags=1
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_SETTINGS]
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: readlen=0, payloadleft=0
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/codec_impl.cc:568] [C0] recv frame type=4
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_HEAD]
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: payloadlen=4, type=8, flags=0x00, stream_id=0
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: WINDOW_UPDATE
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/codec_impl.cc:553] [C0] about to recv frame type=8, flags=0
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_NBYTE]
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: readlen=4, payloadleft=0, left=0
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/codec_impl.cc:568] [C0] recv frame type=8
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_HEAD]
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: payloadlen=8, type=7, flags=0x00, stream_id=0
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: GOAWAY
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/codec_impl.cc:553] [C0] about to recv frame type=7, flags=0
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_NBYTE]
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: readlen=8, payloadleft=0, left=0
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_GOAWAY_DEBUG]
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: readlen=0, payloadleft=0
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/codec_impl.cc:568] [C0] recv frame type=7
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_HEAD]
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: payloadlen=73, type=1, flags=0x05, stream_id=1
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: HEADERS
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: no padding in payload
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/codec_impl.cc:553] [C0] about to recv frame type=1, flags=5
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: call on_begin_headers callback stream_id=1
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_HEADER_BLOCK]
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: readlen=73, payloadleft=0
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: block final=1
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: decoding header block 73 bytes
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: start state=1
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: header table size change
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: decoded integer is 4096
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: table_size=4096
[2020-05-18 14:47:38.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: indexed repr
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: decoded integer is 8
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: index=8
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: header emission: :status: 200
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: proclen=4
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: start state=2
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: literal header repr - new name
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: indexing required=1, no_index=0
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: huffman encoded=1
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: decoded integer is 27
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: 27 bytes read
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: huffman encoded=1
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: decoded integer is 9
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: valuelen=9
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: 9 bytes read
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: header emission: x-envoy-upstream-healthchecked-cluster: cluster_name
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: proclen=39
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: start state=2
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: literal header repr - indexed name
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: indexing required=1, no_index=0
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: decoded integer is 33
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: index=33
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: huffman encoded=1
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: decoded integer is 22
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: valuelen=22
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: 22 bytes read
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: header emission: date: Mon, 18 May 2020 14:47:38 GMT
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: proclen=24
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: start state=2
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: literal header repr - indexed name
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: indexing required=1, no_index=0
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: decoded integer is 54
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: index=54
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: huffman encoded=1
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: decoded integer is 4
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: valuelen=4
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: 4 bytes read
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: header emission: server: envoy
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: proclen=6
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: start state=2
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: all input bytes were processed
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: inflatehd: in_final set
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: proclen=0
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/codec_impl.cc:568] [C0] recv frame type=1
[2020-05-18 14:47:38.650][12][debug][client] [source/common/http/codec_client.cc:105] [C0] response complete
[2020-05-18 14:47:38.650][12][trace][main] [source/common/event/dispatcher_impl.cc:169] item added to deferred deletion list (size=1)
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: stream(0x76ae1e0)=1 close
[2020-05-18 14:47:38.650][12][debug][http2] [source/common/http/http2/codec_impl.cc:812] [C0] stream closed: 0
[2020-05-18 14:47:38.650][12][trace][main] [source/common/event/dispatcher_impl.cc:169] item added to deferred deletion list (size=2)
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: destroy closed stream(0x76ae1e0)=1
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: dep_remove stream(0x76ae1e0)=1
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/codec_impl.cc:508] [C0] dispatched 154 bytes
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: adjusting kept idle streams num_idle_streams=0, max=100
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: frame preparation failed with The current session is closing
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: reset nghttp2_active_outbound_item
[2020-05-18 14:47:38.650][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: aob->item = (nil)
[2020-05-18 14:47:38.650][12][trace][main] [source/common/event/dispatcher_impl.cc:83] clearing deferred deletion list (size=2)
[AUNI] waitFordDisconnect()
[2020-05-18 14:47:40.615][19][info][main] [source/server/drain_manager_impl.cc:68] shutting down parent after drain
[2020-05-18 14:47:43.562][19][debug][main] [source/server/server.cc:187] flushing stats
[2020-05-18 14:47:43.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: adjusting kept idle streams num_idle_streams=0, max=100
[2020-05-18 14:47:43.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: next frame: payloadlen=8, type=7, flags=0x00, stream_id=0
[2020-05-18 14:47:43.649][25][trace][http2] [source/common/http/http2/codec_impl.cc:736] [C1] about to send frame type=7, flags=0
[2020-05-18 14:47:43.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: start transmitting frame type=7, length=17
[2020-05-18 14:47:43.649][25][trace][http2] [source/common/http/http2/codec_impl.cc:790] [C1] send data: bytes=17
[2020-05-18 14:47:43.649][25][trace][connection] [source/common/network/connection_impl.cc:426] [C1] writing 17 bytes, end_stream false
[2020-05-18 14:47:43.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: adjusting kept idle streams num_idle_streams=0, max=100
[2020-05-18 14:47:43.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: end transmission of a frame
[2020-05-18 14:47:43.649][25][trace][http2] [source/common/http/http2/codec_impl.cc:679] [C1] sent frame type=7
[2020-05-18 14:47:43.649][25][debug][http2] [source/common/http/http2/codec_impl.cc:682] [C1] sent goaway code=0
[2020-05-18 14:47:43.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: reset nghttp2_active_outbound_item
[2020-05-18 14:47:43.649][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: aob->item = 0x779db80
[2020-05-18 14:47:43.649][25][debug][connection] [source/common/network/connection_impl.cc:109] [C1] closing data_to_write=17 type=2
[2020-05-18 14:47:43.649][25][debug][connection] [source/common/network/connection_impl_base.cc:30] [C1] setting delayed close timer with timeout 1000 ms
[2020-05-18 14:47:43.649][25][trace][connection] [source/common/network/connection_impl.cc:490] [C1] socket event: 2
[2020-05-18 14:47:43.649][25][trace][connection] [source/common/network/connection_impl.cc:578] [C1] write ready
[2020-05-18 14:47:43.649][25][trace][connection] [source/common/network/raw_buffer_socket.cc:68] [C1] write returns: 17
[2020-05-18 14:47:43.649][25][debug][connection] [source/common/network/connection_impl.cc:619] [C1] write flush complete
[2020-05-18 14:47:43.649][12][trace][connection] [source/common/network/connection_impl.cc:490] [C0] socket event: 3
[2020-05-18 14:47:43.649][12][trace][connection] [source/common/network/connection_impl.cc:578] [C0] write ready
[2020-05-18 14:47:43.649][12][trace][connection] [source/common/network/connection_impl.cc:528] [C0] read ready
[2020-05-18 14:47:43.649][12][trace][connection] [source/common/network/raw_buffer_socket.cc:25] [C0] read returns: 17
[2020-05-18 14:47:43.649][12][trace][connection] [source/common/network/raw_buffer_socket.cc:39] [C0] read error: Resource temporarily unavailable
[2020-05-18 14:47:43.649][12][trace][http2] [source/common/http/http2/codec_impl.cc:488] [C0] dispatching 17 bytes
[2020-05-18 14:47:43.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: connection recv_window_size=0, local_window=268435456
[2020-05-18 14:47:43.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: adjusting kept idle streams num_idle_streams=0, max=100
[2020-05-18 14:47:43.649][12][trace][http2] [source/common/http/http2/codec_impl.cc:508] [C0] dispatched 17 bytes
[2020-05-18 14:47:43.649][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: adjusting kept idle streams num_idle_streams=0, max=100
[2020-05-18 14:47:44.651][25][debug][connection] [source/common/network/connection_impl_base.cc:44] [C1] triggered delayed close
[2020-05-18 14:47:44.651][25][debug][connection] [source/common/network/connection_impl.cc:200] [C1] closing socket: 1
[2020-05-18 14:47:44.651][25][debug][conn_handler] [source/server/connection_handler_impl.cc:110] [C1] adding to cleanup list
[2020-05-18 14:47:44.651][12][trace][connection] [source/common/network/connection_impl.cc:490] [C0] socket event: 3
[2020-05-18 14:47:44.652][12][trace][connection] [source/common/network/connection_impl.cc:578] [C0] write ready
[2020-05-18 14:47:44.652][25][trace][main] [source/common/event/dispatcher_impl.cc:169] item added to deferred deletion list (size=1)
[2020-05-18 14:47:44.652][12][trace][connection] [source/common/network/connection_impl.cc:528] [C0] read ready
[2020-05-18 14:47:44.652][25][trace][main] [source/common/event/dispatcher_impl.cc:169] item added to deferred deletion list (size=2)
[2020-05-18 14:47:44.652][25][trace][main] [source/common/event/dispatcher_impl.cc:83] clearing deferred deletion list (size=2)
[2020-05-18 14:47:44.652][12][trace][connection] [source/common/network/raw_buffer_socket.cc:25] [C0] read returns: 0
[2020-05-18 14:47:44.652][12][debug][connection] [source/common/network/connection_impl.cc:555] [C0] remote close
[2020-05-18 14:47:44.652][12][debug][connection] [source/common/network/connection_impl.cc:200] [C0] closing socket: 0
[2020-05-18 14:47:44.652][12][debug][client] [source/common/http/codec_client.cc:92] [C0] disconnect. resetting 0 pending requests
[2020-05-18 14:47:44.652][12][info][testing] [test/integration/server.cc:217] stopping integration test server
[2020-05-18 14:47:44.652][19][info][main] [source/server/server.cc:681] shutting down server instance
[2020-05-18 14:47:44.652][19][info][main] [source/server/server.cc:628] main dispatch loop exited
[2020-05-18 14:47:44.652][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: reset nghttp2_active_outbound_item
[2020-05-18 14:47:44.652][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: aob->item = (nil)
[2020-05-18 14:47:44.652][25][debug][main] [source/server/worker_impl.cc:120] worker exited dispatch loop
[2020-05-18 14:47:44.652][25][debug][grpc] [source/common/grpc/google_async_client_impl.cc:38] Joining completionThread
[2020-05-18 14:47:44.652][26][debug][grpc] [source/common/grpc/google_async_client_impl.cc:71] completionThread exiting
[2020-05-18 14:47:44.652][25][debug][grpc] [source/common/grpc/google_async_client_impl.cc:40] Joined completionThread
[2020-05-18 14:47:44.652][25][debug][upstream] [source/common/upstream/cluster_manager_impl.cc:980] shutting down thread local cluster manager
[2020-05-18 14:47:44.653][19][debug][main] [source/server/server.cc:187] flushing stats
[2020-05-18 14:47:44.654][19][debug][init] [source/common/init/watcher_impl.cc:27] ClusterImplBase destroyed
[2020-05-18 14:47:44.654][19][debug][init] [source/common/init/watcher_impl.cc:27] init manager Cluster cluster_0 destroyed
[2020-05-18 14:47:44.654][19][debug][grpc] [source/common/grpc/google_async_client_impl.cc:38] Joining completionThread
[2020-05-18 14:47:44.654][23][debug][grpc] [source/common/grpc/google_async_client_impl.cc:71] completionThread exiting
[2020-05-18 14:47:44.654][19][debug][grpc] [source/common/grpc/google_async_client_impl.cc:40] Joined completionThread
[2020-05-18 14:47:44.655][19][debug][upstream] [source/common/upstream/cluster_manager_impl.cc:980] shutting down thread local cluster manager
[2020-05-18 14:47:44.656][19][info][main] [source/server/server.cc:674] exiting
[2020-05-18 14:47:44.656][19][debug][init] [source/common/init/watcher_impl.cc:27] RunHelper destroyed
[2020-05-18 14:47:44.656][19][debug][main] [source/server/server.cc:129] destroying listener manager
[2020-05-18 14:47:44.656][19][debug][init] [source/common/init/target_impl.cc:32] target LDS destroyed
[2020-05-18 14:47:44.656][19][debug][init] [source/common/init/watcher_impl.cc:27] Listener-local-init-watcher http destroyed
[2020-05-18 14:47:44.657][19][debug][init] [source/common/init/watcher_impl.cc:27] init manager Listener-local-init-manager http<PHONE_NUMBER>47530112 destroyed
[2020-05-18 14:47:44.657][19][debug][init] [source/common/init/target_impl.cc:32] target Listener-init-target http destroyed
[2020-05-18 14:47:44.657][19][debug][main] [source/server/server.cc:131] destroyed listener manager
[2020-05-18 14:47:44.657][19][debug][main] [source/common/access_log/access_log_manager_impl.cc:16] destroying access logger /dev/null
[2020-05-18 14:47:44.657][19][debug][main] [source/common/access_log/access_log_manager_impl.cc:19] destroyed access loggers
[2020-05-18 14:47:44.657][19][debug][init] [source/common/init/watcher_impl.cc:27] init manager RTDS destroyed
[2020-05-18 14:47:44.658][19][debug][init] [source/common/init/watcher_impl.cc:27] RDTS destroyed
[2020-05-18 14:47:44.658][19][debug][init] [source/common/init/watcher_impl.cc:27] init manager Server destroyed
[2020-05-18 14:47:44.660][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: reset nghttp2_active_outbound_item
[2020-05-18 14:47:44.660][12][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: send: aob->item = (nil)

bazel test test/integration:protocol_integration_test --test_sharding_strategy=disabled --test_filter="*DrainClose/IPv4_Http2Downstream_HttpUpstream" --test_output=all --test_arg="-l trace"

[AUNI] waitFordDisconnect()
[2020-05-18 14:53:25.798][25][trace][connection] [source/common/network/connection_impl.cc:490] [C1] socket event: 3
[2020-05-18 14:53:25.798][25][trace][connection] [source/common/network/connection_impl.cc:578] [C1] write ready
[2020-05-18 14:53:25.798][25][trace][connection] [source/common/network/connection_impl.cc:528] [C1] read ready
[2020-05-18 14:53:25.798][25][trace][connection] [source/common/network/raw_buffer_socket.cc:25] [C1] read returns: 9
[2020-05-18 14:53:25.798][25][trace][connection] [source/common/network/raw_buffer_socket.cc:39] [C1] read error: Resource temporarily unavailable
[2020-05-18 14:53:25.798][25][trace][http2] [source/common/http/http2/codec_impl.cc:488] [C1] dispatching 9 bytes
[2020-05-18 14:53:25.798][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: connection recv_window_size=0, local_window=268435456
[2020-05-18 14:53:25.798][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: adjusting kept idle streams num_idle_streams=0, max=100
[2020-05-18 14:53:25.798][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_HEAD]
[2020-05-18 14:53:25.798][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: payloadlen=0, type=4, flags=0x01, stream_id=0
[2020-05-18 14:53:25.798][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: SETTINGS
[2020-05-18 14:53:25.798][25][trace][http2] [source/common/http/http2/codec_impl.cc:553] [C1] about to recv frame type=4, flags=1
[2020-05-18 14:53:25.798][25][trace][http2] [source/common/http/http2/codec_impl.cc:1280] [C1] track inbound frame type=4 flags=1 length=0 padding_length=0
[2020-05-18 14:53:25.798][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: [IB_READ_SETTINGS]
[2020-05-18 14:53:25.798][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: recv: readlen=0, payloadleft=0
[2020-05-18 14:53:25.798][25][trace][http2] [source/common/http/http2/codec_impl.cc:568] [C1] recv frame type=4
[2020-05-18 14:53:25.798][25][trace][http2] [source/common/http/http2/codec_impl.cc:508] [C1] dispatched 9 bytes
[2020-05-18 14:53:25.798][25][trace][http2] [source/common/http/http2/nghttp2.cc:25] nghttp2: stream: adjusting kept idle streams num_idle_streams=0, max=100
[2020-05-18 14:53:26.783][19][trace][main] [source/server/drain_manager_impl.cc:44] drain tick #1
[2020-05-18 14:53:27.765][19][info][main] [source/server/drain_manager_impl.cc:68] shutting down parent after drain
[2020-05-18 14:53:27.782][19][trace][main] [source/server/drain_manager_impl.cc:44] drain tick #2
[2020-05-18 14:53:28.784][19][trace][main] [source/server/drain_manager_impl.cc:44] drain tick #3
[2020-05-18 14:53:29.782][19][trace][main] [source/server/drain_manager_impl.cc:44] drain tick #4
[2020-05-18 14:53:30.709][19][debug][main] [source/server/server.cc:187] flushing stats
[2020-05-18 14:53:30.783][19][trace][main] [source/server/drain_manager_impl.cc:44] drain tick #5
[2020-05-18 14:53:31.785][19][trace][main] [source/server/drain_manager_impl.cc:44] drain tick #6
[2020-05-18 14:53:32.783][19][trace][main] [source/server/drain_manager_impl.cc:44] drain tick #7
[2020-05-18 14:53:33.782][19][trace][main] [source/server/drain_manager_impl.cc:44] drain tick #8
[2020-05-18 14:53:34.784][19][trace][main] [source/server/drain_manager_impl.cc:44] drain tick #9
[2020-05-18 14:53:35.706][19][debug][main] [source/server/server.cc:187] flushing stats
[2020-05-18 14:53:40.708][19][debug][main] [source/server/server.cc:187] flushing stats
[2020-05-18 14:53:45.706][19][debug][main] [source/server/server.cc:187] flushing stats
[2020-05-18 14:53:50.707][19][debug][main] [source/server/server.cc:187] flushing stats
[2020-05-18 14:53:55.708][19][debug][main] [source/server/server.cc:187] flushing stats
[2020-05-18 14:54:00.706][19][debug][main] [source/server/server.cc:187] flushing stats
[2020-05-18 14:54:05.713][19][debug][main] [source/server/server.cc:187] flushing stats
[2020-05-18 14:54:10.715][19][debug][main] [source/server/server.cc:187] flushing stats

Ah bless, TSAN picks up on IPv6.


[WIP] Add RAY.BATCH_CLEAN command in redis module.

What do these changes do?
[WIP] for batch.

Add the redis command RAY.BATCH_CLEAN to redis module.
Currently, I decide to use 2 tables. One table named "BatchObjectsTable" to store all the ids of objects/actor/task under this batch, etc. (Object ids are appended to this table.) When RAY.BATCH_CLEAN is called, redis will clean the corresponding table of the ids in this table and the batch object table itself.
The other table is called "BatchInfoTable". Containing the parent batch Id, child batch ids. It can be subscribed by the objects managers. (Child Batch ids will modify this content of this redis item.) The pub/sub part of this table has not been implemented yet.

This is a draft implementation. Please point out what are concerned.

Related issue number

2 quick questions:

Can updating BatchInfoTable be atomic? multiple child batches may modify one row concurrently.
For BatchObjectsTable, the objects may refer to objects, tasks, actors, etc. Maybe it'd be more clear to call it BatchResourcesTable, in order to distinguish it from the objects in object store.

@raulchen

One batch should be in one script and one code block. Is it possible to be concurrent?
This name is better.

Consider the following case, b1 and b2 are both children of b0. They are parallel and may modify the table at the same time.
@ray.remote
def f1():
    with ray.batch() as b1:
		...

@ray.remote
def f2():
	with ray.batch() as b2:
		...

with ray.batch() as b0:
	res1 = f1.remote()
	res2 = f2.remote()
	ray.get(res1, res2)


Remove Active Support

With some small changes usage of Active Support can be removed, which makes it easier for library authors to use this gem since they don't pull in AS' monkey patches.

sorry, but I'm not going to remove active_support dependency at this time.


Source cache

Solves #30 by introducing a config module, so that source sizes (and other aspects of scarlet) can be shared across the package.

I like the idea of having a configuration that can be used in multiple places, like Source and Blend objects, but I'd rather see a config class that can be passed around than a module. The main reason is to make it easier to persist the configuration used. With the scheme in this commit, the configuration used for a particular blend is lost if the same file creates multiple blend objects with different configuration parameters, which is reasonable when running the deblender on a new dataset and trying to find the optimal values for parameters.

It's a bit of a special case, but I see your point.
Also, it would allow to fix the source_sizes (namely at instantiation) instead of every time any piece of the code needs to access it. Wait for another commit ...

In retrospect, I should have thought about this a little longer. The idea of passing config around is counter to the intended purpose. It would need to be passed around only if there can be multiple instances in parallel, which isn't what will happen here. Therefore, I don't think config should be a class because you don't want to (have to) instantiate it, so it's all about static methods etc., and at that point you might just do it as a module, which is what I've done. That's the python way.
Moreover, I don't think the problem you mention ever arises in a production environment where persisting configs would be useful.

All of the configs in the LSST stack are in a ConfigClass, not a module, for the purpose of persisting them. It is also useful for testing, where there may be multiple different configurations used in the same module to test how different parameters affect the result.

The purpose in the LSST stack probably arises from having multiple concurrent instances of ConfigClass. I can't see that being the case for the deblender.
As for testing, I doubt that you'd need to persist.
Anyway, should this ever become an issue, then we'll address it. This PR is about preventing misses in the transformation cache.


unnecessary extra logic in block place event check

the items illegal state is (kind of) checked twice, first time here, the second time again, but fully, here. this can be done cleaner by replacing the first check with the second and seeing if the returned ItemState is illegal.

resolved with #81


[Documentation] Update sample tsconfig to have "emitDecoratorMetadata": true

I think typescript config on guide page should be updated to contain
"emitDecoratorMetadata": true

Without that property there is a big chance to get errors like below during building stories for components that have some dependencies
Uncaught Error: Can't resolve all parameters for SomeComponent: (?, ?)

Steps to reproduce
Navigate to sample tsconfig snippet https://storybook.js.org/configurations/typescript-config/#tsconfigjson

Do you want to PR this?


Support for Xavier

Hi @rbonghi ,
Very nice and useful utility, thanks :)
Any chance to get an update so it also covers the Xavier ?

Mabey you should buy Raffaello one? Then he can cover it.

Hi @Spawn32,
I appreciate you use my system.
At this time I don't have any type of Jetson Xavier and I can't check if this system can work there.
However I'm checking jetson_easy with the new Jetpack 3.4

If you can help me! I am really great full for that!
At this time I don’t have a Xavier, but I can help you in your test to understand how my jestson easy is written.

Il giorno 9 ott 2018, alle ore 19:22, Raf<EMAIL_ADDRESS>ha scritto:
@rbonghi if you need help testing Jetson Easy on the Xavier I can help, your system was great on the TX2 and saved me so much time patching and stuff.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

I can run any code if you need to test it on the xavier, I have a bit of an
understanding of your tool, I've modified it a few times for the Tx2 to set
it up differently but I could take some time and understand it fully
On Tue, Oct 9, 2018, 12:19 PM Raffaello Bonghi<EMAIL_ADDRESS>wrote:

If you can help me! I am really great full for that!
At this time I don’t have a Xavier, but I can help you in your test to
understand how my jestson easy is written.

Il giorno 9 ott 2018, alle ore 19:22, Raf<EMAIL_ADDRESS>ha
scritto:
@rbonghi if you need help testing Jetson Easy on the Xavier I can help,
your system was great on the TX2 and saved me so much time patching and
stuff.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

—
You are receiving this because you commented.
Reply to this email directly, view it on GitHub
https://github.com/rbonghi/jetson_easy/issues/8#issuecomment-428317508,
or mute the thread
https://github.com/notifications/unsubscribe-auth/AKAjexxUZ89NGh4lADUqYuuhMrqeQo2jks5ujPbIgaJpZM4W1Q4i
.

Under testing: https://github.com/rbonghi/jetson_easy/tree/develop
When will be ready I'll merge on master ;-)

Now jetson_easy works with the NVIDIA Jetson AGX Xavier and with jetpacks: 4.0, 4.1, 4.1.1

If I flash the Jetpack 4.1.1 it won't overwrite my system right files right?
Also run this to fix the Mbs rate. By default its slow so even if you add a Ethernet cable it will be terribly slow.
echo "options iwlwifi 11n_disable=8" | sudo tee -a /etc/modprobe.d/iwlwifi.conf
Also sorry I might be mistaken, but if you have the ability to modify the kernel, can you enable V4L2 drivers.
Device Drivers -> Multimedia Support -> Media USB Adapters -> USB Video Class V4L2
Sorry if its confusing, its 5am 💯

Hi @rbonghi,
I'm replying in a new issue. ;-)


Connect to api

Make use of the Bookstore API as the backend.
Use axios with createAsyncThunk to  make HTTP requests to the backend.
Fetch books from the Bookstore API after the component has rendered.
Refactor add book and remove book features to persist your changes in the server.

Instead of removing the dependency, I added a condition based on the status, that way the component will re-render when addBook or removeBookare called, to display the updated list of books.


Getting 500 error for GET /graph.json

Hello, my infra graph is displaying properly with the CSV but I get this error for the graph.json endpoint. Here is the command I am running.
blast-radius --port 3000 --serve --module-depth 3
<IP_ADDRESS> - - [26/Sep/2018 02:59:50] "GET / HTTP/1.1" 200 -
<IP_ADDRESS> - - [26/Sep/2018 02:59:54] "GET /graph.svg HTTP/1.1" 200 -
[2018-09-26 02:59:57,836] ERROR in app: Exception on /graph.json [GET]
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/local/lib/python3.6/site-packages/blastradius/server/server.py", line 57, in graph_json
    tf = Terraform(os.getcwd())
  File "/usr/local/lib/python3.6/site-packages/blastradius/handlers/terraform.py", line 67, in __init__
    self.modules[name] = Terraform(directory=self.directory+'/'+source, settings=mod)
  File "/usr/local/lib/python3.6/site-packages/blastradius/handlers/terraform.py", line 26, in __init__
    self.config = hcl.load(config_io)
  File "/usr/local/lib/python3.6/site-packages/hcl/api.py", line 51, in load
    return loads(fp.read())
  File "/usr/local/lib/python3.6/site-packages/hcl/api.py", line 62, in loads
    return HclParser().parse(s)
  File "/usr/local/lib/python3.6/site-packages/hcl/parser.py", line 307, in parse
    return self.yacc.parse(s, lexer=Lexer())
  File "/usr/local/lib/python3.6/site-packages/ply/yacc.py", line 331, in parse
    return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc)
  File "/usr/local/lib/python3.6/site-packages/ply/yacc.py", line 1199, in parseopt_notrack
    tok = call_errorfunc(self.errorfunc, errtoken, self)
  File "/usr/local/lib/python3.6/site-packages/ply/yacc.py", line 193, in call_errorfunc
    r = errorfunc(token)
  File "/usr/local/lib/python3.6/site-packages/hcl/parser.py", line 300, in p_error
    raise ValueError(msg)
ValueError: Line 131, column 4912: unexpected RIGHTBRACE
<IP_ADDRESS> - - [26/Sep/2018 02:59:57] "GET /graph.json HTTP/1.1" 500 -

I'm getting the same error, any update on this?
<IP_ADDRESS> - - [13/Nov/2018 08:48:44] "GET /favicon.ico HTTP/1.1" 404 -
<IP_ADDRESS> - - [13/Nov/2018 08:48:46] "GET /graph.svg HTTP/1.1" 200 -
[2018-11-13 08:48:47,784] ERROR in app: Exception on /graph.json [GET]
Traceback (most recent call last):
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 2292, in wsgi_app
    response = self.full_dispatch_request()
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1815, in full_dispatch_request
    rv = self.handle_user_exception(e)
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1718, in handle_user_exception
    reraise(exc_type, exc_value, tb)
  File "/usr/local/lib/python3.6/site-packages/flask/_compat.py", line 35, in reraise
    raise value
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1813, in full_dispatch_request
    rv = self.dispatch_request()
  File "/usr/local/lib/python3.6/site-packages/flask/app.py", line 1799, in dispatch_request
    return self.view_functions[rule.endpoint](**req.view_args)
  File "/usr/local/lib/python3.6/site-packages/blastradius/server/server.py", line 57, in graph_json
    tf = Terraform(os.getcwd())
  File "/usr/local/lib/python3.6/site-packages/blastradius/handlers/terraform.py", line 67, in __init__
    self.modules[name] = Terraform(directory=self.directory+'/'+source, settings=mod)
  File "/usr/local/lib/python3.6/site-packages/blastradius/handlers/terraform.py", line 26, in __init__
    self.config = hcl.load(config_io)
  File "/usr/local/lib/python3.6/site-packages/hcl/api.py", line 51, in load
    return loads(fp.read())
  File "/usr/local/lib/python3.6/site-packages/hcl/api.py", line 62, in loads
    return HclParser().parse(s)
  File "/usr/local/lib/python3.6/site-packages/hcl/parser.py", line 307, in parse
    return self.yacc.parse(s, lexer=Lexer())
  File "/usr/local/lib/python3.6/site-packages/ply/yacc.py", line 331, in parse
    return self.parseopt_notrack(input, lexer, debug, tracking, tokenfunc)
  File "/usr/local/lib/python3.6/site-packages/ply/yacc.py", line 1199, in parseopt_notrack
    tok = call_errorfunc(self.errorfunc, errtoken, self)
  File "/usr/local/lib/python3.6/site-packages/ply/yacc.py", line 193, in call_errorfunc
    r = errorfunc(token)
  File "/usr/local/lib/python3.6/site-packages/hcl/parser.py", line 300, in p_error
    raise ValueError(msg)
ValueError: Line 564, column 16530: unexpected RIGHTBRACE

@filiy
Maybe we can narrow down the line # where the error is encountered (the line # given above isn't accurate). Several reports of this recently, so I may try to improve the error output.
Presumes pyhcl is installed:
pip3 install pyhcl

Then from a script or python shell:
from glob import iglob
import hcl

for filename in iglob('**.tf'):
    with open(filename, 'r') as f:
        print(filename)
        hcl.loads(f.read())

@28mm Excuse my python noobness i'm getting ImportError: No module named hcl not sure if that's me doing something wrong, or just something is broken.
pip3 install pyhcl
Requirement already satisfied: pyhcl in /usr/local/lib/python3.6/site-packages
Requirement already satisfied: ply==3.10 in /usr/local/lib/python3.6/site-packages (from pyhcl)

cat script.py
#!/usr/bin/env python
from glob import iglob
import hcl
for filename in iglob('**.tf'):
    with open(filename, 'r') as f:
        print(filename)
        hcl.loads(f.read())

./script.py
Traceback (most recent call last):
  File "./script.py", line 3, in <module>
    import hcl
ImportError: No module named hcl

System details
python -V
Python 2.7.15

pip -V
pip 9.0.3 from /usr/lib/python2.7/site-packages (python 2.7)

uname -r
4.18.16-100.fc27.x86_64

cat fedora-release
Fedora release 27 (Twenty Seven)

@28mm Cool. that worked.
$ ./script.py
main.tf
output.tf
vars.tf
provider.tf
backend.tf

@filiy
I was expecting the parser to raise an exception while parsing one of those files. That plainly didn't happen. Does this code reference any external modules?
Also, if this configuration isn't sensitive, I'd be happy to troubleshoot on my system. My email is<EMAIL_ADDRESS>if you are able to make a copy available to me.

@28mm Ahh, this does seem related to a certain tf config. I tested blast-radius with a simple tf config and it's working fine. Unfortunately I can't share the config. Here is a provider output and attached a copy from terraform graph which may help. It's a bit of complex config.
[phil@c3po terraform-origin-3.11]$ terraform providers
.
├── provider.azurerm
└── module.azure-origin-311
    ├── provider.azurerm (inherited)
    ├── provider.local
    ├── provider.null
    ├── provider.random
    └── provider.template

@28mm Blast Radius getting some air time! Nice!
https://youtu.be/-gKTeT3BgHE?t=383

Hi! I ran into the same problem just now, eventually I found that changing "${var.aws_access_key}" to var.aws_access_key caused the error somehow.

I've noticed this happening on Terraform 0.12 code, which has unquoted variables as @tim-steinkuhler mentioned.  It renders the graph but there are no colors and you can't drag it around.

I'm getting this issue as well. I read through the comments, but still could not get it to work. @filiy what did you change in your config for it to work?

my errors,
[2020-05-13 16:08:58,561] ERROR in app: Exception on /graph.json [GET]
Traceback (most recent call last):
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 2447, in wsgi_app
response = self.full_dispatch_request()
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1952, in full_dispatch_request
rv = self.handle_user_exception(e)
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1821, in handle_user_exception
reraise(exc_type, exc_value, tb)
File "/usr/local/lib/python3.7/site-packages/flask/_compat.py", line 39, in reraise
raise value
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1950, in full_dispatch_request
rv = self.dispatch_request()
File "/usr/local/lib/python3.7/site-packages/flask/app.py", line 1936, in dispatch_request
return self.view_functionsrule.endpoint
File "/usr/local/lib/python3.7/site-packages/blastradius/server/server.py", line 61, in graph_json
tf = Terraform(os.getcwd())
File "/usr/local/lib/python3.7/site-packages/blastradius/handlers/terraform.py", line 67, in init
self.modules[name] = Terraform(directory=self.directory+'/'+source, settings=mod)
File "/usr/local/lib/python3.7/site-packages/blastradius/handlers/terraform.py", line 26, in init
self.config = hcl.load(config_io)
File "/usr/local/lib/python3.7/site-packages/hcl/api.py", line 62, in load
return loads(fp.read(), export_comments=export_comments)
File "/usr/local/lib/python3.7/site-packages/hcl/api.py", line 81, in loads
return HclParser().parse(s, export_comments=export_comments)
File "/usr/local/lib/python3.7/site-packages/hcl/parser.py", line 643, in parse
s, lexer=Lexer(export_comments=export_comments), debug=DEBUG
File "/usr/local/lib/python3.7/site-packages/hcl/ply/yacc.py", line 503, in parse
tok = self.errorfunc(errtoken)
File "/usr/local/lib/python3.7/site-packages/hcl/parser.py", line 634, in p_error
raise ValueError(msg)
ValueError: Line 2, column 62: unexpected ASTERISK_PERIOD; expected COMMA, IDENTIFIER, STRING, COMMENT, MULTICOMMENT, MINUS, NUMBER, FLOAT, $end, RIGHTBRACE, QMARK, EQ, NE, LT, GT, LE, GE, ADD, MULTIPLY, DIVIDE, LEFTBRACKET, LEFTPAREN
<IP_ADDRESS> - - [13/May/2020 16:08:58] "GET /graph.json HTTP/1.1" 500 -


Suggestion for projects that won't fit on LPS

A suggestion for a simple process for projects that don't fit on the LPS. Feel free to comment and suggest changes!

Looks good to me, any objections if I merge?


chore(main): release 0.8.0

:robot: I have created a release beep boop
0.8.0 (2024-08-08)
Features

add example service config; rename project.env to .env; update readme (2de76a1)

This PR was generated with Release Please. See documentation.

:robot: Created releases:

v0.8.0
:sunflower:


Fork for Sonarr V4

Sonarr v4 has been around for quite a while now. I don't know when they will be coming out of beta but since you have the code, can you please release a fork or a beta version of Posterr that will support it?

This is live now. sorry, i forgot to mention it here


Ggadde 1 15 rc3 version

Please don't spam with bad PRs. We never merge release branches back into main branch


ListView.ProcessKey() Key.Enter handler

Currently Key.Enter handler in ListView.ProcessKey() breaks from switch rather than returning true after calling OnOpenSelectedItem (). This results in multiple OnOpenSelected events (I counted 7) after a single Enter press.

(possible duplicate of https://github.com/migueldeicaza/gui.cs/issues/1183)

Yes it is :-)


remove broken ginkgo Done concept from tests

Fixes #8672.
Ideally, we should add a good general timeout mechanism to the framework or something, but getting this out is higher priority. The problem is that if ginkgo times the test out, it doesn't actually cause the function to exit, and then any failures that this function calls will apply to the next test. So that's pretty bad.

LGTM.

@quinton-hoole The associated issue is marked post-1.0. Do you still recommend holding off on this until post-1.0?

No, lets get this one in to v1.0 please.

But thatnks for keeping us honest @saadali :+1:

@k8s-bot test this please


[NVIDIA TF] Update cudnn frontend to v0.8

This PR is to update the cudnn frontend version to v0.8. The release note is here.
cc. @pjannaty @nluehr

v0.8 is not available at https://github.com/NVIDIA/cudnn-frontend. I cannot proceed until it has been updated.

v0.8 is not available at https://github.com/NVIDIA/cudnn-frontend at the main branch. I cannot proceed until it has been updated.

Thanks for the comment. Yes, we are working on releasing it soon. And this PR will be updated accordingly. Will ping you after that.

There was an update ~1.5 days ago. Is that the final update to v0.8? Or are more changes expected?

@pgpetrak Thanks for the checkup. I have pushed a new commit to use the official v0.8 release and updated the PR description to reflect this. PTAL.

Basically, there are two changes of this PR: (1) update the download url and (2) update the patch file.
Then, I checked the above automatically created PR https://github.com/openxla/xla/pull/1589, and saw one test "XLA Linux GPU" fails.
It seems that the above PR only fetches the change (2) and I don't know how to make it to apply the change (1) (I guess it uses a different way to download the zip rather than workspace2.bzl.).
@reedwm Can you help or redirect?

Basically, there are two changes of this PR: (1) update the download url and (2) update the patch file.
Then, I checked the above automatically created PR openxla/xla#1589, and saw one test "XLA Linux GPU" fails.
It seems that the above PR only fetches the change (2) and I don't know how to make it to apply the change (1) as well (I guess it uses a different way to download the zip rather than workspace2.bzl.).
@reedwm Can you help or redirect?

@jakeharmon8 do you know how to fix this? I think this PR also needs to update the workspace2.bzl in the openxla/xla repo, in addition to the workspace2.bzl that it already updates in the TF repo. But a PR can only update one repo at once. When merging internally, should we update both workspace2.bzls in the same CL?

Is there an ETA on the merge for this PR. https://github.com/tensorflow/tensorflow/pull/60002 build is dependent on this PR being merged.

@pgpetrak I guess you're still the reviewer for this? I'm going to remove myself as reviewer if you can take care of this.


TrackPageView method is not sending data to BrowserTiming table in Log Analytics

Hello Team
I have configured AI SDK to monitor my web application .NET 4.7 through VS 2019, the web application is sending telemetry correctly to the Application Insights resource, the problem is when I want to send custom page view telemetry using TrackPageView method.
When I use this method I can the custom telemetry in the PageView table in Log Analytics, at the beginning Y wasn't able to see this custom telemetry in the Performance blade browser section of AI due to the client_type field was by default having the value "PC" instead of "Browser" needed to display this telemetry.
After researching I could solve this issue using the property Context.Device.Type = "Browser" in my code for TrackPageView method and the custom telemetry is showed in Performance blade now.
The current problem is that this function is not filling the table BrowserTiming in Log Analytics that is used to showed more details about Page View client side performance, I have searched for information and also I tried to use the class PageViewPerformanceTelemetry to send this data with TrackPageView method but is not working. I am not sure if my code is incorrect, could you please help me to know how to field this table with TrackPageView method, here is my code:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Web;
using System.Web.Mvc;
using Microsoft.ApplicationInsights;
using Microsoft.ApplicationInsights.DataContracts;
using Microsoft.ApplicationInsights.Extensibility;

namespace NetMVC.Controllers
{
    public class HomeController : Controller
    {
        public TelemetryClient telemetry = new TelemetryClient();
        public PageViewTelemetry pageView = new PageViewTelemetry();
        public TelemetryConfiguration telemetryConfiguration = new TelemetryConfiguration();
        public PageViewPerformanceTelemetry performanceTelemetry = new PageViewPerformanceTelemetry();
        public ActionResult Index()
        {
            return View();
        }

        public ActionResult About()
        {
            ViewBag.Message = "Your application description page.";
            TimeSpan timeSpan = new TimeSpan(0,0,0,0,21);
            pageView.Name = "Hola2";
            pageView.Duration = timeSpan;
            pageView.Properties["initime"] = "25";
            pageView.Properties["endTime"] = "26";
            pageView.Context.Device.Type = "Browser";
            performanceTelemetry.Duration = timeSpan;
            performanceTelemetry.DeepClone();
            telemetry.TrackPageView(pageView);

            DateTimeOffset dateTimeOffset = new DateTimeOffset(DateTime.Now);
            return View();
        }

        public ActionResult Contact()
        {
            ViewBag.Message = "Your contact page.";

            return View();
        }
    }
}

Version Info
SDK Version : .NET
.NET Version :	.NET 4.7
How Application was onboarded with SDK(VisualStudio/StatusMonitor/Azure Extension) : Visual Studio AI SDK 2.10
OS : Windows
Hosting Info (IIS/Azure WebApps/ etc) : Azure App Service Windows

I don't see instrumentation key specified in the TelemetryConfiguration or TelemetryClient without which no telemetry will be sent using this telemetryClient instance.
If this is a Asp.Net Web Application where you have other telemetry flowing, then simply do new TelemetryClient(). It'll pick up the current Active TelemetryConfiguration.
and create pageview telemetry for every request. i.e do the following inside ABout()
var performanceTelemetry = new PageViewPerformanceTelemetry();


The editor could not be opened due to an unexpected error: XHR failed

Type: Bug
Steps to reproduce:
Freshly installed via winget install vscode. Attempted to install the "WSL" extension and shows the error message The editor could not be opened due to an unexpected error: XHR failed. Tried to access other extensions, and the same error appears. Error does not appear on extensions already installed. Uninstalled vscode and then installed manually from the website, the error persists. Installed the Insiders build and the issue still persists.
What is expected to happen:
Extension page loads and allows installation
Additional Information:
I am not running behind a proxy, everything else runs fine. When looking at the Developer Tools whilst attempting to navigate to an extension, lots of calls fail but some (including an xhr) appears successful.

VS Code version: Code 1.75.1 (441438abd1ac652551dbe4d408dfcec8a499b8bf, 2023-02-08T21:32:34.589Z)
OS version: Windows_NT x64 10.0.22621
Modes:
Sandboxed: No

System Info

Item
Value

CPUs
AMD Ryzen 7 2700X Eight-Core Processor          (16 x 3700)

GPU Status
2d_canvas: enabledcanvas_oop_rasterization: disabled_offdirect_rendering_display_compositor: disabled_off_okgpu_compositing: enabledmultiple_raster_threads: enabled_onopengl: enabled_onrasterization: enabledraw_draw: disabled_off_okskia_renderer: enabled_onvideo_decode: enabledvideo_encode: enabledvulkan: disabled_offwebgl: enabledwebgl2: enabledwebgpu: disabled_off

Load (avg)
undefined

Memory (System)
15.95GB (6.85GB free)

Process Argv
--crash-reporter-id afebb596-97e5-4065-ba33-9b2f5ed9365b

Screen Reader
no

VM
0%

Extensions: none
A/B Experiments
vsliv368:30146709
vsreu685:30147344
python383:30185418
vspor879:30202332
vspor708:30202333
vspor363:30204092
vslsvsres303:30308271
pythonvspyl392:30443607
vserr242cf:30382550
pythontb:30283811
vsjup518:30340749
pythonptprofiler:30281270
vshan820:30294714
vstes263cf:30335440
pythondataviewer:30285071
vscod805:30301674
binariesv615:30325510
bridge0708:30335490
bridge0723:30353136
cmake_vspar411:30581797
vsaa593cf:30376535
pythonvs932:30410667
cppdebug:30492333
vsclangdc:30486549
c4g48928:30535728
dsvsc012:30540252
azure-dev_surveyone:30548225
pyindex848:30662994
nodejswelcome1cf:30587006
282f8724:30602487
pyind779cf:30662993
f6dab269:30613381
pythonsymbol12cf:30657549
vsccsb:30662443
pythonb192:30669360

Can you follow the steps from https://github.com/microsoft/vscode/wiki/Native-Crash-Issues#creating-a-crash-report and attach the crash logs, thanks!

Can you start the application with --log-net-log=C:\Users\<Replace with user name>\AppData\Local\Temp\netlog.json and perform the failing requests, close the application and attach the generated netlog.json file, thanks!

netlog.zip
See attached. Zipped as Github won't allow me to upload the json directly.
Opened Code with the parameter above, clicked on various extensions in the list.

I am also having same issue, how can it be resolved?

Hey @deepak1556, this issue might need further attention.
@slippuu, you can help us out by closing this issue if the problem no longer exists, or adding more information.

I'm getting the same error but on MacOS. I've cleared the .vscode and the Code folders from Home directory as well to do a clean install and same thing. I'm trying to add the Go extension and it won't even load the page.

Hey @deepak1556, this issue might need further attention.
@slippuu, you can help us out by closing this issue if the problem no longer exists, or adding more information.

This issue has been closed automatically because it needs more information and has not had recent activity. See also our issue reporting guidelines.
Happy Coding!


fix(publish): log publish process stderr as warnings

It is not uncommon for tools to print warnings into stderr (NPM does it). This correctly forwards those errors as a warning in logger so the consumer aren't freaking out when the release script suddenly prints a bunch of ERROR:.

Released: v0.7.1 🎉
This has been released in v0.7.1!

📄 Release notes
📦 npm package

Make sure to always update to the latest version (npm i @ossjs/release@latest) to get the newest features and bug fixes.

Predictable release automation by @ossjs/release.


Two Samsung PM991a storage pool/volume successfully created but no Trim option available.

Hi after intially using the  Synology_M2_volume script, I have two sasung pm991a 1T ssd's successfully created as a raid 0 storage pool/volume in a xenology 923+ 7.2 DSM system.  But no Trim option was seen, then Synology_HDD_db script was successfully applied.  But still no Trim option is avaialbe, please help.

DSM does not support TRIM for RAID 0 NVMe storage pools.
For NVMe storage pools TRIM is only available for SHR, SHR-2, Basic, JBOD, RAID 1, 5, 6, 10 and F1.

DSM does not support TRIM for RAID 0 NVMe storage pools.
For NVMe storage pools TRIM is only available for SHR, SHR-2, Basic, JBOD, RAID 1, 5, 6, 10 and F1.

thanks for the reply.


remove .vscode directory from github

Description
I noticed that ".vscode" was added to the repo. I added an ignore to my local .gitignore so I won't accidentally do it again.

Related Issue

Motivation and Context

Screenshots (if appropriate):
Types of changes

[ ] Bug fix (non-breaking change which fixes an issue)
[ ] New feature (non-breaking change which adds functionality)
[ ] Improvement (non-breaking change which does not add functionality)
[ ] Breaking change (fix or feature that would cause existing functionality to change)

Checklist:

[ ] I have signed the Adobe Open Source CLA or I'm an Adobe employee.
[ ] I have made any necessary test changes and all tests pass.
[ ] I have run the Sandbox successfully.
[ ] I've updated the schema in extension.json or no changes are necessary.
[ ] My change requires a change to the documentation.

We should add it to the project's shared .gitignore so that it doesn't happen again.

Historically we haven't done this. Adding folders to .gitignore for every editor we use could be huge.


Import cluster command - Bug when more than first apply

Rancher Server Setup

Rancher version: 2.6.1
Installation option (Docker install/Helm Chart): Helm Chart

If Helm Chart, Kubernetes Cluster and version (RKE1, RKE2, k3s, EKS, etc): EKS 1.20

Information about the Cluster

Kubernetes version: EKS version 1.21
Cluster Type (Local/Downstream): downstream

If downstream, what type of cluster? (Custom/Imported or specify provider for Hosted/Infrastructure Provider): imported
NB It's a simple Generic cluster import and not managed type EKS import

Describe the bug

The cluster import command cannot be applied more than one time. So no more idempotent as should be as a kubernetes deployment.
To Reproduce

Step 1) EKS Cluster creation OK
Step 2) Rancher Cluster creation using Generic Cluster Type OK
Step 3) Execute the import command : OK
kubectl apply -f https://rancher-instance.com/v3/import/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxj.yaml
and the imported cluster is well configured in Rancher
Step 4) Re-execute the import command: NOK
kubectl apply -f https://rancher-instance.com/v3/import/xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxj.yaml
clusterrole.rbac.authorization.k8s.io/proxy-clusterrole-kubeapiserver unchanged
clusterrolebinding.rbac.authorization.k8s.io/proxy-role-binding-kubernetes-master unchanged
namespace/cattle-system unchanged
serviceaccount/cattle unchanged
clusterrolebinding.rbac.authorization.k8s.io/cattle-admin-binding unchanged
secret/cattle-credentials-2735ae9 unchanged
clusterrole.rbac.authorization.k8s.io/cattle-admin unchanged
deployment.apps/cattle-cluster-agent configured
service/cattle-cluster-agent unchanged

If the import command is applied a second time, the imported cluster is active, but can't explore anymore the cluster within Rancher:

As seen in previous command the cattle-cluster-agent is reconfigured and perhaps this is what causing the problem. But here we have a problem as the import command is not idempotent.
Result
Impossible to explore the cluster anymore
Expected Result

The cluster should stay accessible via Rancher

Still valid

Still valid


[BEAM-593] Add non-blocking pipeline execution on Flink Runner

@iemejia I thought you might be interested in this.

Run Flink ValidatesRunner

This is a bit tough to review because it uses internal Flink APIs, and I think the waitUntilFinish() code is not as elaborate as the DataflowRunner version, when it comes to interrupts.
R: @iemejia could you maybe try, you can also try it with the Nexmark suite.

Coverage decreased (-0.007%) to 70.482% when pulling d18972fef7b836d09cdd808b7af8125b66556c33 on aljoscha:jira-593-async-execute into 3bffe0e0014bdd6ae73dc2e8ecfc2b61d066120c on apache:master.

Coverage remained the same at 70.489% when pulling d18972fef7b836d09cdd808b7af8125b66556c33 on aljoscha:jira-593-async-execute into 3bffe0e0014bdd6ae73dc2e8ecfc2b61d066120c on apache:master.

@echauchot Hmm, that doesn't look good. How are you running the Job? I'm suspecting YARN cluster and then submission vie mvn exec?

@aljoscha I run the pipeline using the local (--flinkMaster=local). I run query 0 of nexmark (a simple ParDo that encodes and decodes) with this command:
mvn exec:java -Dexec.mainClass=org.apache.beam.integration.nexmark.Main "-Dexec.args=--runner=FlinkRunner --query=0 --streamTimeout=10 --streaming=true --manageResources=false --monitorJobs=true  --flinkMaster=local" -Pflink-runner

Thanks for looking into this! What would be the steps I have to take to checkout your code and run this myself? So that I can debug.

Hi Aljoscha. The thing is that current Nexmark branch is based on beam 2.10 and your PR branch is based on 0.7.0-SNAPSHOT. So here is what I did:

I checked out your PR branch.
I renamed the version in the flink runner module to 0.7.0-SNAPSHOT-aljoscha
mvn clean install in flink runner module
I went backward in history of nexmark branch before refactoring to beam 2.10
I put 0.7.0-SNAPSHOT-aljoscha version in flink runner dependency of nexmark
I pushed a branch for you at  echauchot/BEAM-160-nexmark-BEAM-593

So you need to do steps 1,2,3 checkout my branch above and then run
mvn exec:java -Dexec.mainClass=org.apache.beam.integration.nexmark.Main -Pflink-runner "-Dexec.args=--runner=FlinkRunner --query=0 --streamTimeout=10 --streaming=true --manageResources=false --monitorJobs=true  --flinkMaster=local"
from directory beam/integration/java/nexmark

Run Flink ValidatesRunner

Coverage decreased (-0.01%) to 70.214% when pulling b440a966912977e3eeed8623f9a3e4596ad081f7 on aljoscha:jira-593-async-execute into 9a43da74a9005507acdc80524edc634c8318674d on apache:master.

Run Flink ValidatesRunner

@echauchot I think this happens because of version mismatches in the compiled Flink module and the rest of the code base. Especially the Metrics code was rewritten recently so it would explain the missing classes. I rebased this PR on top of the latest master. I'll let you know once it's in testable shape but then you should be able to just cherry-pick this on top of your PR.

Run Flink ValidatesRunner

Run Flink ValidatesRunner

Coverage decreased (-0.003%) to 70.221% when pulling 189b2ba5dd661cf5033381abdba1a11e1059eafd on aljoscha:jira-593-async-execute into 9a43da74a9005507acdc80524edc634c8318674d on apache:master.

Run Flink ValidatesRunner

Coverage decreased (-0.003%) to 70.221% when pulling 68ebf31fbe579a84c57456f6a07e31a1d1e0afba on aljoscha:jira-593-async-execute into 9a43da74a9005507acdc80524edc634c8318674d on apache:master.

Run Flink ValidatesRunner

Coverage decreased (-0.02%) to 70.671% when pulling 1e22937b8ca68538b20813a3f706d0855724160d on aljoscha:jira-593-async-execute into 7a075cc349e1c96f44d058583e803cd353fe40ec on apache:master.

I created a PR with just the refactoring to the execution code: #3295
The actual async execution is blocked by some issues that I discovered in the Flink 1.3.x client code. While I'm trying to find a fix for this it might be wise to get the basic refactoring in already.

Run Flink ValidatesRunner

Run Flink ValidatesRunner

Run Flink ValidatesRunner

I'm closing this for now since the Flink Client API right now makes it too hard to get async job submission and querying of job state. Flink 1.4 will hopefully remedy this.