Interactive Book Integration Phase 1 | GSoC 2021

Authored By @manjotsidhu
Interactive Book Integration
CircuitVerse's Interactive Book is a very helpful learning resource for everyone and expanding it to CircuitVerse's Mobile App will make it a real Mobile friendly learning platform for the community. Interactive Book Integration for Mobile App attempts to connect the ecosystem of CircuitVerse to all the platforms like iOS and Android.
Blog Post
https://blog.circuitverse.org/posts/2021/interactive-book-integration-phase-1/
Features

Chapter Contents
Table of Contents
Markdown Content
Simulator Embeds
HTML Interactions

Issues

#104
#103
#102
#100

Pull Request Test Coverage Report for Build<PHONE_NUMBER>

446 of 759 (58.76%)  changed or added relevant lines in 40 files are covered.
10 unchanged lines in 6 files lost coverage.
Overall coverage decreased (-2.3%) to 75.802%

Changes Missing Coverage
Covered Lines
Changed/Added Lines
%

lib/utils/snackbar_utils.dart
1
2
50.0%

lib/services/database_service.dart
22
24
91.67%

lib/ui/views/authentication/signup_view.dart
0
2
0.0%

lib/ui/views/groups/edit_group_view.dart
1
3
33.33%

lib/ui/views/groups/new_group_view.dart
1
3
33.33%

lib/ui/views/groups/update_assignment_view.dart
0
2
0.0%

lib/ui/views/ib/builders/ib_chapter_contents_builder.dart
1
3
33.33%

lib/ui/views/ib/syntaxes/ib_filter_syntax.dart
3
5
60.0%

lib/ui/views/profile/edit_profile_view.dart
1
3
33.33%

lib/utils/router.dart
0
2
0.0%

Files with Coverage Reduction
New Missed Lines
%

lib/ui/views/authentication/forgot_password_view.dart
1
75.41%

lib/ui/views/authentication/login_view.dart
1
80.52%

lib/ui/views/authentication/signup_view.dart
1
73.75%

lib/ui/views/cv_landing_view.dart
2
59.41%

lib/ui/views/groups/update_assignment_view.dart
2
59.43%

lib/ui/views/groups/add_assignment_view.dart
3
59.83%

Totals

Change from base Build<PHONE_NUMBER>:
-2.3%

Covered Lines:
3853

Relevant Lines:
5083

💛  - Coveralls


SQL connection pooling

hello,
in our interoperability implementation we constantly open and close 3 requests to the server - one for telemetry, one for obstacles and one for server info.
after getting the required data from each request we close the stream and the request itself.
we've noticed that every once in a while we get an error from the server saying "Fatal: sorry too many clients already"
after looking into the server we realized that even tough our requests are being closed on our end, they are being pooled on the server's end.
the server has a limit of 100 connections, and if the pooled requests on the server aren't being closed fast enough we get the error.
will the server in the competition have more connections? or will the pooling be disabled?
thanks in advance
ido

As per the Implementation Hints Point 1, you should not create a new connection for each set of requests. Unless the connection is broken (e.g. temporary error like cable was unplugged), you should open only a single connection for the entire mission. See the provided sample client implementation.
http://auvsi-suas-competition-interoperability-system.readthedocs.org/en/latest/integration/hints.html
https://github.com/auvsi-suas/interop/blob/master/client/interop/client.py
Django applies connection pooling per thread. It maintains the connection until CONN_MAX_AGE expires. Our setup uses 24 threads (4 processes with 6 threads each), so it should only create 24 connections at any one time. However, if the development server is used, it creates a new connection for each request and doesn't do connection pooling, and subsequently can hit the 100 connection limit if accessed too fast.
https://github.com/auvsi-suas/interop/blob/master/server/server/settings.py#L75
https://github.com/auvsi-suas/interop/blob/master/setup/puppet_files/auvsi_suas/manifests/apache_setup.pp#L53
https://docs.djangoproject.com/en/1.9/ref/databases/#caveats
As described in System Management, you shouldn't use the Development Server unless you are developing or debugging the implementation. To verify system performance (e.g. verify 10Hz), you should use the standard setup with Apache on a dedicated machine.
http://auvsi-suas-competition-interoperability-system.readthedocs.org/en/latest/management/start_stop.html

great, thanks for the help!


Referenced image in v0.7.0 does not exist

https://github.com/Xelon-AG/xelon-csi/blob/main/deploy/kubernetes/releases/xelon-csi-v0.7.0/driver.yml#L199
$ docker pull xelonag/xelon-csi:v0.7.1
Error response from daemon: manifest for xelonag/xelon-csi:v0.7.1 not found: manifest unknown: manifest unknown

@megian, nice catch. Thanks for reporting.
It is a typo and should be v0.7.0.

Fixed with f1de93537bc32b6bf28da12d07ae3305634593ca.


Any other transports

Maybe beter todo something like this:
sails.config.log.transports.foreach(function(transport){
logger.add(transport[0], transport[1]);
})
I want to add winston email, for example

It's true. If you can make a PR I accept it :-)

@isuvorov check #2 that is not in the last release.


Update toolkit with latest renamings in Java.

For more details please see the gax-java commit.

LGTM once you have verified locally that the tests pass on api-client-staging using this version of toolkit.

Current coverage is 80.40% (diff: 100%)

Merging #678 into master will not change coverage

@@             master       #678   diff @@
==========================================
  Files           277        277
  Lines         10547      10547
  Methods           0          0
  Messages          0          0
  Branches       1397       1397
==========================================
  Hits           8480       8480
  Misses         1705       1705
  Partials        362        362

Powered by Codecov. Last update 579df0b...b3b5d33

Local tests passed. I will submit once the Travis passes.


kill unnecessary code in StrMap singleton

I see that Travis is up to his usual hijinks and tomfoolery. When will that boy ever learn?

Thanks!


gitsigns example fix

This plugin is AMAZING. I am seriously in love.
I tried a few mapping configs an this is my favorite so far. Off the top of my head I don't think it's interfering with any default mappings but it might bite me later.
{
  next_prefix = "<C-n>",
  prev_prefix = "<C-p>",
  next_repeat = "<cr>",
  prev_repeat = "<c-cr>",
},

One thing I noticed in the README is that your example Gitsigns command didn't work for me because of the capitalization. Here's a quick fix for that. Cheers!

Thanks. C-n and C-p seems a good idea. I might use this as defaults for this plugin.

Thanks. C-n and C-p seems a good idea. I might use this as defaults for this plugin.

Thanks! Cool that you made it the default! I think it makes a lot of sense


API to terminate the running job before the completion

What are you trying to do?
I am using Ollama via REST api interface. Sometimes when model streams a long response (can be quite slow on my computer) I would like to terminate the process before the completion. I checked the API documentation and I did not find an option for this. Even if I unsubscribe from the stream (Java Spring AI interface) I see that the cpu/gpu usage remains high for extended period (untill the whole response has been generated).
How should we solve this?
Implement REST API endpoint that allows to terminate the running job before the completion.
What is the impact of not solving this?
Better user experience. Many users do not own super fast computers and response generation takes some time (0.5-2 minutes on my computer). Sometimes when you get half way through the answer you know that you are not getting what you want and you would like to reformulate a prompt without waiting for the completion. It would greatly improve the user experience if the running job could be stoped before the completion.
Anything else?
Thank you for the awesome project!

If you interrupt the stream it should stop generating immediately. The model will stay loaded in the memory of the GPU for 5 minutes, but you can control that with the keep_alive parameter or the OLLAMA_KEEP_ALIVE env variable.
I just re-tested this with curl and it is working as expected (at least on Mac). What platform are you using?

Hi @ansis-m as mentioned by @pdevine it's possible to have the model unload immediately after generation (including cancelling it)


Support new Wazuh version 4.11.0 in wazuh-security-dashboards-plugin repository

Description
This issue attempts to support a new version 4.11.0 in the wazuh-security-dashboards-plugin repository.
Tasks

[x] Bump 4.11.0 branch to 4.11.0 version on wazuh-security-dashboards-plugin repository, including revision and changelog.

https://github.com/wazuh/wazuh-security-dashboards-plugin/pull/158

LGTM!

LGTM


Cannot intercept AutoGeneratingColumn

Hello,
Thank you very much for the hard work !
I have tried to format doubles on a standard DataGrid and a FilterDataGrid. For both, I have written this tiny piece of code to set formatting :
<control:FilterDataGrid x:Name="dgv_Data"
                        ItemsSource="{Binding Data, UpdateSourceTrigger=PropertyChanged}"
                        AutoGeneratingColumn="dgv_AutoGeneratingColumn"
                        AutoGenerateColumns="True"
                        ShowRowsCount="True"
                        ShowStatusBar="True"
                        Style="{StaticResource FilterDatagridStyle}" />

    private void dgv_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
    {
        if (e.PropertyDescriptor is System.ComponentModel.PropertyDescriptor property)
        {
            if (property.PropertyType.Equals(typeof(double)) || property.PropertyType.Equals(typeof(double?)))
            {
                if (e.Column is DataGridTextColumn column && column.Binding is System.Windows.Data.Binding binding)
                {
                    binding.StringFormat = "{0:N3}";
                }
            }
        }
    }

And of course, it is working with a DataGrid and not with the Filtered one 😄
Do you have the faintest idea why?

     Hi,

It's normal that it doesn't work, you're trying to override the "OnAutoGeneratingColumn" protected method which is already managed by FilterDataGrid.
instead, try modifying your column like this:
           dgv_Data.AutoGeneratedColumns += (sender, e) =>
           {
               if (sender is not FilterDataGrid.FilterDataGrid datagrid) return;

               var col = datagrid.Columns[3];  // where 3 is the index of the column whose format you want to change.

               ((DataGridBoundColumn)col).Binding.StringFormat = "{0:N3}";
           };


[improve] [broker] Improve CPU resources usege of TopicName Cache

Motivation
LoadableCache.get cost too many CPU resources
broker_cpu.html.txt
pulsar-io-4-20" #135 prio=5 os_prio=0 cpu=79326083.91ms elapsed=1465985.25s tid=0x00007f5bc40740b0 nid=0xe9 runnable  [0x00007f5ba51fd000]
   java.lang.Thread.State: RUNNABLE
	at java.util.concurrent.ConcurrentLinkedQueue.offer(java.base@17.0.10/ConcurrentLinkedQueue.java:380)
	at java.util.concurrent.ConcurrentLinkedQueue.add(java.base@17.0.10/ConcurrentLinkedQueue.java:283)
	at com.google.common.cache.LocalCache$Segment.recordRead(LocalCache.java:2546)
	at com.google.common.cache.LocalCache$Segment.get(LocalCache.java:2068)
	at com.google.common.cache.LocalCache.get(LocalCache.java:4012)
	at com.google.common.cache.LocalCache.getOrLoad(LocalCache.java:4035)
	at com.google.common.cache.LocalCache$LocalLoadingCache.get(LocalCache.java:5011)
	at org.apache.pulsar.common.naming.TopicName.get(TopicName.java:81)
	at org.apache.pulsar.common.naming.SystemTopicNames.isEventSystemTopic(SystemTopicNames.java:62)
	at org.apache.pulsar.common.naming.SystemTopicNames.isSystemTopic(SystemTopicNames.java:86)
	at org.apache.pulsar.common.topics.TopicList.lambda$filterSystemTopic$1(TopicList.java:65)
	at org.apache.pulsar.common.topics.TopicList$$Lambda$2132/0x00007f5d049a4800.test(Unknown Source)
	at java.util.stream.ReferencePipeline$2$1.accept(java.base@17.0.10/ReferencePipeline.java:178)
	at java.util.ArrayList$ArrayListSpliterator.forEachRemaining(java.base@17.0.10/ArrayList.java:1625)
	at java.util.stream.AbstractPipeline.copyInto(java.base@17.0.10/AbstractPipeline.java:509)
	at java.util.stream.AbstractPipeline.wrapAndCopyInto(java.base@17.0.10/AbstractPipeline.java:499)
	at java.util.stream.ReduceOps$ReduceOp.evaluateSequential(java.base@17.0.10/ReduceOps.java:921)
	at java.util.stream.AbstractPipeline.evaluate(java.base@17.0.10/AbstractPipeline.java:234)
	at java.util.stream.ReferencePipeline.collect(java.base@17.0.10/ReferencePipeline.java:682)
	at org.apache.pulsar.common.topics.TopicList.filterSystemTopic(TopicList.java:66)
	at org.apache.pulsar.broker.service.ServerCnx.lambda$handleGetTopicsOfNamespace$47(ServerCnx.java:2126)
	at org.apache.pulsar.broker.service.ServerCnx$$Lambda$2129/0x00007f5d049b1c80.accept(Unknown Source)
	at java.util.concurrent.CompletableFuture.uniAcceptNow(java.base@17.0.10/CompletableFuture.java:757)
	at java.util.concurrent.CompletableFuture.uniAcceptStage(java.base@17.0.10/CompletableFuture.java:735)
	at java.util.concurrent.CompletableFuture.thenAccept(java.base@17.0.10/CompletableFuture.java:2182)
	at org.apache.pulsar.broker.service.ServerCnx.lambda$handleGetTopicsOfNamespace$49(ServerCnx.java:2123)
	at org.apache.pulsar.broker.service.ServerCnx$$Lambda$2128/0x00007f5d049b1a38.apply(Unknown Source)
	at java.util.concurrent.CompletableFuture.uniApplyNow(java.base@17.0.10/CompletableFuture.java:684)
	at java.util.concurrent.CompletableFuture.uniApplyStage(java.base@17.0.10/CompletableFuture.java:662)
	at java.util.concurrent.CompletableFuture.thenApply(java.base@17.0.10/CompletableFuture.java:2168)
	at org.apache.pulsar.broker.service.ServerCnx.handleGetTopicsOfNamespace(ServerCnx.java:2120)
	at org.apache.pulsar.common.protocol.PulsarDecoder.channelRead(PulsarDecoder.java:315)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
	at io.netty.handler.flow.FlowControlHandler.dequeue(FlowControlHandler.java:202)
	at io.netty.handler.flow.FlowControlHandler.channelRead(FlowControlHandler.java:164)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:346)
	at io.netty.handler.codec.ByteToMessageDecoder.fireChannelRead(ByteToMessageDecoder.java:333)
	at io.netty.handler.codec.ByteToMessageDecoder.callDecode(ByteToMessageDecoder.java:454)
	at io.netty.handler.codec.ByteToMessageDecoder.channelRead(ByteToMessageDecoder.java:290)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:444)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
	at io.netty.handler.flush.FlushConsolidationHandler.channelRead(FlushConsolidationHandler.java:152)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:442)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
	at io.netty.channel.AbstractChannelHandlerContext.fireChannelRead(AbstractChannelHandlerContext.java:412)
	at io.netty.channel.DefaultChannelPipeline$HeadContext.channelRead(DefaultChannelPipeline.java:1410)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:440)
	at io.netty.channel.AbstractChannelHandlerContext.invokeChannelRead(AbstractChannelHandlerContext.java:420)
	at io.netty.channel.DefaultChannelPipeline.fireChannelRead(DefaultChannelPipeline.java:919)
	at io.netty.channel.epoll.AbstractEpollStreamChannel$EpollStreamUnsafe.epollInReady(AbstractEpollStreamChannel.java:800)
	at io.netty.channel.epoll.EpollEventLoop.processReady(EpollEventLoop.java:509)
	at io.netty.channel.epoll.EpollEventLoop.run(EpollEventLoop.java:407)
	at io.netty.util.concurrent.SingleThreadEventExecutor$4.run(SingleThreadEventExecutor.java:997)
	at io.netty.util.internal.ThreadExecutorMap$2.run(ThreadExecutorMap.java:74)
	at io.netty.util.concurrent.FastThreadLocalRunnable.run(FastThreadLocalRunnable.java:30)
	at java.lang.Thread.run(java.base@17.0.10/Thread.java:840)

Modifications
Because there is no need for a strict invalidate time, change the implementation to ConcurrentHashMap.
after_improvement.html
Performance review
Env

Server: master

topic count: 11000 topics. 110 partitioned topic, each partitioned topic contains 100 partitions

topic name public/default/{uuid}

enableBrokerSideSubscriptionPatternEvaluation : false

Client: 2.11.4

1 client with 220 pattern consumers

without any change, 220 consumers can put pressure make the broker’s CPU usage to keep 90%

initialize 16 timer task for 220 consumers ( in default, there is only a single timer for each client )
change the time-unit of patternAutoDiscoveryPeriod to seconds , and set it to 1
connectionsPerBroker: 100

Test cases:

Without any change
With Caffiene Cache
With PR #23052
With PR #23049

perf_graph.zip
Documentation

[ ] doc
[ ] doc-required
[x] doc-not-needed
[ ] doc-complete

Matching PR in forked repository
PR in forked repository: x

/pulsarbot rerun-failure-checks

Codecov Report
All modified and coverable lines are covered by tests :white_check_mark:

Project coverage is 73.43%. Comparing base (bbc6224) to head (083afe7).
Report is 456 commits behind head on master.

Additional details and impacted files

@@             Coverage Diff              @@
##             master   #23052      +/-   ##
============================================
- Coverage     73.57%   73.43%   -0.14%
- Complexity    32624    33106     +482
============================================
  Files          1877     1914      +37
  Lines        139502   143649    +4147
  Branches      15299    15671     +372
============================================
+ Hits         102638   105495    +2857
- Misses        28908    30086    +1178
- Partials       7956     8068     +112

Flag
Coverage Δ

inttests
27.51% <75.00%> (+2.93%)
:arrow_up:

systests
24.72% <75.00%> (+0.40%)
:arrow_up:

unittests
72.48% <100.00%> (-0.36%)
:arrow_down:

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

Files
Coverage Δ

...org/apache/pulsar/broker/ServiceConfiguration.java
99.02% <100.00%> (-0.37%)
:arrow_down:

...rg/apache/pulsar/broker/service/BrokerService.java
82.09% <100.00%> (+1.31%)
:arrow_up:

...org/apache/pulsar/common/naming/NamespaceName.java
89.04% <100.00%> (ø)

...ava/org/apache/pulsar/common/naming/TopicName.java
96.09% <100.00%> (+0.03%)
:arrow_up:

... and 496 files with indirect coverage changes

Here is the benchmark's source code: https://github.com/BewareMyPower/CacheBenchmark
A typical output:
CacheReadBenchmark.testCaffine             thrpt    5   7432187.879 ±  746705.561  ops/s
CacheReadBenchmark.testGuava               thrpt    5   6962764.989 ±  222299.106  ops/s
CacheReadBenchmark.testMapComputeIfAbsent  thrpt    5  34219723.889 ±  686448.613  ops/s
CacheReadBenchmark.testMapGet              thrpt    5  72643406.351 ± 1312709.392  ops/s

The overhead for expiration seems significant. @ben-manes @lhotari Please help review if there is something wrong with it.
The motivation is that the time cost of parsing a TopicName (with an efficient implementation, the current Pulsar implementation is inefficient) is just similar to getting the cached object from Guava LoadingCache.

Thanks! I’ll look later today (it’s late my time). If you are running this on Mac/Windows then reading the current time is a system call, iirc. That’s much slower than a user space like Linux, so that can artificially skew your results my not being matching the deployment destination. The ticker is can be defined if truly necessary to optimize the clock reads.

The overhead for expiration seems significant.

@BewareMyPower to have a proper comparison with ConcurrentHashMap, could you also run a benchmark without expiration to measure the overhead of using Caffeine as a LRU cache?

Thanks! I’ll look later today (it’s late my time). If you are running this on Mac/Windows then reading the current time is a system call, iirc. That’s much slower than a user space call like Linux, so that can artificially skew your results by not being matching the deployment destination. The ticker can be defined if truly necessary to optimize the clock reads.

@BewareMyPower do you have a chance to run the benchmark on Linux?

@lhotari @ben-manes I ran the test on the ubuntu-latest GitHub Actions runner image. See results here https://github.com/BewareMyPower/CacheBenchmark/actions/runs/10020434100/job/27698014861
Benchmark                                   Mode  Cnt         Score        Error  Units
CacheReadBenchmark.testCaffine             thrpt   25   4895082.131 ± 308351.791  ops/s
CacheReadBenchmark.testGuava               thrpt   25   4373360.896 ±  34218.258  ops/s
CacheReadBenchmark.testMapComputeIfAbsent  thrpt   25  27010976.706 ± 590041.473  ops/s
CacheReadBenchmark.testMapGet              thrpt   25  55345260.175 ± 462556.864  ops/s

I'm not quite sure why expiration would have such a slowdown, but it is an expensive policy. Caffeine implements it in O(1) time, but calls to check if the retrieved entry has expired is usually the dominant cost. An unbounded ConcurrentHashMap is the baseline and the cache can only try to minimize the overhead of applying the eviction policies to that.
The benchmark is single threaded, which means contention on computeIfAbsent won't be observed, and does not consume the return value, which allows for dead code elimination. These are probably not the root problem in them directly, but the full system benchmark still wouldn't make sense if you can do 5M ops/s per thread in the caches, assuming lock contention and clock sources were not a problem. Usually Guava suffers from contention (as shown in the original post), Caffeine doesn't, and if the same then it hints to the kernel clock source (description).

The expiration is a bit of a red haring because it forces the slower path of periodic maintenance, etc. The maximum size would too, except the benchmarks set that to be 10x the populated size and tracking only begins when it is 50% full. This is support if users decide to disable the configuration using an unreachable value, e.g. Long.MAX_SIZE, where we shouldn't prematurely allocate the policy history (a frequency histogram). When using initialCapacity to force a preallocation then the timings are relatively similar between expiration and maximum size in your benchmark. On my macbook, expiration is half the throughput due to calling the system clock, but when using ticker(Ticker.disabledTicker()) then its only 20% slower.
If adding concurrency to your tests, @Threads(8), then the scaling is more pronounced on my macbook. A size-bounded cache significantly outperforms testMapComputeIfAbsent due to the locking (232M/s vs 14.5M/s), which is less pronounced after Java 9's improvements but can be severe if unlucky. When using expiration this drops to 6.5M/s and jumps to 121M/s if using a disabled ticker, showing that the macOS system call is the bottleneck. One could use an alternative time source, like a scheduled task to update a volatile field every second, to mimic Linux's userland approach. I think your benchmark is likely suffering the same system call overhead problem unless you can verify that it is vDSO mapped and that container virtualization is not interfering with it. Since this impacts all usages of the clock, e.g. for log events, it's probably worth checking your deployment target's behavior in case fixing the environment settings needs to be a a deployment step.
The specialized cache should certainly be faster, but its unclear if periodically clearing it would cause a latency hiccup as all requests block trying to reload the entry. Since that's unbounded and stale topics are allowed, then it sounds like expiration isn't needed and that part of the performance analysis is moot? You could use a size bounded Caffeine cache without expiration and not worry about the clock source challenges. It's all kind of hard because benchmarks don't truly reflect real world system performance, so things like soft reference caches look wonderful in isolation and fail badly in practice, so it's all a tough juggling act.

@ben-manes @lhotari
The implementation of Caffeine without expireAfterWrite/expireAfterAccess is com.github.benmanes.caffeine.cache.SSMS, and it depends on ConcurrentHashMapsee pictures below. So it can never be better than ConcurrentHashMap.
get

get -> load

@BewareMyPower
Thanks for your testing, I think we'd better change the code like the one below(BTW, in my test, both implementations are close to each other)

Since @ben-manes and @lhotari did not answer, let me merge it first. We can improve the code continuously in the future.

Good job! LGTM.


Evaluate Dictionaries

There are a few dictionary items that could lead to unfortunate or problematic combinations when adjectives are coupled with them.

remove gendered prefixes such as Female
remove animals that could result in unfortunate combinations e.g. Boobie

I got this today, which could be a micro-aggression depending on who I was and what I identified:


added pytest command which should be run after every PR

@Ali-Razmjoo : we are wanting to create a testing environment in https://github.com/zdresearch/OWASP-Honeypot/pull/53 so we want to run pytest after every PR and ensure tests are passing.

maybe use python -m pytest -rpP instead? but anyway I don't think it will detect anything because no test is exist.


Fix up the styles and categories for the notes and status notes

Replacing the component/doc statuses with fewer, more useful ones.
I've completely dropped the 'ready for review' and 'in production' statuses because I don't think they're useful. In particular the 'in production' one feels implicit on any section without another status.
I've also tidied up the styles a bit and swapped out the old icons, which required FontAwesome to work, with some new, standard SVG icons.

NB: I recommend checking out the branch and having a look when you're reviewing. It's hard to get a feel for the additions from the code alone.

@summers1981FA I've alphabetised the rules and also very slightly bumped up the size of the target icon to match the others.

@summers1981FA If you're happy with this I'll get it merged first thing on Monday.


[Feature Request] Export/Import Column positions

I use OldTweetDeck on more then one PC.
So I like to have the option to export/import the save column positions.
Maybe we can use Google Drive, etc?

There's already buttons to do this in tweetdeck settings


Fixed xib-based autolayout sizing/layout issues

Fixed issue #58

Thanks for this contribution. I've made a separate commit using some of the code from this PR. Updated to use Swift 3 syntax and got rid of a few unnecessary lines.


MI - DEVELOPER section (Developing Integration)

Complete the documentation on 'Developing Integration' [1].
Note: Changed the initial topic list. [1] is now replaced with [2].
For reviewers: Please see the preview on netlify[3] as the images don't shown in github md files.
[1] https://github.com/wso2/docs-ei/blob/master/en/micro-integrator/docs/develop/designing-integration.md
[2] https://github.com/wso2/docs-ei/blob/master/en/micro-integrator/docs/develop/intro-integration-development.md
[3] https://wso2docs-configurationcatalog-3.netlify.com/develop/intro-integration-development/

Done. Need review.

@nandika / @isudana  - for your review.

Step 1: Can we clearly mentioned that Docker and Curl are optional.
Step 3: In a VM we can run the MI too (not just running the embedded one), include K8s as another option.
Step 4/5: Include unit testing (a reference)as part of the development process.

Also, add Kubernetes references to the developer guide. @sajithaliyanage @nilminiwso2

PRs improving the 'Develop ' landing page:

https://github.com/wso2/docs-ei/pull/2404
https://github.com/wso2/docs-ei/pull/2405

Fixed.


[BUG] unused field CPUEvictThresholdPercent in NodeSLO

What happened:
the field CPUEvictThresholdPercent in NodeSLOSpec.ResourceUsedThresholdWithBE is not used.
What you expected to happen:
Remove the field
How to reproduce it (as minimally and precisely as possible):
Anything else we need to know?:
Environment:

App version:
Kubernetes version (use kubectl version):
Install details (e.g. helm install args):
Others:

/assign @jasonliu747


hidden the ai telemetry key from source code.

Signed-off-by: Pan Li<EMAIL_ADDRESS>

Codecov Report

Merging #131 into master will not change coverage.
The diff coverage is n/a.

@@          Coverage Diff           @@
##           master    #131   +/-   ##
======================================
  Coverage    76.6%   76.6%
======================================
  Files          33      33
  Lines         812     812
  Branches      112     112
======================================
  Hits          622     622
  Misses        136     136
  Partials       54      54

Continue to review full report at Codecov.

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


Scala 2.13 in Scripts by default

What's the reasoning behind Scala Scripts pointing the user to install Scala 2 instead of Scala 3?

The Scala 3 support is still partial. I hope we can switch after we merge https://github.com/com-lihaoyi/Ammonite/pull/1383 which improves the Scala 3 support.

Oh gotcha! Then it makes sense.


Fix bug that got introduced while merging conflicts

TypeError: RootParser.init() takes 5 positional arguments but 6 were given

I'm working on it.

Nice, @SuelenKarbivnychyy ! It shouldn't be so.
Here look at this PR for why it increased to 6 parameters: https://github.com/sparckles/starfyre/pull/60/files/379215403f668d917ac9fc6a19423f14af5a8bd7

Nice, @SuelenKarbivnychyy ! It shouldn't be so.
Here look at this PR for why it increased to 6 parameters: https://github.com/sparckles/starfyre/pull/60/files/379215403f668d917ac9fc6a19423f14af5a8bd7

Yes, I used your PR to help me find out where I messed it up :D


【代码迁移】任务22：Translating Math Formula Images to LaTeX Sequences Using Deep Neural Networks with Sequence-level Training

ipynb文件为可视化示例，所以未编写主函数代码，运行结果截图如下

 Thank you for your submission! We really appreciate it. Like many open source projects, we ask that you sign our Contributor License Agreement before we can accept your contribution.zxlzd seems not to be a GitHub user. You need a GitHub account to be able to sign the CLA. If you have already a GitHub account, please add the email address used for this commit to your account.You have signed the CLA already but the status is still pending? Let us recheck it.


fixenable hadoop auto renew tgt

Proposed changes

use hadoop properties key
enable auto renew tgt for kerberos auth, set HADOOP_KERBEROS_KEYTAB_LOGIN_AUTORENEWAL_ENABLED

Further comments
If this is a relatively large or complex change, kick off the discussion at<EMAIL_ADDRESS>by explaining why you chose the solution you did and what alternatives you considered, etc...

run buildall


Change the resource type for disk and cpu

The resource type for both disk and cpu should be floats/number not
integers.

:+1: will merge once tests pass


Update CODEOWNER

Contributing to the Azure SDK
Please see our CONTRIBUTING.md if you are not familiar with contributing to this repository or have questions.
For specific information about pull request etiquette and best practices, see this section.

/check-enforcer evaluate

/check-enforcer override

/check-enforcer override


bump kustomize files

Note that we can no longer reference tags, because tag is used to create the image and kustomize manifests are out of date on the tag (chicken-egg issue)

/lgtm

/approve


form html output on page not same as schema

The form html is not taking into account placeholders and also it is not following set order on EntityType field.
This is working correctly in 'plain' Symfony.
The specific form field:
`
class AdType extends AbstractType
{
public function buildForm(FormBuilderInterface $builder, array $options)
{
    $builder
        ->add('model', EntityType::class, array(
            'class' => 'UsedBundle:Model',
            'query_builder' => function (EntityRepository $er) {
                $model = $er->createQueryBuilder('m')
                    ->join('UsedBundle:Brand','b')
                    ->andWhere('b.id = m.brand')
                    ->andWhere("m.active = true")
                    ->addOrderBy('b.brand')
                    ->addOrderBy('m.model');
                return $model;
            },
            'choice_label' => function ($model) {
                $this->brand = $model->getBrand()->getBrand();
                $this->model_name = $model->getModel();
                return $this->brand . ' ' . $this->model_name;
            },
            'label' => false,
            'attr' => array(
                'placeholder' => 'Modele *',
                'data-validation' => 'required',
                'data-validation-error-msg' => "SVP, sélectionnez votre modele",
                )
            ))`

The schema is getting the correct info ( from console.log(adEntry.state))
`
model: {…}
attr: {…}
 "data-validation": "required"
 "data-validation-error-msg": "SVP, sélectionnez votre modele"
  placeholder: "Modele *"
 __proto__: Object { … }
  default: "Modele *"
  enum: Array [ "211", "212", "287", … ]
 enum_titles: Array [ "Abarth 500", "Abarth 500C", "Alfa Romeo 146", … ]
 propertyOrder: 1
 title: "model"
 type: "string"`

But the output is leaving aside the order above ( from enum and enum_titles ) and ordering by <option value""> ascending.
Also the placeholder or default option is not being taken into account, even though the schema is correct. This for all fields.
html
`
<option value="1">Dacia Sandero</option>
<option value="3">Dacia Lodgy</option>
<option value="4">Dacia Dokker</option>
<option value="7">Ford Ka</option>
  ...........`

Thanks

Ok, thanks for this report. I have opened an issue on its library (this is a sandbox with examples of usage of these libraries).
Regarding placeholders, there were complains saying that placeholders shouldn't be default choices, so it was removed in a recent version. There must be room for improvement here though. https://github.com/Limenius/Liform/issues/17


Skewness and Kurtosis for Moving Statistics

Hello, I'd like to see those two shape parameters implemented for Moving Statistics. Currently I use RunningStatistics but it's very expensive using it for each window (lots of GC and re-calculations).
If I can help I could but I am quite bad with math.

Closing issue, I have feeling project is overburdened so maybe in future I will write it. God knows If I will have time.


Updated dg use cases

Pull Request Test Coverage Report for Build 856

0 of 0   changed or added relevant lines in 0 files are covered.
6 unchanged lines in 1 file lost coverage.
Overall coverage remained the same at 82.4%

Files with Coverage Reduction
New Missed Lines
%

src/main/java/seedu/address/logic/commands/ClearApptsCommand.java
6
0.0%

Totals

Change from base Build 855:
0.0%

Covered Lines:
2973

Relevant Lines:
3608

💛  - Coveralls


Seeking suggestion regarding combining VC features with other visual features

Hi,
Thanks for your fantastic work! I am trying to apply your work for videos. For that, I am trying to combine the VC features with the I3D features. While doing so, I am facing a few challenges. First of all, I have seen that for each frame of a video I get VC features with Nx1024 size where N represents the detected bounding boxes in the object which doesn't match with the size of I3D features. So, I was doing elementwise addition of all the features of the N bounding boxes to get a single feature representation of shape 1024.
Do you think it's a good idea? Will the features be preserved if I do addition like this? If not, do you have a better idea on how to do it so that I can combine with the I3D features?
Thanks!

Hi, I think use feature mean is not a bad idea. However, a more important thing you may notice is that, if the video frame has clear objects. Since VC R-CNN is build on the faster rcnn framework which extracts object features based on the detected/given bounding boxes.  If the video frame is not very clear or has few objects, the feature extracted by faster rcnn may be trivial. (Maybe you can add a bounding box which is a whole image size to ensure extract the whole frame feature) .
Another thing is, the distribution of the frame images may be quite different from that of the training samples for pretrained VC RCNN (e.g., MSCOCO).
Does the I3D model you used is a pretrained model, which means you just use it to extract features? Or you need to train the I3D model during training?

Hi, Thanks a lot for your reply.

Hi, I think use feature mean is not a bad idea. However, a more important thing you may notice is that, if the video frame has clear objects. Since VC R-CNN is build on the faster rcnn framework which extracts object features based on the detected/given bounding boxes. If the video frame is not very clear or has few objects, the feature extracted by faster rcnn may be trivial. (Maybe you can add a bounding box which is a whole image size to ensure extract the whole frame feature) .

Firstly, I am using YOLOv5 for extracting the bounding boxes from the video frames and then I was feeding the BBox coordinates to VC R-CNN.  I opted for YOLO as it's very fast which is specially required for videos which contain huge number of frames.
Also, by adding a bounding box equaling the whole image size, do you mean to add it to all the frames no matter how many objects were detected for that frame or just for those frames where no object or a very few objects were detected?

Another thing is, the distribution of the frame images may be quite different from that of the training samples for pretrained VC RCNN (e.g., MSCOCO).

Do you suggest retraining the whole VC R-CNN architecture in this case for my custom dataset?

Does the I3D model you used is a pretrained model, which means you just use it to extract features? Or you need to train the I3D model during training?

I am not training the I3D model. I am using a pretrained one just for feature extraction from videos.

Hi,

Yolov5 can be ok for extracting the bounding box.
For the whole image size bounding box, I think 2 options you mentioned can both be ok.
Yes, if you have data (annotation) to fine-tune the VC RCNN on your own custom dataset, this is the best choice. If you don't have the annotation, you can just use the pretrained VC R-CNN model.

If you have any other questions, feel free to ask me. Thanks.


Validate DOB with current time, not a cache

Looks good :+1:

And again from my work account! :) :+1:

Please see: https://github.com/ministryofjustice/fr-staffapp/pull/607


Unexpected behavior when using passive joints in closed-loop kinematic chains

Probably related to #219, I experienced problems using passive joints when updating from 0.4.3 to 0.4.4 on humble.
More specifically, I simulate an actively controlled hydraulic cylinder acting on a passive joint in a closed-loop kinematic chain, which I need to get the state from.
As in #219, the passive joint is now fixed, even if it should be moving.
I narrowed down the problem to this part of the code, introduced in #177:
https://github.com/ros-controls/gazebo_ros2_control/blob/0dc19ab5561f7ef6b6d9addee55a4b01c56de126/gazebo_ros2_control/src/gazebo_system.cpp#L597-L600

Thanks for reporting the issue. The issue is that we don't filter the passive joints. I propose to add a new map or vector with flags is joint is passive or not, and if it is passive, then we don't set the velocity here. A good place to fill this vector is after all interfaces are parsed on the line 296. A passive joits can be detected that there a no command interfaces, but only state interfaces.


vue simulator dev server integration

after the integration of build environment in #165
todo:

[ ] Integration of vue simulator vite dev server with the main repo
[ ] update the scripts in main server accordingly

Are you working on this? (Yes)

implemented in #170


Got uncaught  TypeError of Object.defineProperty called on non-object

Got uncaught at fetchList TypeError: Object.defineProperty called on non-object     at sagaDispatch  when REQUEST action is triggered.
Saga as below.
function* fetchList(data) {
    yield put(REQUESTING);
    const {response,error}= yield call(Fetch, URL)
    if (response) {
        yield put({type: SUCCESS, data: response.data.data})
    }
    else {
        yield put({type: ERR, error})
    }

    yield put({type: FINISHED});

}
export default function* watchFetchList() {
    yield takeLatest(REQUEST, fetchList);
}

Stupid in    yield put(REQUESTING);


How-To: Get Access Token by Login Token.

When creating a Account with the Spotify API, it gives back a login_token, How do i make a Access Token out of it.

On which page do you get a login token? The only way to get an access token is via specific OAuth2 flows
https://developer.spotify.com/documentation/general/guides/authorization/


Added dutch language

I added the dutch language to locales. You probably have to add it to the language dialog and perhaps somewhere else, but I've translated all strings

Thanks for your contribution! I will make sure to add Dutch to the next release. However, I have big plans for the next release, so there may be some big changes in the codebase that need to be translated again.

If you need any extra translations just mention me, I'll add them for an update


Recreating ServiceExport should update the DNS resolution

In the following scenario I was reinstalling Submariner, and created ServiceExport again, with same service name on same namespace name (that was already deleted, and re-created).
However, the ServiceExport DNS resolution was not updated (in CoreDNS ?).
$ oc -n test-submariner-cl-b-new apply -f -  <<EOF
    apiVersion: lighthouse.submariner.io/v2alpha1
    kind: ServiceExport
    metadata:
      name: nginx-cl-b
EOF

serviceexport.lighthouse.submariner.io/nginx-cl-b created

$ oc exec netshoot-cl-a-new -n test-submariner -- ping -c 1 nginx-cl-b.test-submariner-cl-b-new.svc.supercluster.local

ping: nginx-cl-b.test-submariner-cl-b-new.svc.supercluster.local: Try again
command terminated with exit code 2

Full test report:
https://qe-jenkins-csb-skynet.cloud.paas.psi.redhat.com/job/Submariner-OSP-AWS/551/Test-Report/

This issue does not occur since #628 was merged.


:permission denied

Describe the bug
Unable to open an sqlite3 base in Grafana (local not cloud)
To Reproduce
Add the sqlite plugin to Grafana
Try to open a local sqlite3 database
Grafana unable to access the data
I have tried the FAQ patches by toggling the Protect_Home from true to false with no avail.
The DB opens correctly with Python and DB Browser
Screenshots

Versions (please complete the following information):

OS: Ubuntu 22
Run via apt package
Browser chrome
Grafana Version 10.2.3
Plugin Version 3.4.0
Plugin installed via grafana-cli

Additional context
Add any other context about the problem here. Please also attach the logs of Grafana!

What about the permissions?
Can the Grafana user access every part of the path?

I have indeed already seen that comment but not sure about what is a Grafana User. I have set the database file permission to R&W. I can obviously access them but again from Grafana side I am a bit puzzled ?

Normally Grafana has a custom user (named Grafana) that it creates during the installation.
You need to make sure that this user can read the database.
And you also need to make sure that this user can read all directories in the path of the file.

Actually the default user was admin and it got the administration right. I have even tried to create an extra user with admin righhts as well. Same problem. I think I will stop at my Grafana atempt at this stage it is far too time consuming. I will go back to MathPlot scripts. Thks for helping out anyway.

Thks.


Update Repo Naming (1/3)

REMS-495
REMS -> rems-admin
crd-request-generator -> request-generator

Updated documentation
Updated paths for new repo names path in docker files and files that reference it

Need to update Docker Hub to reflect correct repository path
No action is needed unless you are running dockerized version. Operations targeting the previous location will continue to function as if made on the new location. If you want you can remove these repositories and reclone them to avoid confusion:
git clone https://github.com/mcode/request-generator.git%60
git clone https://github.com/mcode/rems-admin.git
Or just update local clones to point to the new directory url (not needed but good practice to avoid confusion.
In /REMS
git remote set-url origin https://github.com/mcode/rems-admin.git
In /crd-request-generator
git remote set-url origin https://github.com/mcode/request-generator.git

looks good, just need to resolve merge conflicts


Zombie processes in k3s running through docker-compose

Environmental Info:
K3s Version:
k3s version v1.19.5+k3s1 (b11612e2)
Node(s) CPU architecture, OS, and Version:
Linux dev 5.4.0-59-generic #65-Ubuntu SMP Thu Dec 10 12:01:51 UTC 2020 x86_64 x86_64 x86_64 GNU/Linux
Cluster Configuration:
Using docker-compose: https://github.com/k3s-io/k3s/blob/master/docker-compose.yml with the following bash script:
#!/bin/bash
export K3S_VERSION=v1.19.5-k3s1
export K3S_TOKEN=${RANDOM}${RANDOM}${RANDOM}
docker-compose up -d

Describe the bug:
When a pod is deleted, there will be a zombie process containerd-shim.
Steps To Reproduce:

Use the cluster configuration above to bring up the k3s master and agent with docker-compose
Wait until everything is up and running: docker exec -it k3s_server_1 kubectl get all --all-namespaces
Scale a deployment, e.g. traefik, down to delete a pod: docker exec -it k3s_server_1 kubectl -n kube-system scale deployment/traefik --replicas=0
There will be a zombie process until the k3s server/agent is restarted: ps afx | less:

Expected behavior:
Containers and processes are properly cleaned up.
Actual behavior:
There will be a zombie process until the k3s server/agent is restarted
Additional context / logs:
$ docker logs k3s_server_1
I1217 07:29:12.480960       1 event.go:291] "Event occurred" object="kube-system/traefik" kind="Deployment" apiVersion="apps/v1" type="Normal" reason="ScalingReplicaSet" message="Scaled up replica set traefik-5dd496474 to 1"
I1217 07:29:12.497188       1 controller.go:606] quota admission added evaluator for: daemonsets.apps
I1217 07:29:12.540312       1 event.go:291] "Event occurred" object="kube-system/traefik-5dd496474" kind="ReplicaSet" apiVersion="apps/v1" type="Normal" reason="SuccessfulCreate" message="Created pod: traefik-5dd496474-8q94j"
I1217 07:29:12.562982       1 controller.go:606] quota admission added evaluator for: controllerrevisions.apps
I1217 07:29:12.641605       1 event.go:291] "Event occurred" object="kube-system/svclb-traefik" kind="DaemonSet" apiVersion="apps/v1" type="Normal" reason="SuccessfulCreate" message="Created pod: svclb-traefik-8d9h6"
I1217 07:29:12.643311       1 topology_manager.go:233] [topologymanager] Topology Admit Handler
E1217 07:29:12.649942       1 reflector.go:127] object-"kube-system"/"default-token-5rsgk": Failed to watch *v1.Secret: failed to list *v1.Secret: secrets "default-token-5rsgk" is forbidden: User "system:node:f1e63d956f9e" cannot list resource "secrets" in API group "" in the namespace "kube-system": no relationship found between node 'f1e63d956f9e' and this object
I1217 07:29:12.676885       1 event.go:291] "Event occurred" object="kube-system/svclb-traefik" kind="DaemonSet" apiVersion="apps/v1" type="Normal" reason="SuccessfulCreate" message="Created pod: svclb-traefik-z6f7p"
I1217 07:29:12.756609       1 topology_manager.go:219] [topologymanager] RemoveContainer - Container ID: b2a78acc8eb23caae7607209b58dd2d84ecd3b898331b1a9e27fde8d6d51bc59
I1217 07:29:12.784442       1 event.go:291] "Event occurred" object="kube-system/helm-install-traefik" kind="Job" apiVersion="batch/v1" type="Normal" reason="Completed" message="Job completed"
I1217 07:29:12.823852       1 reconciler.go:224] operationExecutor.VerifyControllerAttachedVolume started for volume "default-token-5rsgk" (UniqueName: "kubernetes.io/secret/ee4a0f20-a6fa-444b-a0b0-76f30d460fd0-default-token-5rsgk") pod "svclb-traefik-8d9h6" (UID: "ee4a0f20-a6fa-444b-a0b0-76f30d460fd0")
I1217 07:29:12.924124       1 reconciler.go:196] operationExecutor.UnmountVolume started for volume "values" (UniqueName: "kubernetes.io/configmap/4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07-values") pod "4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07" (UID: "4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07")
I1217 07:29:12.924207       1 reconciler.go:196] operationExecutor.UnmountVolume started for volume "helm-traefik-token-cv74p" (UniqueName: "kubernetes.io/secret/4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07-helm-traefik-token-cv74p") pod "4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07" (UID: "4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07")
I1217 07:29:12.924266       1 reconciler.go:196] operationExecutor.UnmountVolume started for volume "content" (UniqueName: "kubernetes.io/configmap/4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07-content") pod "4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07" (UID: "4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07")
W1217 07:29:12.924309       1 empty_dir.go:453] Warning: Failed to clear quota on /var/lib/kubelet/pods/4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07/volumes/kubernetes.io~configmap/values: ClearQuota called, but quotas disabled
W1217 07:29:12.924646       1 empty_dir.go:453] Warning: Failed to clear quota on /var/lib/kubelet/pods/4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07/volumes/kubernetes.io~configmap/content: ClearQuota called, but quotas disabled
I1217 07:29:12.924741       1 operation_generator.go:788] UnmountVolume.TearDown succeeded for volume "kubernetes.io/configmap/4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07-values" (OuterVolumeSpecName: "values") pod "4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07" (UID: "4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07"). InnerVolumeSpecName "values". PluginName "kubernetes.io/configmap", VolumeGidValue ""
I1217 07:29:12.925146       1 operation_generator.go:788] UnmountVolume.TearDown succeeded for volume "kubernetes.io/configmap/4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07-content" (OuterVolumeSpecName: "content") pod "4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07" (UID: "4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07"). InnerVolumeSpecName "content". PluginName "kubernetes.io/configmap", VolumeGidValue ""
I1217 07:29:12.926076       1 operation_generator.go:788] UnmountVolume.TearDown succeeded for volume "kubernetes.io/secret/4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07-helm-traefik-token-cv74p" (OuterVolumeSpecName: "helm-traefik-token-cv74p") pod "4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07" (UID: "4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07"). InnerVolumeSpecName "helm-traefik-token-cv74p". PluginName "kubernetes.io/secret", VolumeGidValue ""
I1217 07:29:13.024523       1 reconciler.go:319] Volume detached for volume "values" (UniqueName: "kubernetes.io/configmap/4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07-values") on node "f1e63d956f9e" DevicePath ""
I1217 07:29:13.024566       1 reconciler.go:319] Volume detached for volume "helm-traefik-token-cv74p" (UniqueName: "kubernetes.io/secret/4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07-helm-traefik-token-cv74p") on node "f1e63d956f9e" DevicePath ""
I1217 07:29:13.024586       1 reconciler.go:319] Volume detached for volume "content" (UniqueName: "kubernetes.io/configmap/4ceaa6ea-f5d4-4925-ac99-ef64a5d5fd07-content") on node "f1e63d956f9e" DevicePath ""
W1217 07:29:13.761483       1 pod_container_deletor.go:79] Container "fa46322bcca354242fdf5e002ddb31999de2ea9b22807fc74aa3b823d9826270" not found in pod's containers
I1217 07:30:35.249052       1 event.go:291] "Event occurred" object="kube-system/traefik" kind="Deployment" apiVersion="apps/v1" type="Normal" reason="ScalingReplicaSet" message="Scaled down replica set traefik-5dd496474 to 0"
I1217 07:30:35.257422       1 event.go:291] "Event occurred" object="kube-system/traefik-5dd496474" kind="ReplicaSet" apiVersion="apps/v1" type="Normal" reason="SuccessfulDelete" message="Deleted pod: traefik-5dd496474-8q94j"

$ docker logs k3s_agent_1
E1217 07:29:12.623681       1 reflector.go:127] object-"kube-system"/"traefik": Failed to watch *v1.ConfigMap: failed to list *v1.ConfigMap: configmaps "traefik" is forbidden: User "system:node:749f7add770b" cannot list resource "configmaps" in API group "" in the namespace "kube-system": no relationship found between node '749f7add770b' and this object
E1217 07:29:12.625619       1 reflector.go:127] object-"kube-system"/"traefik-token-xvb4m": Failed to watch *v1.Secret: failed to list *v1.Secret: secrets "traefik-token-xvb4m" is forbidden: User "system:node:749f7add770b" cannot list resource "secrets" in API group "" in the namespace "kube-system": no relationship found between node '749f7add770b' and this object
E1217 07:29:12.627281       1 reflector.go:127] object-"kube-system"/"traefik-default-cert": Failed to watch *v1.Secret: failed to list *v1.Secret: secrets "traefik-default-cert" is forbidden: User "system:node:749f7add770b" cannot list resource "secrets" in API group "" in the namespace "kube-system": no relationship found between node '749f7add770b' and this object
I1217 07:29:12.701567       1 topology_manager.go:233] [topologymanager] Topology Admit Handler
E1217 07:29:12.717897       1 reflector.go:127] object-"kube-system"/"default-token-5rsgk": Failed to watch *v1.Secret: failed to list *v1.Secret: secrets "default-token-5rsgk" is forbidden: User "system:node:749f7add770b" cannot list resource "secrets" in API group "" in the namespace "kube-system": no relationship found between node '749f7add770b' and this object
I1217 07:29:12.731976       1 reconciler.go:224] operationExecutor.VerifyControllerAttachedVolume started for volume "config" (UniqueName: "kubernetes.io/configmap/60598cdf-f1e6-4e76-91a5-421212ed0086-config") pod "traefik-5dd496474-8q94j" (UID: "60598cdf-f1e6-4e76-91a5-421212ed0086")
I1217 07:29:12.732391       1 reconciler.go:224] operationExecutor.VerifyControllerAttachedVolume started for volume "ssl" (UniqueName: "kubernetes.io/secret/60598cdf-f1e6-4e76-91a5-421212ed0086-ssl") pod "traefik-5dd496474-8q94j" (UID: "60598cdf-f1e6-4e76-91a5-421212ed0086")
I1217 07:29:12.732521       1 reconciler.go:224] operationExecutor.VerifyControllerAttachedVolume started for volume "traefik-token-xvb4m" (UniqueName: "kubernetes.io/secret/60598cdf-f1e6-4e76-91a5-421212ed0086-traefik-token-xvb4m") pod "traefik-5dd496474-8q94j" (UID: "60598cdf-f1e6-4e76-91a5-421212ed0086")
I1217 07:29:12.832825       1 reconciler.go:224] operationExecutor.VerifyControllerAttachedVolume started for volume "default-token-5rsgk" (UniqueName: "kubernetes.io/secret/55e303bb-05fd-4892-9b54-dc38204d1308-default-token-5rsgk") pod "svclb-traefik-z6f7p" (UID: "55e303bb-05fd-4892-9b54-dc38204d1308")
E1217 07:29:13.833562       1 secret.go:195] Couldn't get secret kube-system/traefik-default-cert: failed to sync secret cache: timed out waiting for the condition
E1217 07:29:13.833579       1 secret.go:195] Couldn't get secret kube-system/traefik-token-xvb4m: failed to sync secret cache: timed out waiting for the condition
E1217 07:29:13.834266       1 nestedpendingoperations.go:301] Operation for "{volumeName:kubernetes.io/secret/60598cdf-f1e6-4e76-91a5-421212ed0086-ssl podName:60598cdf-f1e6-4e76-91a5-421212ed0086 nodeName:}" failed. No retries permitted until 2020-12-17 07:29:14.334035942 +0000 UTC m=+89.107209004 (durationBeforeRetry 500ms). Error: "MountVolume.SetUp failed for volume \"ssl\" (UniqueName: \"kubernetes.io/secret/60598cdf-f1e6-4e76-91a5-421212ed0086-ssl\") pod \"traefik-5dd496474-8q94j\" (UID: \"60598cdf-f1e6-4e76-91a5-421212ed0086\") : failed to sync secret cache: timed out waiting for the condition"
E1217 07:29:13.834815       1 nestedpendingoperations.go:301] Operation for "{volumeName:kubernetes.io/secret/60598cdf-f1e6-4e76-91a5-421212ed0086-traefik-token-xvb4m podName:60598cdf-f1e6-4e76-91a5-421212ed0086 nodeName:}" failed. No retries permitted until 2020-12-17 07:29:14.334714835 +0000 UTC m=+89.107887859 (durationBeforeRetry 500ms). Error: "MountVolume.SetUp failed for volume \"traefik-token-xvb4m\" (UniqueName: \"kubernetes.io/secret/60598cdf-f1e6-4e76-91a5-421212ed0086-traefik-token-xvb4m\") pod \"traefik-5dd496474-8q94j\" (UID: \"60598cdf-f1e6-4e76-91a5-421212ed0086\") : failed to sync secret cache: timed out waiting for the condition"
I1217 07:30:36.143292       1 topology_manager.go:219] [topologymanager] RemoveContainer - Container ID: 6d04e4c2eb420a016c2b3c005be2db3c598b1d366b8be52b2308125af9d3defc
I1217 07:30:36.171991       1 topology_manager.go:219] [topologymanager] RemoveContainer - Container ID: 6d04e4c2eb420a016c2b3c005be2db3c598b1d366b8be52b2308125af9d3defc
E1217 07:30:36.172424       1 remote_runtime.go:329] ContainerStatus "6d04e4c2eb420a016c2b3c005be2db3c598b1d366b8be52b2308125af9d3defc" from runtime service failed: rpc error: code = NotFound desc = an error occurred when try to find container "6d04e4c2eb420a016c2b3c005be2db3c598b1d366b8be52b2308125af9d3defc": not found
W1217 07:30:36.172457       1 pod_container_deletor.go:52] [pod_container_deletor] DeleteContainer returned error for (id={containerd 6d04e4c2eb420a016c2b3c005be2db3c598b1d366b8be52b2308125af9d3defc}): failed to get container status "6d04e4c2eb420a016c2b3c005be2db3c598b1d366b8be52b2308125af9d3defc": rpc error: code = NotFound desc = an error occurred when try to find container "6d04e4c2eb420a016c2b3c005be2db3c598b1d366b8be52b2308125af9d3defc": not found
I1217 07:30:36.287319       1 reconciler.go:196] operationExecutor.UnmountVolume started for volume "config" (UniqueName: "kubernetes.io/configmap/60598cdf-f1e6-4e76-91a5-421212ed0086-config") pod "60598cdf-f1e6-4e76-91a5-421212ed0086" (UID: "60598cdf-f1e6-4e76-91a5-421212ed0086")
I1217 07:30:36.287376       1 reconciler.go:196] operationExecutor.UnmountVolume started for volume "ssl" (UniqueName: "kubernetes.io/secret/60598cdf-f1e6-4e76-91a5-421212ed0086-ssl") pod "60598cdf-f1e6-4e76-91a5-421212ed0086" (UID: "60598cdf-f1e6-4e76-91a5-421212ed0086")
I1217 07:30:36.287425       1 reconciler.go:196] operationExecutor.UnmountVolume started for volume "traefik-token-xvb4m" (UniqueName: "kubernetes.io/secret/60598cdf-f1e6-4e76-91a5-421212ed0086-traefik-token-xvb4m") pod "60598cdf-f1e6-4e76-91a5-421212ed0086" (UID: "60598cdf-f1e6-4e76-91a5-421212ed0086")
W1217 07:30:36.287622       1 empty_dir.go:453] Warning: Failed to clear quota on /var/lib/kubelet/pods/60598cdf-f1e6-4e76-91a5-421212ed0086/volumes/kubernetes.io~configmap/config: ClearQuota called, but quotas disabled
I1217 07:30:36.288168       1 operation_generator.go:788] UnmountVolume.TearDown succeeded for volume "kubernetes.io/configmap/60598cdf-f1e6-4e76-91a5-421212ed0086-config" (OuterVolumeSpecName: "config") pod "60598cdf-f1e6-4e76-91a5-421212ed0086" (UID: "60598cdf-f1e6-4e76-91a5-421212ed0086"). InnerVolumeSpecName "config". PluginName "kubernetes.io/configmap", VolumeGidValue ""
I1217 07:30:36.289175       1 operation_generator.go:788] UnmountVolume.TearDown succeeded for volume "kubernetes.io/secret/60598cdf-f1e6-4e76-91a5-421212ed0086-ssl" (OuterVolumeSpecName: "ssl") pod "60598cdf-f1e6-4e76-91a5-421212ed0086" (UID: "60598cdf-f1e6-4e76-91a5-421212ed0086"). InnerVolumeSpecName "ssl". PluginName "kubernetes.io/secret", VolumeGidValue ""
I1217 07:30:36.289904       1 operation_generator.go:788] UnmountVolume.TearDown succeeded for volume "kubernetes.io/secret/60598cdf-f1e6-4e76-91a5-421212ed0086-traefik-token-xvb4m" (OuterVolumeSpecName: "traefik-token-xvb4m") pod "60598cdf-f1e6-4e76-91a5-421212ed0086" (UID: "60598cdf-f1e6-4e76-91a5-421212ed0086"). InnerVolumeSpecName "traefik-token-xvb4m". PluginName "kubernetes.io/secret", VolumeGidValue ""
I1217 07:30:36.388051       1 reconciler.go:319] Volume detached for volume "config" (UniqueName: "kubernetes.io/configmap/60598cdf-f1e6-4e76-91a5-421212ed0086-config") on node "749f7add770b" DevicePath ""
I1217 07:30:36.388321       1 reconciler.go:319] Volume detached for volume "ssl" (UniqueName: "kubernetes.io/secret/60598cdf-f1e6-4e76-91a5-421212ed0086-ssl") on node "749f7add770b" DevicePath ""
I1217 07:30:36.388493       1 reconciler.go:319] Volume detached for volume "traefik-token-xvb4m" (UniqueName: "kubernetes.io/secret/60598cdf-f1e6-4e76-91a5-421212ed0086-traefik-token-xvb4m") on node "749f7add770b" DevicePath ""
W1217 07:33:03.897033       1 info.go:53] Couldn't collect info from any of the files in "/etc/machine-id,/var/lib/dbus/machine-id"

Any updates?

This would appear to be an issue with containerd not reaping dead child processes; do you still see this with current releases?

Still there, I just tried with the latest version v1.12.3-k3s1.

Containerd is the parent process that should be responsible for reaping these; it'd be worth opening an issue upstream to report this.

But the parent pid of the zombie process is k3s server/agent, as shown in the screenshot. Am I getting it right?

Hmm, it was hard to tell from the other screenshot you posted. That does look more like k3s... but we don't launch the shim, that's handled by containerd... so I'm at a bit of a loss as to why they would be reparented to k3s. I guess because it's the init process in the container?

I scaled up traefik to 1 and got this:

I'm guessing that the agent works as kubelet and uses runc to start pods. After terminating the pod (by scaling down to 0), this process turns into [containerd-shim] <defunct> with the same process id.

FYI this can be easily worked around by running k3s with the --init flag (as in docker run --init --rm --privileged -it rancher/k3s:v1.21.4-k3s1) but it might be nice if we included something in the image to handle this so that it wasn't necessary.

Validated using v1.22.2-rc1+k3s2 following the same steps as mentioned in the issue and do not see the zombie processes anymore. This is using containerd://1.5.7-k3s1


Update releasing guide for npm + lerna

@rickmak, thanks for your PR! By analyzing the history of the files in this pull request, we identified @cheungpat to be a potential reviewer.

@rickmak I followed up with this commit https://github.com/SkygearIO/skygear-server/pull/370/commits/a28279b32e5c4f2dbd833413861e231e5ef43c80
(see commit message for details)
If you have no problem I will merge this in.


libreoffice, libreoffice-fresh, libreoffice-still, libreoffice-qt: pin all LibreOffice to boost179 for now

Description of changes
Implementation of https://github.com/NixOS/nixpkgs/pull/240604#issuecomment-1643825199
(now against correct branch…)
Things done

Built on platform(s)

[ ] x86_64-linux
[ ] aarch64-linux
[ ] x86_64-darwin
[ ] aarch64-darwin

[ ] For non-Linux: Is sandbox = true set in nix.conf? (See Nix manual)
[ ] Tested, as applicable:

NixOS test(s) (look inside nixos/tests)
and/or package tests
or, for functions and "core" functionality, tests in lib/tests or pkgs/test
made sure NixOS tests are linked to the relevant packages

[ ] Tested compilation of all packages that depend on this change using nix-shell -p nixpkgs-review --run "nixpkgs-review rev HEAD". Note: all changes have to be committed, also see nixpkgs-review usage
[ ] Tested basic functionality of all binary files (usually in ./result/bin/)
23.11 Release Notes (or backporting 23.05 Release notes)

[ ] (Package updates) Added a release notes entry if the change is major or breaking
[ ] (Module updates) Added a release notes entry if the change is significant
[ ] (Module addition) Added a release notes entry if adding a new NixOS module

[ ] Fits CONTRIBUTING.md.

@vcunat do we actually need this on staging-next as of right now?

Like that?

Looks good.  I verified that -fresh and -still build.


Can't download data with yfinance

Hello!
For few months now, It seems like I can't use yfinance for anything, for example:
yf.download(tickers="AAPL")
Returns me:
1 Failed download:

AAPL: No data found for this date range, symbol may be delisted

Do you know how I can fix it?
Thanks

Do you use a proxy internet?

same problem with yfinance==0.2.14 after update, works with old version yfinance==0.2.13

I too got the Same problem. do anyone know how to fix it?

I have the same problem as well, and even downgrading to yfinance==0.2.13 doesn't fix it

Try this: https://github.com/ranaroussi/yfinance/issues/1268#issuecomment-1464906732

Turned out it was actually about conflicts between libraries. I was able to
work it out by installing pandas to 1.5.3 and yfinance to 0.2.13. Hope this
helps!
Il Mer 5 Apr 2023, 22:30 laurentv @.***> ha scritto:

Try without datetime.now(), direct end datetime like this :
Same error
import yfinance as yf
o = yf.download(tickers="O", start="2022-01-01", end="2023-01-01")
Result :
1 Failed download:

O: No data found for this date range, symbol may be delisted

With :
Python 3.11.2
Panda 2.0
yfinance 0.2.14
—
Reply to this email directly, view it on GitHub
https://github.com/ranaroussi/yfinance/issues/1467#issuecomment-1498114673,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AWFGJ3A2YLGJ666OVYPRVEDW7XI7VANCNFSM6AAAAAAWJDPVUA
.
You are receiving this because you commented.Message ID:
@.***>

Confirming that it this issue is reproducible when Pandas 2.0 is installed. After installing "pandas<2" the issue is gone (however that's obviously not the solution)

With :
Python 3.11.2
Panda 2.0
yfinance 0.2.14

confirm  works for me :
With :
Python 3.11.2
Panda 1.5.3
yfinance 0.2.14


Support obsolete HTTP date formats

In looking at RFC 7231, Falcon date parsing is actually restricted to IMF-fixdate and does not support the other two obsolete formats. Should we support those formats? Doing so may have minor performance implications for little benefit.
Otherwise, we should update the docstrings and such to reference IMF-fixdate instead of HTTP-Date.

I forgot to say so before I started working on this but I will do this. About to submit a PR for it.

Let's wait just a sec. There's a PR about to merge that may give you conflicts.

See also: #482

@kgiffs I thought I had commented here but yeah, #482 and/or #495 should be merged first, and then I'll redo this on top of that.


Run the cleanup task when the render job succeeded or failed

+1

@inlife any updates on this?

Looks good!


docs(readme): Marked resource support as completed

@Eengineer1  - updating readme for Resources completion. Pls could you review and merge

--runInBands is exactly what prevents race conditions. From help:

So I would restore it.

@Eengineer1 ^

@askolesov I'm aware.
That's practically not the case though, if you check the initial workflow run with the flag enabled.
A better solution would be to max out the workers to 1, along with --runInBand or add longer timeout interval.

That's practically not the case though, if you check the initial workflow run with the flag enabled.

My guess is there is an interval between tx is committed and query server return updated data. Not sure, need to check.

A better solution would be to max out the workers to 1, along with --runInBand or add longer timeout interval.

Indeed, there is a flag -w, --maxWorkers. Didn't see previously. This time was more lucky :)
So yep, let's use either --maxWorkers or --runInBand. Even if it doesn't eliminate racing condition completely, it will should frequency imo.


Adding new checkers to the profiles, setting severities

alpha.cplusplus.PlacementNew 0 findings. -> sensitive (OK), HIGH
Check if default placement new is provided with pointers to sufficient storage capacity.
cplusplus.PureVirtualCall  0 findings -> default (OK) (no documentation!), HIGH
Check pure virtual function calls during construction/destruction
cplusplus.VirtualCallModeling -> default(OK) as this is a modeling checker
fuchsia.HandleChecker -> we dont need thi schecker
security.insecureAPI.decodeValueOfObjCType -> we dont need this checker
bugprone-bad-signal-to-kill-thread ->  pos44-c will be enabled, MEDIUM
Finds pthread_kill function calls when a thread is terminated by raising SIGTERM signal and the signal kills the entire process, not just the individual thread. Use any signal except SIGTERM.
bugprone-dynamic-static-initializers -> default(OK), MEDIUM, 0 findings
Finds instances of static variables that are dynamically initialized in header files.
bugprone-infinite-loop - default (OK), MEDIUM (6 findings)
Finds obvious infinite loops (loops where the condition variable is not changed at all).
bugprone-not-null-terminated-result - default (OK), (12 findings in openssl) MEDIUM
Finds function calls where it is possible to cause a not null-terminated result. Usually the proper length of a string is strlen(src) + 1 or equal length of this expression, because the null terminator needs an extra space. Without the null terminator it can result in undefined behaviour when the string is read.
bugprone-signed-char-misuse  default, MEDIUM (64 findings) (maybe an alias needs to be created to STR34-C)
Finds signed char -> integer conversions which might indicate a programming error. The basic problem with the signed char, that it might store the non-ASCII characters as negative values.
cert-mem57-cpp - MEDIUM, default, 0 findings
This check flags uses of default operator new where the type has extended alignment (an alignment greater than the fundamental alignment). (The default operator new is guaranteed to provide the correct alignment if the requested alignment is less or equal to the fundamental alignment).
This check corresponds to the CERT C++ Coding Standard rule MEM57-CPP. Avoid using default operator new for over-aligned types.
cert-oop58-cpp - default, 0 findings, MEDIUM
Finds assignments to the copied object and its direct or indirect members in copy constructors and copy assignment operators.
This check corresponds to the CERT C Coding Standard rule OOP58-CPP. Copy operations must not mutate the source object.
cert-pos44-c, default, MEDIUM, alias ofbugprone-bad-signal-to-kill-thread
cppcoreguidelines-init-variables - NO-DEFAULT, MEDIUM- POTENTIAL HIGH FALSE POSITIVE RATE- 35294 finidngs in our open source project
Checks whether there are local variables that are declared without an initial value. These may lead to unexpected behaviour if there is a code path that reads the variable before assigning to it.
darwin-avoid-spinlock - dont care
darwin-dispatch-once-nonstatic - dont care
google-upgrade-googletest-case - STYLE
linuxkernel-must-check-errs  - MEDIUM, linux kernel specific
llvm-prefer-register-over-unsigned - STYLE
llvm-qualified-auto - STYLE
objc-missing-hash - dont-care
performance-no-automatic-move - LOW, default, 0 findings
Finds local variables that cannot be automatically moved due to constness.
performance-trivially-destructible- LOW, default, 0 findings
Finds types that could be made trivially-destructible by removing out-of-line defaulted destructor declarations.
readability-make-member-function-const, 54 findings in xerces, LOW, default??
Finds non-static member functions that can be made const because the functions don’t use this in a non-const way.
readability-qualified-auto - STYLE , LLVM coding standard specific, not enabled by default
Adds pointer qualifications to auto-typed variables that are deduced to pointers.
readability-redundant-access-specifiers - STYLE, 37 findings, not enabled by default
Finds classes, structs, and unions containing redundant member (field and method) access specifiers.

 Here is an overview of what got changed by this pull request:

Issues
======
- Added 1

See the complete overview on Codacy


Cherry-Pick commits for release 2.6.3

@stevvooe as you mentioned here [1] (sorry it took so long) Can you consider these commits for a 2.6.3 release?
[1] https://github.com/docker/distribution/issues/2383#issuecomment-346509099

@mrueg can you do the cherry picks with the -x option? That will ensure we can trace to the original commit.
Thanks for doing this!

LGTM


Bugfix: Synchronous schema generation for the Commandlet to be able to save the SchemaDatabase uasset

Description
Running the schema generation into a background thread require the saving of the SchemaDatabase to be delayed into another async task to be run in the game tread afterward.
The issue is that the Snapshot is then generated before the SchemaDatabase is saved, which crash if there is not already an up to date SchemaDatabase
Release note
Bugfix: Synchronous schema generation for the Commandlet to be able to save the SchemaDatabase uasset
Tests
On a clean checkout of a project, run the GenerateSchemaAndSnapshots commandlet an see that it crashs while trying to generate the snapshot: after the crash, there is no Content/Spatial/ since the SchemaDatabase.uasset has not been generated.

This is apparently not needed anymore in current master of the GDK!
I'll update our GDK and report here if this change can safely be dropped.

Oh nice! I was just about to merge this in but if it's not needed that works as well.

Hi,
I am closing this since it is unneeded now in the current state of the GDK.
Cheers!

This is apparently not needed anymore in current master of the GDK!
I'll update our GDK and report here if this change can safely be dropped.

What changed that caused this to no longer be needed? A cursory check leads me to believe that this is still solving a valid problem.

We don't reproduce the problem anymore, while it was totally reliably crashing, so I assumed there was somehow no need for this anymore (I thus have also no way of checking this anymore).

We don't reproduce the problem anymore, while it was totally reliably crashing, so I assumed there was somehow no need for this anymore (I thus have also no way of checking this anymore).

Which version of the UnrealGDK are you using? We're on 0.2.0, and we're still seeing the issue without this fix. If we start by removing our existing SchemaDatabase.uasset, we are getting this error summary:
[2019.03.06-21.27.22:122][  0]LogInit: Display: Warning/Error Summary (Unique only)
[2019.03.06-21.27.22:123][  0]LogInit: Display: -----------------------------------
[2019.03.06-21.27.22:123][  0]LogInit: Display: LogLinker: Warning: Can't find file '/Game/Spatial/SchemaDatabase'
[2019.03.06-21.27.22:123][  0]LogInit: Display: LogUObjectGlobals: Warning: Failed to load '/Game/Spatial/SchemaDatabase': Can't find file '/Game/Spatial/SchemaDatabase'
[2019.03.06-21.27.22:124][  0]LogInit: Display: LogUObjectGlobals: Warning: Failed to find object 'Object /Game/Spatial/SchemaDatabase.SchemaDatabase'
[2019.03.06-21.27.22:125][  0]LogInit: Display:
[2019.03.06-21.27.22:126][  0]LogInit: Display: Success - 0 error(s), 5 warning(s)
This is paired with a variety of other undesirable functionality, such as double-copying the schemadatabase file after the commandlet has finished, etc.. I'm feeling quite convinced that this PR is still necessary. Do you not also see this happening?

Closing this PR as Schema Generation is now synchronous.


bug: Popups always show scroll bars

Type: bug
Platform: android 4.4 webview
This is an issue in the nightly build, I have not checked ios but the issue could be there as well.  Scroll bars always show in the popups all the time, regardless of whether or not there is content to scroll.  Issue appears in the doc example as well: http://ionicframework.com/docs/nightly/api/service/$ionicPopup/

+1 I see it in as well from Browser and Android device.

Same here. No scrollbars on iOS though.

+1

+1

I also see this problem, on alert or confirm popup

+1

Hi,
fix is not working for me (Android 4.4).

@sikron, I tested on my Android 4.4.2 (HTC Desire 601) and the fix is working for me...

Hi,
thx for answering! I have the Android 4.4.4 (Cyanogenmod 11) Chrome running on a Samsung Galaxy S2. My Ionic version is 1.0.0-rc1 and i just exchanged "scroll" with "auto". There should have been nothing else to change, right?
I will try with rc2 as soon as possible.

To quickly check if this solution worked, in ionic.app.css (and ionic.app.min.css when using minified version) I changed class .popup-body and set 'overflow' to 'auto'.
Or you could change it in .popup.scss and run 'gulp sass' afterwards to generate the css files.
I am also running 1.0.0-rc1, which is the latest (according to 'ionic lib' at the moment), and made the change locally. It should be fixed automatically once 1.0.0-rc2 is released and you run 'ionic lib update' again.

Tom
http://bonsezon.ru/analiz
24.03.2015, 17:29, "Tom Kuipers" notifications@github.com:To quickly check if this solution worked, in ionic.app.css (and ionic.app.min.css when using minified version) I changed class .popup-body and set 'overflow' to 'auto'.
Or you could change it in .popup.scss and run 'gulp sass' afterwards to generate the css files.
I am also running 1.0.0-rc1, which is the latest (according to 'ionic lib' at the moment), and made the change locally. It should be fixed automatically once 1.0.0-rc2 is released and you run 'ionic lib update' again.
—Reply to this email directly or .

My bad, i did not know, i had to do the "gulp sass" step. I actually thought, that ionic cli would do this for me :-) Now it works as expected.
@tomkuipers Thank you very much!


How to create loopback interface for the VMs to support floating IP?

I'm trying to enable floating IP to allow below 2 load balancing rules (with backend port re-use) for the same backend pool. From the doc , it's not clear how can I create 2 loop back interface with frontend IP addresses. Is there a wiki that lists all steps?
VMs have operating system - Windows Server 2019 Datacenter

Load balancing Rule#
Frontend IP
Frontend Protocol
Frontend Port
DIP IP
DIP protocol
DIP port

1
IP1
TCP
443
DipIP1
TCP
443

2
IP2
TCP
80
DipIP1
TCP
443

I tried below steps but that didn't show up loopback interface when I ran Get-NetAdapter.

Enable floating IP from Azure portal while creating above LB rules
C:\Windows\INF>pnputil.exe /add-driver netloop.inf /install
Microsoft PnP Utility
Adding driver package:  netloop.inf
Driver package added successfully.
Published Name:         netloop.inf
Driver package installed.
Total driver packages:  1
Added driver packages:  1
Reboot VM
Get-NetAdapter

Document Details
⚠ Do not edit this section. It is required for docs.microsoft.com ➟ GitHub issue linking.

ID: 18af85d1-49ae-b6ba-dee9-56d5aff977b2
Version Independent ID: c14ce560-9cdd-e4af-a0d8-f8541a6c3659
Content: Multiple frontends - Azure Load Balancer
Content Source: articles/load-balancer/load-balancer-multivip-overview.md
Service: load-balancer
GitHub Login: @asudbring
Microsoft Alias: allensu

@ashimaasudani, Thanks for reaching out. We will investigate and update this thread.

@ashimaasudani , the offline information provided by you clarified that you are using Windows Server 2019 core image with no GUI and hence you will not be able to install the loop back interfaces from the GUI model. And need help with PowerShell commands to achieve the same.
As mentioned in this doc,

But after some research, I found the below PowerShell commands which can be used to create a loopback interface on Windows server core images:

Set the required variables:
These steps will set the variables that we will be using in the subsequent steps.

# The name for the loopback adapter interface that will be created.
$loopback_name = 'Loopback'
# The name for the servers main network interface. This will be updated to allow weak host send/receive which is most likely required for the traffic to work for the loopback interface.
$primary_interface = 'Ethernet'
# The IPv4 address that you would like to assign to the loopback interface along with the prefix length (eg. if the IP is routed to the server usually you would set the prefix length to 32).
$loopback_ipv4 = '<IP_ADDRESS>' $loopback_ipv4_length = '32'

Create the loopback interface:
These steps will create the loopback interface itself.
Install and import the LoopbackAdapter module. This will also download devcon.portable from chocolatey:

Install-Module -Name LoopbackAdapter -MinimumVersion <IP_ADDRESS> -Force Import-Module -Name LoopbackAdapter

Create the loopback interface:
New-LoopbackAdapter -Name $loopback_name -Force

At this stage you will now have the loopback interface created. It has no IP's assigned,

Create objects:
These steps will create objects that are used to change the settings for the loopback interface such as the metric as well as enabling weak host send/receive on the servers main interface.

$interface_loopback = Get-NetAdapter -Name $loopback_name $interface_main = Get-NetAdapter -Name $primary_interface

Set metric and enable weak host send/receive:
The metric for the loopback interface should be changed to make it less preferred than the main interface. This is to help prevent the loopback interface being used for outbound traffic originating from the server - if the IP is load balanced for example the return traffic to the server may be sent to other servers so the traffic doesn't come back at all.
Weak host send/receive will be enabled for both the main interface and the loopback as advised in the doc. DHCP will also be disabled for the loopback adapter.

Set-NetIPInterface -InterfaceIndex $interface_loopback.ifIndex -InterfaceMetric "254" -WeakHostReceive Enabled -WeakHostSend Enabled -DHCP Disabled Set-NetIPInterface -InterfaceIndex $interface_main.ifIndex -WeakHostReceive Enabled

Set IP's:
The IP's on the loopback interface can be set now.

# Set the IPv4 address
New-NetIPAddress -InterfaceAlias $loopback_name -IPAddress $loopback_ipv4 -PrefixLength $loopback_ipv4_length -AddressFamily ipv4
Could you please try the above PS commands and see if it helps?
If it doesn’t help. We may need to open a support case with Windows Networking team for further assistance on this. Hence, if you have a support plan, I request you to file a support ticket, else please do let us know, we will try and help you get a one-time free technical support. In this case, do send an email to<EMAIL_ADDRESS>referencing this thread as well as your subscription ID. Please mention "ATTN gishar" in the subject field.


Allow passing of querystring to api urls in redoc

Duplicate of #1243

@shahsank3t @darth-coder00 this is not fixed right?

I don't see any options to pass in query params

This is a duplicate of #1243 so closed this.


Redis Publish Subscribe stop working when connect to external server, unstable network after a while

Hi,
I have recently moved the redis-server into another cloud instance and having go redis subscribe to it from another server. But after running for a while (about hour or so), the subscriber didn't receive the newly published message anymore. It might be due to the unstable network between 2 servers which cause lost redis connection or some unknown reasons. I am wondering if there is anyway to overcome that problem?
Below is the code which I used:
client := goRedis.NewClient(&goRedis.Options{
	Addr:     Address,
	Password: Password, // no password set
	DB:       DB,  // use default DB
	MaxRetries: 5,
})

if _, err := client.Ping().Result(); err != nil {
	log.Fatal("unable to ping redis");
}

ticker := time.NewTicker(time.Duration(1) * time.Second)

//this is to send "ping" request each second for health-check
go func() {
	for {
		select {
		case <- ticker.C:
			//send heart-beat signal to check if everything is ok
			if _, err := client.Ping().Result(); err != nil {
				log.Error("unable to ping redis");
			}
		}
	}
}()

//create a client to pub/sub redis
pubsub := client.PubSub()

if err := pubsub.Subscribe("REDIS_CHANNEL"); err != nil {
	log.Fatal("unable to subscribe redis");
}

//run in another go-routines
go func(){
	for {
		msgi, err := pubsub.ReceiveTimeout(0 * time.Millisecond)
		if err != nil {
			if neterr, ok := err.(net.Error); ok && neterr.Timeout() {
				// There are no more messages to process. Stop.
				break
			}
			panic(err)
		}

		switch msg := msgi.(type) {
			case *goRedis.Subscription:
				log.Info("subscribe to redis", msg.Kind, msg.Channel)
				//TODO: check if channel in the list; if not; push it into the list
			case *goRedis.Message:
				//ACTUAL EVENT HANDLER (NO MESSAGE "RECEIVED" after a while)
			default:
				log.Warning(fmt.Sprintf("unknown message: %#v", msgi))
		}
	}
}()

The same code works perfectly if redis-server is on a single server with go-redis client code.
Thanks.

Recently I added ReceiveMessage that handles reconnection automatically: https://godoc.org/gopkg.in/redis.v3#PubSub (look at example). Can you try it?


[KeyVault] Make sure API Extractor is running and clean

Package Name: KeyVault

Describe the bug
Ensure that:

API Extractor is running for each shipping package
The resulting .d.ts file is being included in the package
The report file is added to the repo
The report file is clean of warnings

Fixed in https://github.com/Azure/azure-sdk-for-js/pull/3604


Audience signing fix

This pull request fixes the following issue.
"From the documentation, the audience should not be a hash. It should be an URL."
https://github.com/stackkit/laravel-google-cloud-tasks-queue/issues/113

Thanks for the PR! Currently, by leaving the audience null, it will skip checking the audience when a task is processed. This is for apps that don't need this level of security because they have their task handler not publicly accessible like here. I think this PR would break that set up.
May I ask what the problem is? That way I understand it better and can help think of some solutions.


[Feature Request] Programmatic Export/Save of visConfig JSON

It would be helpful to add a function that allows users to programmatically export or save the visConfig JSON.

This is not easy to implement. As we are using htmlwidget in R to render GWalkR's core HTML app, we are unable to get the real-time update of the visConfig from the HTML in R environment due to the lack of bi-directional communication.

A common use case involves saving visualizations (the json config) so that they can be easily accessed and reviewed later, without the need to recreate them each time.

@noamanemobidata actually you can press this button to download the JSON config file


Example Request: PyTorch Precision Recall

Thank you for the Keras example in README: scikit-plot looks like a very elegant solution for plotting ML / DL curves.
I was wondering if you have tried plotting PyTorch optimizers with scikit-plot?  If you have an example of PyTorch it will help me out a lot.
Thank you again for an awesome library!

What kind of graphs would you like to see from a Pytorch optimizer?

PyTorch has torch.optim.lr_scheduler.ReduceLROnPlateau() method which reduces learning rate (LR) when stuck on a plateau.  This method is similar to Keras method ReduceLROnPlateau().
A plot of LR for each Epoch would be a great example.
Doc: http://pytorch.org/docs/master/optim.html#how-to-adjust-learning-rate

Hi @FuriouslyCurious, I am not sure if this is a problem that needs to be solved by scikit-plot. If you want to plot LR per epoch, then you need to collect LR and Epochs into two lists and just use vanilla matplotlib to plot the curve. scikit-plot is mostly for curves that require additional computation, and I don't see how a plot of LR per epoch fits within scikit-plot.


Stream K8s Job logs

Currently, we use a Kubernetes Job in order to execute the test notebooks. This Job spins up a Pod, runs the pytest suite included in tests, and exits with a status that depends on the tests' outcome.
After the Job has finished, we collect its logs and report them to the user. Of course this makes for a suboptimal UX, since the user might have to wait long before they learn about the outcome of their tests.
Goal
Stream the Job logs directly to the pytest output, providing real-time insight.

Closing and reopening to trigger Jira automation.


Users can view how many times each section of each video was watched

User Story
As a course author, I want to see how many times each section of each video in my course was viewed, so that I can identify segments of video that are either really important or potentially unclear.
Acceptance Criteria
Scenario: A course author can see the number of times each 5 second segment of video was watched for each video in their course
Given I am a course author with X permissions
When I view the course engagement section of the course dashboard
Then I can view the number of times each 5 second segment of video was watched for each video in my course

I think this can be charted using the fact_watched_video_segments dataset in Superset.


Add "Star the Repository ⭐ " button for Meshery

Current Behavior
Add a button on the HomePage to redirect the user to the Meshery Repository

Contributor Guides and Resources

🎨 Wireframes and designs for Meshery Site in Figma
🖥 Contributing to Meshery Website
🙋🏾🙋🏼 Questions: Discussion Forum and Community Slack

I'd like to work on this

Can I work on this?

Following FCFS,  go ahead @Saksham294 🚀, thanks for volunteering @shadow0500, we often open beginner-friendly issues for new contributors to get started in their journey, be an active member in our community and we'll help you to land your first PR 😄

Hey @thisiskaransgit I would like to know if there is any design for the star button on the homepage, I couldn't find it in the figma design?
Thanks

@Saksham294 take inspiration from here: https://github.com/layer5io/layer5/pull/4370

Following FCFS, go ahead @Saksham294 🚀, thanks for volunteering @shadow0500, we often open beginner-friendly issues for new contributors to get started in their journey, be an active member in our community and we'll help you to land your first PR 😄

Okay sure , I will look forward to grab the opportunity.

Do you mind going back into the history of this site? We had a star and a fork buttons with current count that would be ideal to resurrect.

This @leecalcote ?

So we want to add fork button too apart from the star one?


Fix OAuth client example

Fixes the error: state does not match error reported by @kevprice83 here: https://github.com/3scale/apicast/issues/282#issuecomment-286250869
To be honest, I am not sure how it was working before...
Also, allows to specify the full URI of the APIcast gateway.

Looks good. I guess there is no way to easily try this programmatically? With some ruby/lua script to try the whole flow.


Clone bounds for signals/resources/memos are mostly not necessary

Discussed briefly in #34, but I'm opening a new issue since it's mostly unrelated.
I took a look at the usage of Clone in the signals API and found it could be removed fairly easily. Resources and Memos were slightly less simple:

Resource sources still need to be Clone, though the Future's output does not need to be
A Resource::with() was added, with similar behavior to Signal::with() to allow access without cloning
Memo outputs do not need to be Clone, but it now takes impl FnMut(Option<&T>) -> T instead of impl FnMut(Option<T>) -> T

I have a branch for these changes, but it's built on top of my branch for #35, so I'll open a PR for it once that gets merged.

So, since I alluded to it in the previous discussion: The only thing this would really affect is transitions.
The Clone requirement was originally because I had a use_transition() like the one in Solid or React, implemented in a way that required you to be able to clone the existing value. Basically, transitions "fork" reality so that the reactive system keeps moving along and updating "under transition" but not actually updating the UI until all the asynchronous work being done is complete. This does require T: Clone because you need to clone value to get transition_value.
This isn't necessary for something like our <Suspense/>, and in fact I've removed it because my implementation was buggy anyway. It enables some nicer UI for things like routing, but I'm sure that can be added manually.
I'm very open to removing the Clone requirement since it's not currently necessary and maybe reimplementing transitions in the future in a different way (or restricting which signals can have transitional values).

Interesting note on the transitions. Based only on your original comment, I had the impression that the Clones were mainly just legacy code that hadn't been removed yet but, if there's a reason they'll be needed in the future, it seems like you might as well keep them. I'd have to take a look at that old transitions implementation to make sure I actually understand what they do/how they do it to give any real feedback I'm afraid.

Re: transitions — If you're reading this (Dan or anyone else) and have no idea what I'm talking about, here's the classic Solid demo: without transitions and with transitions. Transitions are basically a way of "holding" an original state, while asynchronously transitioning to a new state, rather than flashing back to the <Suspense> fallback.
I've rewritten the reactive system since then, but here's how transitions would basically work in the current reactive system:

There would be two additional field in Runtime: where now we have signal_values, there would be signal_t_values, and there would be a running_transition: Option<TransitionState> field to track the transition
Calling start_transition() would set running_transition = Some(TransitionState::new())
When we're in a transition, updating a signal would

clone the signal's value
apply the mutation to the clone
keep the original value around

Effects called "under" the transitional state use the new transitional value; effects called "outside" the transition use the original value

this includes DOM rendering, which is built entirely on create_effect

In the Solid example, it "holds" the value of tab until the resource for the content has finished loading, then switches tabs. It's entirely possible to get the same UI effect (holding the previous state) as the Solid example manually; what Solid does (and what React does too, although implemented in a very different way) is a way to do this automatically, at the library level.
Given that, I think it makes sense to go ahead and remove the Clone requirements: at present it's not helping us actually do anything, and causes DX overhead in plenty of cases (see: camera example).

Closed in #37


Incorrect logical-or-operator type inferred with optional values and an empty object

Bug Report

🔎 Search Terms

empty object, infer, or operator, invalid type
🕗 Version & Regression Information

This is the behavior in every version I tried, and I reviewed the FAQ for entries about empty objects

⏯ Playground Link

Playground link with a very simple example
💻 Code

function getFoo(): 'foo' | undefined {
    return 'foo';
}
// explicit typing works here
const explicit: 'foo' | {} = getFoo() || {};
// implicit typing leads to `{}`
const implicit = getFoo() || {};

🙁 Actual behavior

When I use the logical or-operator to assign a value from a list of values that can be undefined and use the empty object {} as the last parameter the type gets inferred to only be the empty object instead of all the optional values that preceded it.
🙂 Expected behavior

I would expect the other types to be preserved. If I explicitly type the variable so that it can contain the preceding types as well as an empty object the type doesn't get flattened to just {}. If that were the case then I would expect the flattening to happen with the or-operator as well.
The use case where I ran into this was when I am receiving a list of objects from multiple sources and wanted to pick the first non-null value. However once I then do if ('xxx' in yyy) type of narrowing the object can potentially be null which prompted me to add the last default value as {} so that I could do the in check without worrying about null values.
Obviously I can work around this by using explicit typing or adding some bogus property to the empty object to make the inferring work but I felt that this is not how it's supposed to work. Since this is such a simple scenario I'm guessing this has been reported before and is expected functionality but I was not able to find any issue regarding this so I decided to open this.

Additionally, when explicitly typing it also accepts {}: const explicit: {} = getFoo() || {};

This is due to subtype reduction

Ah I don't think I've run into this concept before. That makes sense, so basically this is pretty much the same as something like this:
interface A {
    a: string;
}

interface B extends A {
    b: string;
}

const getA = (): A | undefined => ({ a: 'a' });
const getB = (): B => ({ a: 'a', b: 'b' });

const explicit: A | B = getA() || getB();

// implicitly typed as `A`
const implicit = getA() || getB();

It's just that the empty object is a subtype for so many things. I think I read somewhere about the concept of "explicit" empty object type. Something like that would probably help here. I suppose I could easily use something like Record<string, never> as an explicitly "empty" object type. 🤔

Ah I don't think I've run into this concept before. That makes sense, so basically this is pretty much the same as something like this:

Yep, it’s the same mechanism in play.