Kapacitor not recording data stream and alerts not visible in kapacitor log

Kapacitor not recording data stream and alerts not visible in kapacitor log
I have a Fedora24(CentOS)  vm in windows10 host.I followed the article here.
Following are the details
I tried with the exact same version of Influxdb,kapacitor and telegraf as was mentioned in the article but it seemed like many changes were made in kapacitor 1.0 beta later like
the old task.db database file since it is still needed to do the migration.
[storage]
boltdb = "/var/lib/kapacitor/kapacitor.db"
as I am receiving error exactly at this point.
1.First I tried with
Software Versions:
InfluxDB - 0.13.0
Telegraf - 0.13.1
Kapacitor - 0.13.1
Later on I uninstalled Kapacitor -0.13.1 and installed 1.1.1
Here are the configuration files
1.influxdb.conf
logging-enabled = true
pprof-enabled = false

[admin]
enabled = true
bind-address = ":8083"
https-enabled = false
https-certificate = "/etc/ssl/influxdb.pem"

[http]
enabled = true
bind-address = ":8086"
auth-enabled = false
log-enabled = true
write-tracing = false
 logging-enabled = true
pprof-enabled = false

[admin]
enabled = true
bind-address = ":8083"
https-enabled = false
https-certificate = "/etc/ssl/influxdb.pem"

[http]
enabled = true
bind-address = ":8086"
auth-enabled = false
log-enabled = true
write-tracing = false
pprof-enabled = false
https-enabled = false
https-certificate = "/etc/ssl/influxdb.pem"
max-row-limit = 10000

[subscriber]
enabled = true
http-timeout = "30s"

[[udp]]
enabled = false

[continuous_queries]
log-enabled = true
enabled = true

Other details are omitted  as of now

2.telegraf.conf
[agent]
    interval = "1s"

[outputs]

[outputs.influxdb]
    urls = ["http://localhost:8086"]
    database = "kapacitor_example"
    user_agent = "telegraf"

[cpu]
    percpu = false
    totalcpu = true
    drop = ["cpu_time"]

3.Kapacitor.conf

 hostname = "localhost"

 data_dir = "/var/lib/kapacitor"

 default-retention-policy = ""

 [http]
   bind-address = ":9092"
   auth-enabled = false
   log-enabled = true
   write-tracing = false
   pprof-enabled = false
   https-enabled = false

 hostname = "localhost"

 data_dir = "/var/lib/kapacitor"

 default-retention-policy = ""

 [http]
   bind-address = ":9092"
   auth-enabled = false
   log-enabled = true
   write-tracing = false
   pprof-enabled = false
   https-enabled = false
   https-certificate = "/etc/ssl/kapacitor.pem"

 [config-override]
   enabled = true

 [logging]
   file = "/var/log/kapacitor/kapacitor.log"
   level = "INFO"

 [replay]
   dir = "/var/lib/kapacitor/replay"

 [[influxdb]]
   default = true
   name = "localhost"
   urls = ["http://localhost:8086"]
   username = ""
   password = ""
   ssl-ca = ""
   ssl-cert = ""
   ssl-key = ""
   insecure-skip-verify = false
   timeout = "0"
   disable-subscriptions = false
   udp-buffer = 1000
   udp-read-buffer = 0
   startup-timeout = "0"

   startup-timeout = "5m"
   disable-subscriptions = false
   subscription-protocol = "http"

4.cpu_alert.tick
stream
        |from()
        .measurement('cpu')

    |alert()
                .crit(lambda: "usage_idle" < 90 )
        .log('/tmp/cpu_idle_alerts.log')

I followed  https://docs.influxdata.com/kapacitor/v0.12/introduction/getting_started/  for installation.
Steps to reproduce
kapacitor define cpu_alert -type stream -tick ~/cpu_alert.tick -dbrp kapacitor_example.default

$ kapacitor show cpu_alert
ID: cpu_alert
Error:
Template:
Type: stream
Status: enabled
Executing: true
Created: 10 Dec 16 13:44 PST
Modified: 11 Dec 16 09:39 PST
LastEnabled: 11 Dec 16 09:39 PST
Databases Retention Policies: ["kapacitor_example"."default"]
TICKscript:
stream
    |from()
        .measurement('cpu')
    |alert()
        .crit(lambda: "usage_idle" < 90)
        .log('/tmp/cpu_idle_alerts.log')

DOT:
digraph cpu_alert {
graph [throughput="0.00 points/s"];

stream0 [avg_exec_time_ns="0s" ];
stream0 -> from1 [processed="0"];

from1 [avg_exec_time_ns="0s" ];
from1 -> alert2 [processed="0"];

alert2 [alerts_triggered="0" avg_exec_time_ns="0s" crits_triggered="0" infos_triggered="0" oks_triggered="0" warns_triggered="0" ];

[ticku@localhost ~]$ kapacitor record stream -task cpu_alert -duration 20s -no-wait
922d81ca-9375-413c-9ffb-7c8fdd68a360
[ticku@localhost ~]$ kapacitor list recordings 922d81ca-9375-413c-9ffb-7c8fdd68a360
ID                                   Type    Status    Size      Date
922d81ca-9375-413c-9ffb-7c8fdd68a360 stream  running   0 B       11 Dec 16 09:46 PST

[ticku@localhost ~]$ sudo cat /var/log/kapacitor/kapacitor.log
[run] 2016/12/10 18:16:39 I! Kapacitor starting, version 1.1.1, branch master, commit d1e0173df2b9f44c64b7bbf1a120a1bdb3ef683e
[run] 2016/12/10 18:16:39 I! Go version go1.7.4
[srv] 2016/12/10 18:16:39 I! Kapacitor hostname: localhost
[srv] 2016/12/10 18:16:39 I! ClusterID: e364dd76-166e-4e1c-bbe5-06c1c24aac1e ServerID: e859317a-0ea9-4272-a0bd-3b8ce8eeec03
[task_master:main] 2016/12/10 18:16:39 I! opened
[task_store] 2016/12/10 18:16:39 W! **could not open old boltd for task_store. Not performing migration. Remove the `task_store.dir` configuration to disable migration.**
[task_master:main] 2016/12/10 18:16:39 I! Started task: cpu_alert
[smtp] 2016/12/10 18:16:39 I! Starting SMTP service
[stats] 2016/12/10 18:16:39 I! opened service
[httpd] 2016/12/10 18:16:39 I! Starting HTTP service
[httpd] 2016/12/10 18:16:39 I! Authentication enabled: false
[httpd] 2016/12/10 18:16:39 I! Listening on HTTP: [::]:9092
[run] 2016/12/10 18:16:39 I!  Stopped task: cpu_alert
[httpd] ::1 - - [10/Dec/2016:18:17:55 -0800] "PATCH /kapacitor/v1/tasks/cpu_alert HTTP/1.1" 200 440 "-" "KapacitorClient" 06b79c77-bf48-11e6-8004-000000000000 12599
[task_master:main] 2016/12/10 18:17:55 I!  Signal received, initializing clean shutdown...
[run] 2016/12/10 18:26:14 I! Waiting for clean shutdown...
[task_master:main] 2016/12/10 18:26:14 I! Stopped task: cpu_alert
[smtp] 2016/12/10 18:26:14 I! Closing SMTP service
[stats] 2016/12/10 18:26:14 I! closed service
[httpd] 2016/12/10 18:26:14 I! Closed HTTP service
[task_master:main] 2016/12/10 18:26:14 I! closed
[run] 2016/12/10 18:26:14 I! server shutdown completed
[run] 2016/12/10 18:26:17 I! Kapacitor starting, version 1.1.1, branch master, commit d1e0173df2b9f44c64b7bbf1a120a1bdb3ef683e
[run] 2016/12/10 18:26:17 I! Go version go1.7.4
[srv] 2016/12/10 18:26:17 I! Kapacitor hostname: localhost
[srv] 2016/12/10 18:26:17 I! ClusterID: e364dd76-166e-4e1c-bbe5-06c1c24aac1e ServerID: e859317a-0ea9-4272-a0bd-3b8ce8eeec03
[task_master:main] 2016/12/10 18:26:17 I! opened
[task_store] 2016/12/10 18:26:17 W! could not open old boltd for task_store. Not performing migration. Remove the `task_store.dir` configuration to disable migration.
[task_master:main] 2016/12/10 18:26:18 I! Started task: cpu_alert
[smtp] 2016/12/10 18:26:18 I! Starting SMTP service
[stats] 2016/12/10 18:26:18 I! opened service
[httpd] 2016/12/10 18:26:18 I! Starting HTTP service
[httpd] 2016/12/10 18:26:18 I! Authentication enabled: false
[httpd] 2016/12/10 18:26:18 I! Listening on HTTP: [::]:9092
[run] 2016/12/10 18:26:18 I! Listening for signals
[httpd] ::1 - - [10/Dec/2016:18:26:35 -0800] "GET /kapacitor/v1/tasks/cpu_alert?dot-view=attributes&replay-id=&script-format=formatted HTTP/1.1" 200 609 "-" "KapacitorClient" 3d139b0e-bf49-11e6-8001-000000000000 19523
[httpd] ::1 - - [10/Dec/2016:18:26:35 -0800] "PATCH /kapacitor/v1/tasks/cpu_alert HTTP/1.1" 200 612 "-" "KapacitorClient" 3d1714ff-bf49-11e6-8002-000000000000 25929
[task_master:main] 2016/12/10 18:26:36 I! Stopped task: cpu_alert
[httpd] ::1 - - [10/Dec/2016:18:26:36 -0800] "PATCH /kapacitor/v1/tasks/cpu_alert HTTP/1.1" 200 438 "-" "KapacitorClient" 3d1b490d-bf49-11e6-8003-000000000000 20700
[task_master:main] 2016/12/10 18:26:36 I!  Signal received, initializing clean shutdown...
[run] 2016/12/10 18:31:11 I! Waiting for clean shutdown...
[task_master:main] 2016/12/10 18:31:11 I! Stopped task: cpu_alert
[smtp] 2016/12/10 18:31:11 I! Closing SMTP service
[stats] 2016/12/10 18:31:11 I! closed service
[httpd] 2016/12/10 18:31:11 I! Closed HTTP service
[task_master:main] 2016/12/10 18:31:11 I! closed
[run] 2016/12/10 18:31:11 I! server shutdown completed
[run] 2016/12/10 18:32:01 I! Kapacitor starting, version 1.1.1, branch master, commit d1e0173df2b9f44c64b7bbf1a120a1bdb3ef683e
[run] 2016/12/10 18:32:01 I! Go version go1.7.4
[srv] 2016/12/10 18:32:01 I! Kapacitor hostname: localhost
[srv] 2016/12/10 18:32:01 I! ClusterID: e364dd76-166e-4e1c-bbe5-06c1c24aac1e ServerID: e859317a-0ea9-4272-a0bd-3b8ce8eeec03
[task_master:main] 2016/12/10 18:32:01 I! opened
[task_store] 2016/12/10 18:32:01 W! could not open old boltd for task_store. Not performing migration. Remove the `task_store.dir` configuration to disable migration.
[task_master:main] 2016/12/10 18:32:01 I! Started task: cpu_alert
[smtp] 2016/12/10 18:32:01 I! Starting SMTP service
[stats] 2016/12/10 18:32:01 I! opened service
[httpd] 2016/12/10 18:32:01 I! Starting HTTP service
[httpd] 2016/12/10 18:32:01 I! Authentication enabled: false
[httpd] 2016/12/10 18:32:01 I! Listening on HTTP: [::]:9092
[run] 2016/12/10 18:32:01 I!  Stopped task: cpu_alert
[httpd] ::1 - - [10/Dec/2016:18:32:20 -0800] "PATCH /kapacitor/v1/tasks/cpu_alert HTTP/1.1" 200 438 "-" "KapacitorClient" 0a641f42-bf4a-11e6-8004-000000000000 9198
[task_master:main] 2016/12/10 18:32:20 I!  Signal received, initializing clean shutdown...
[run] 2016/12/10 18:38:28 I! Waiting for clean shutdown...
[task_master:main] 2016/12/10 18:38:28 I! Stopped task: cpu_alert
[smtp] 2016/12/10 18:38:28 I! Closing SMTP service
[stats] 2016/12/10 18:38:28 I! closed service
[httpd] 2016/12/10 18:38:28 I! Closed HTTP service
[task_master:main] 2016/12/10 18:38:28 I! closed
[run] 2016/12/10 18:38:28 I! server shutdown completed
[run] 2016/12/10 18:38:52 I! Kapacitor starting, version 1.1.1, branch master, commit d1e0173df2b9f44c64b7bbf1a120a1bdb3ef683e
[run] 2016/12/10 18:38:52 I! Go version go1.7.4
[srv] 2016/12/10 18:38:52 I! Kapacitor hostname: localhost
[srv] 2016/12/10 18:38:52 I! ClusterID: e364dd76-166e-4e1c-bbe5-06c1c24aac1e ServerID: e859317a-0ea9-4272-a0bd-3b8ce8eeec03
[task_master:main] 2016/12/10 18:38:52 I! opened
[task_store] 2016/12/10 18:38:52 W! could not open old boltd for task_store. Not performing migration. Remove the `task_store.dir` configuration to disable migration.
[task_master:main] 2016/12/10 18:38:52 I! Started task: cpu_alert
[smtp] 2016/12/10 18:38:52 I! Starting SMTP service
[stats] 2016/12/10 18:38:52 I! opened service
[httpd] 2016/12/10 18:38:52 I! Starting HTTP service
[httpd] 2016/12/10 18:38:52 I! Authentication enabled: false
[httpd] 2016/12/10 18:38:52 I! Listening on HTTP: [::]:9092
[run] 2016/12/10 18:38:52 I! Listening for signals
[httpd] ::1 - - [10/Dec/2016:18:39:13 -0800] "GET /kapacitor/v1/tasks/cpu_alert?dot-view=attributes&replay-id=&script-format=formatted HTTP/1.1" 200 610 "-" "KapacitorClient" 0090d939-bf4b-11e6-8001-000000000000 4844
[httpd] ::1 - - [10/Dec/2016:18:39:13 -0800] "PATCH /kapacitor/v1/tasks/cpu_alert HTTP/1.1" 200 610 "-" "KapacitorClient" 0091c034-bf4b-11e6-8002-000000000000 24413
[task_master:main] 2016/12/10 18:39:13 I! Stopped task: cpu_alert
[httpd] ::1 - - [10/Dec/2016:18:39:13 -0800] "PATCH /kapacitor/v1/tasks/cpu_alert HTTP/1.1" 200 437 "-" "KapacitorClient" 0095fb86-bf4b-11e6-8003-000000000000 16514
[task_master:main] 2016/12/10 18:39:13 I!  Stopped task: cpu_alert
[httpd] ::1 - - [11/Dec/2016:09:39:04 -0800] "PATCH /kapacitor/v1/tasks/cpu_alert HTTP/1.1" 200 441 "-" "KapacitorClient" b58356b2-bfc8-11e6-800a-000000000000 19168
[task_master:main] 2016/12/11 09:39:04 I!
Connected to http://localhost:8086 version 0.13.0
InfluxDB shell version: 0.13.0
> show subscriptions
name: telegraf
--------------
retention_policy	name						mode	destinations
default			kapacitor-e364dd76-166e-4e1c-bbe5-06c1c24aac1e	ANY	[http://localhost:9092]

name: _internal
---------------
retention_policy	name						mode	destinations
monitor			kapacitor-e364dd76-166e-4e1c-bbe5-06c1c24aac1e	ANY	[http://localhost:9092]

name: kapacitor_example
-----------------------
retention_policy	name						mode	destinations
default			kapacitor-e364dd76-166e-4e1c-bbe5-06c1c24aac1e	ANY	[http://localhost:9092]

[httpd] 2016/12/10 17:42:30 ::1 - - [10/Dec/2016:17:42:30 -0800] POST /write?consistency=any&db=telegraf&precision=s&rp=default HTTP/1.1 204 0 - InfluxDBClient 1416bc85-bf43-11e6-8032-000000000000 6.05208ms
[httpd] 2016/12/10 17:42:40 ::1 - - [10/Dec/2016:17:42:40 -0800] POST /write?consistency=any&db=telegraf&precision=s&rp=default HTTP/1.1 204 0 - InfluxDBClient 1a0b9efe-bf43-11e6-8033-000000000000 7.417738ms
[httpd] 2016/12/10 17:42:40 ::1 - - [10/Dec/2016:17:42:40 -0800] POST /write?consistency=any&db=telegraf&precision=s&rp=default HTTP/1.1 204 0 - InfluxDBClient 1a0b9fbc-bf43-11e6-8034-000000000000 10.765394ms
[httpd] 2016/12/10 17:42:50 ::1 - - [10/Dec/2016:17:42:50 -0800] POST /write?consistency=any&db=telegraf&precision=s&rp=default HTTP/1.1 204 0 - InfluxDBClient 200197ed-bf43-11e6-8036-000000000000 8.655367ms
[httpd] 2016/12/10 17:42:50 ::1 - - [10/Dec/2016:17:42:50 -0800] POST /write?consistency=any&db=telegraf&precision=s&rp=default HTTP/1.1 204 0 - InfluxDBClient 200197ed-bf43-11e6-8035-000000000000 11.39447ms
[httpd] 2016/12/10 17:43:00 ::1 - - [10/Dec/2016:17:43:00 -0800] POST /write?consistency=any&db=telegraf&precision=s&rp=default HTTP/1.1 204 0 - InfluxDBClient 25f6f89b-bf43-11e6-8037-000000000000 4.489744ms
[httpd] 2016/12/10 17:43:00 ::1 - - [10/Dec/2016:17:43:00 -0800] POST /write?consistency=any&db=telegraf&precision=s&rp=default HTTP/1.1 204 0 - InfluxDBClient 25f74eb0-bf43-11e6-8038-000000000000 4.027544ms
[httpd] 2016/12/10 17:43:10 ::1 - - [10/Dec/2016:17:43:10 -0800] POST /write?consistency=any&db=telegraf&precision=s&rp=default HTTP/1.1 204 0 - InfluxDBClient 2becdaa1-bf43-11e6-8039-000000000000 4.398767ms
[httpd] 2016/12/10 17:43:10 ::1 - - [10/Dec/2016:17:43:10 -0800] POST /write?consistency=any&db=telegraf&precision=s&rp=default HTTP/1.1 204 0 - InfluxDBClient 2bed6aa4-bf43-11e6-803a-000000000000 2.589761ms
[httpd] 2016/12/10 17:43:20 ::1 - - [10/Dec/2016:17:43:20 -0800] POST /write?consistency=any&db=telegraf&precision=s&rp=default HTTP/1.1 204 0 - InfluxDBClient 31e2dd1e-bf43-11e6-803b-000000000000 4.905191ms
[httpd] 2016/12/10 17:43:20 ::1 - - [10/Dec/2016:17:43:20 -0800] POST /write?consistency=any&db=telegraf&precision=s&rp=default HTTP/1.1 204 0 - InfluxDBClient 31e3037a-bf43-11e6-803c-000000000000 14.243782ms
[run] 2016/12/10 17:43:25 Signal received, initializing clean shutdown...
[run] 2016/12/10 17:43:25 Waiting for clean shutdown...
[copier] 2016/12/10 17:43:25 copier listener closed
[cluster] 2016/12/10 17:43:25 cluster service accept error: network connection closed
[shard-precreation] 2016/12/10 17:43:25 Precreation service terminating
[snapshot] 2016/12/10 17:43:25 snapshot listener closed
[continuous_querier] 2016/12/10 17:43:25 continuous query service terminating
[retention] 2016/12/10 17:43:25 retention policy enforcement terminating
[monitor] 2016/12/10 17:43:25 shutting down monitor system
[monitor] 2016/12/10 17:43:25 terminating storage of statistics
[subscriber] 2016/12/10 17:43:27 closed service
[run] 2016/12/10 17:43:27 server shutdown completed
[ticku@localhost influxdb]$

As it can be seen the error lies in
[task_store] 2016/12/10 18:16:39 W! **could not open old boltd for task_store. Not performing migration. Remove the task_store.dir configuration to disable migration.**
How to resolve this?
I tried all possible ways to do that:-
1.Added [subscriber] in kapacitor-0.13.1.
2.Referred to all the available forums and articles available online but none of them provided a solution.
3.I also tried in docker but on enabling the cpu_alert neither the kapacitor records any stream nor is the log file created.'show subscriptions' lists subscriptions correctly and there are no errors in influxdb logs
docker run -d --name influxdb -p 8083:8083 -p 8086:8086 influxdb

docker run -d --name telegraf --net=container:influxdb telegraf

After creating tick folder in root of the host I created tickscript - cpu_alert.tick to  that ~/tick folder.
Add tickscript - cpu_alert.tick to  that ~/tick folder.
Add ip of influxdb into kapacitor config file and run below command.

docker run -p 9092:9092 -d --link influxdb:influxdb --name kapacitor -v ~/Downloads/kapacitor.conf:/etc/kapacitor/kapacitor.conf:ro -v ~/tick/:/root -w=/root kapacitor

kapacitor define cpu_alert -type stream -tick ~/cpu_alert.tick -dbrp telegraf.autogen

kapacitor enable cpu_alert

Tried restarting the containers but it doesnot seem to work.

@ipsha1545 The major version of InfluxDB and Kapacitor must match. Meaning if you are using 0.13.X InfluxDB you need to be using Kapacitor 0.13.X. Since you have upgraded Kapacitor to 1.1.X of Kapacitor you should also upgrade InflxuDB to 1.1.X.
Specifically there lots of bug fixes for the subscriptions in version 1.0 of Kapacitor/InfluxDB so upgrading my solve your problem.

As it can be seen the error lies in
[task_store] 2016/12/10 18:16:39 W! could not open old boltd for task_store. Not performing migration. Remove thetask_store.dirconfiguration to disable migration.

This is not important, it is just complaining that it could not find an older (0.11) format of the kapacitor database file. That warning is going to be removed in the next release.
You may also find that the output of kapacitor stats ingress is useful in debugging ingest issues with Kapacitor.

I upgraded Influxdb to 1.1.x but still the issue persists.Is there any way to fix it?

Is there any specific version of kapacitor,influxdb and telegraph for which the entire setup will work fine without issues,the stream of data will be visible in kapacitor and the alerts can be visible in the log file either on docker or on localhost?

I'm having the same issue. I upgraded everything to the latest listed on the website today. I can't get anything to work, yet all the communications seem to be working.

@yatahaze @ipsha1545 Any version >= 1.0 should be working without issues. Can you share the output of kapacitor stats ingress?

Sure,
# kapacitor stats ingress Database   Retention Policy Measurement           Points Received _internal  monitor          cq                                299 _internal  monitor          database                         1196 _internal  monitor          httpd                             299 _internal  monitor          queryExecutor                     299 _internal  monitor          runtime                           299 _internal  monitor          shard                           23322 _internal  monitor          subscriber                       2093 _internal  monitor          tsm1_cache                      23322 _internal  monitor          tsm1_engine                     23322 _internal  monitor          tsm1_filestore                  23322 _internal  monitor          tsm1_wal                        23322 _internal  monitor          write                             299 _kapacitor autogen          edges                             888 _kapacitor autogen          ingress                         15628 _kapacitor autogen          kapacitor                         298 _kapacitor autogen          runtime                           298 telegraf   default          ceph                           139308 telegraf   default          cpu                             10764 telegraf   default          disk                            31993 telegraf   default          diskio                          28106 telegraf   default          disksmart                        1144 telegraf   default          kernel                           1196 telegraf   default          mem                              1196 telegraf   default          mysql                             299 telegraf   default          mysql_users                       613 telegraf   default          net                             16744 telegraf   default          processes                        1196 telegraf   default          procstat                          598 telegraf   default          sensors_custom                    199 telegraf   default          swap                             1196 telegraf   default          system                           1196 telegraf   default          ups_apc                           598 tm         default          customer_overdue                   68 tm         default          error_checker                     353 tm         default          inventory_count                    50 tm         default          invoices                          204 tm         default          invoices_90d                      216 tm         default          invoices_ytd                      220 tm         default          item_count                        168 tm         default          order_status                       77 tm         default          order_total                        12 tm         default          order_total_status                 24 tm         default          oversold                          134 tm         default          sales_ptd                         220 tm         default          sales_type                         84 tm         default          sales_type2                       588 tm         default          stock                            1370 tm         default          stock_percentage                  220 tm         default          transactions                      208 tm         default          transactions_launch               964 tm         default          transactions_theme               1280 tm         default          transactions_themes               152 tm         default          transactions_type                 668 tm         default          whos_online                       238 tm         default          whos_online_provinces             105 tm         default          whos_online_total                  50

@yatahaze  Looks like Kapacitor is receiving the data, can you share a TICKscript that isn't working? The entire output of kapacitor show TASK_NAME would be best.

Here is the TICKscript and the output.
stream
|from()
.measurement('cpu')
|alert()
.crit(lambda: "usage_idle" < 90)
.log('/tmp/cpu_idle_alerts.log')
`[ticku@localhost ~]$ kapacitor show cpu_alert
ID: cpu_alert
Error:
Template:
Type: stream
Status: enabled
Executing: true
Created: 19 Dec 16 23:29 PST
Modified: 19 Dec 16 23:29 PST
LastEnabled: 19 Dec 16 23:29 PST
Databases Retention Policies: ["telegraf"."autogen"]
TICKscript:
stream
|from()
.measurement('cpu-total')
|alert()
.crit(lambda: "usage_idle" < 90)
.log('/tmp/alerts.log')
DOT:
digraph cpu_alert {
graph [throughput="0.00 points/s"];
stream0 [avg_exec_time_ns="0s" ];
stream0 -> from1 [processed="0"];
from1 [avg_exec_time_ns="0s" ];
from1 -> alert2 [processed="0"];
alert2 [alerts_triggered="0" avg_exec_time_ns="0s" crits_triggered="0" infos_triggered="0" oks_triggered="0" warns_triggered="0" ];`

Here's mine:
# kapacitor show cpu_alert
ID: cpu_alert
Error:
Template:
Type: stream
Status: disabled
Executing: false
Created: 19 Dec 16 10:21 PST
Modified: 20 Dec 16 09:03 PST
LastEnabled: 01 Jan 01 00:00 UTC
Databases Retention Policies: ["telegraf"."autogen"]
TICKscript:
stream
    // Select just the cpu measurement from our example database.
    |from()
        .measurement('cpu')
    |alert()
        .crit(lambda: "usage_idle" < 100)
        // Whenever we get an alert write it to a file.
        .log('/tmp/alerts.log')

DOT:
digraph cpu_alert {
stream0 -> from1;
from1 -> alert2;
}

And the other I've been testing:
# kapacitor show disk_alert_stream
ID: disk_alert_stream
Error:
Template:
Type: stream
Status: disabled
Executing: false
Created: 19 Dec 16 11:14 PST
Modified: 19 Dec 16 11:51 PST
LastEnabled: 01 Jan 01 00:00 UTC
Databases Retention Policies: ["telegraf"."autogen"]
TICKscript:
// disk_alert_stream

// metric: used_percent
// available_fields: free","inodes_free","inodes_total","inodes_used","total","used"

// TELEGRAF CONFIGURATION
// [[inputs.disk]]
//   ignore_fs = ["tmpfs", "devtmpfs"]

// DEFINE: kapacitor define disk_alert_stream -type stream -tick disk/disk_alert_stream.tick -dbrp telegraf.autogen
// ENABLE: kapacitor enable disk_alert_stream

// Parameters
var info = 75

var warn = 85

var crit = 92

var period = 10s

var every = 10s

// Dataframe
var data = stream
    |from()
        .database('telegraf')
        .retentionPolicy('autogen')
        .measurement('disk')
        .groupBy('host')
    |window()
        .period(period)
        .every(every)
    |mean('used_percent')
        .as('stat')

// Thresholds
var alert = data
    |alert()
        .id('{{ index .Tags "host"}}/disk_used')
        .message('{{ .ID }}:{{ index .Fields "stat" }}')
        .info(lambda: "stat" > info)
        .warn(lambda: "stat" > warn)
        .crit(lambda: "stat" > crit)

// Alert
alert
        .log('/tmp/disk_alert_log.txt')

DOT:
digraph disk_alert_stream {
stream0 -> from1;
from1 -> window2;
window2 -> mean3;
mean3 -> alert4;
}

[ticku@localhost ~]$ kapacitor stats ingress
Database   Retention Policy Measurement    Points Received
_internal  monitor          cq                         760
_internal  monitor          database                  1520
_internal  monitor          httpd                      760
_internal  monitor          queryExecutor              760
_internal  monitor          runtime                    760
_internal  monitor          shard                     5320
_internal  monitor          subscriber                3040
_internal  monitor          tsm1_cache                5320
_internal  monitor          tsm1_engine               5320
_internal  monitor          tsm1_filestore            5320
_internal  monitor          tsm1_wal                  5320
_internal  monitor          write                      760
_kapacitor autogen          edges                     3795
_kapacitor autogen          ingress                  18970
_kapacitor autogen          kapacitor                  759
_kapacitor autogen          nodes                     2277
_kapacitor autogen          runtime                    759
telegraf   autogen          cpu                       3796
telegraf   autogen          disk                      3800
telegraf   autogen          diskio                    8916
telegraf   autogen          kernel                     760
telegraf   autogen          mem                        760
telegraf   autogen          processes                  760
telegraf   autogen          swap                      1520
telegraf   autogen          system                    1520
``

+1
Having same issues with influxdb 1.1.1, kapacitor 1.1.1

confirmed that influxdb+kapacitor 1.1.0 works--was able to get through the getting started guide now.  Hope this helps narrow things down to a range of changelists. ;)

same issue here

+1
i have the same issue

[dev_dean@VM_61_2_centos ~]$ kapacitor -url http://<IP_ADDRESS>:9092 stats ingress
Database   Retention Policy Measurement    Points Received
_internal  monitor          cq                         220
_internal  monitor          database                   440
_internal  monitor          httpd                      220
_internal  monitor          queryExecutor              220
_internal  monitor          runtime                    220
_internal  monitor          shard                     1760
_internal  monitor          subscriber                3514
_internal  monitor          tsm1_cache                1760
_internal  monitor          tsm1_engine               1760
_internal  monitor          tsm1_filestore            1760
_internal  monitor          tsm1_wal                  1760
_internal  monitor          write                      220
_kapacitor autogen          edges                      573
_kapacitor autogen          ingress                   3224
_kapacitor autogen          kapacitor                  108
_kapacitor autogen          nodes                      291
_kapacitor autogen          runtime                    108
telegraf   autogen          cpu                       4806
telegraf   autogen          disk                      1314
telegraf   autogen          diskio                    1314
telegraf   autogen          kernel                     438
telegraf   autogen          mem                        438
telegraf   autogen          mongodb                    218
telegraf   autogen          net                        876
telegraf   autogen          netstat                    438
telegraf   autogen          processes                  438
telegraf   autogen          redis                      220
telegraf   autogen          redis_keyspace             660
telegraf   autogen          swap                       876
telegraf   autogen          system                     876

[dev_dean@VM_61_2_centos ~]$ kapacitor -url http://<IP_ADDRESS>:9092 show cpu_alert
ID: cpu_alert
Error:
Template:
Type: stream
Status: enabled
Executing: true
Created: 24 Jan 17 06:07 UTC
Modified: 24 Jan 17 06:08 UTC
LastEnabled: 24 Jan 17 06:08 UTC
Databases Retention Policies: ["telegraf"."default"]
TICKscript:
stream
    // Select just the cpu measurement from our example database.
    |from()
        .database('telegraf')
        .measurement('cpu')
    |alert()
        .crit(lambda: "usage_idle" < 100)
        // Whenever we get an alert write it to a file.
        .log('/tmp/alerts.log')

DOT:
digraph cpu_alert {
graph [throughput="0.00 points/s"];

stream0 [avg_exec_time_ns="0s" ];
stream0 -> from1 [processed="0"];

from1 [avg_exec_time_ns="0s" ];
from1 -> alert2 [processed="0"];

alert2 [alerts_triggered="0" avg_exec_time_ns="0s" crits_triggered="0" infos_triggered="0" oks_triggered="0" warns_triggered="0" ];
}

kapacitor logs:
[srv] 2017/01/24 06:06:12 D! opening service: *task_store.Service
[task_store] 2017/01/24 06:06:12 W! could not open old boltd for task_store. Not performing migration. Remove the `task_store.dir` configuration to disable migration.
[srv] 2017/01/24 06:06:12 D! opened service: *task_store.Service

i running influx and kapacitor in docker in kubernetes...

influxdb 1.1.1
kapacitor 1.1.1

I'm experience the same issues with

InfluxDB 1.1.0
Kapacitor 1.1.0

Here is some extra information and troubleshooting I've been doing, any extra input would be appreciated:
Hello, I'm having an issue with Kapacitor and data ingestion/alerting. The data appears
to be incoming from subscription channels from Influx, however Kapacitor streams
do not appear active.
Kapacitor and InfluxDB are running inside of separate docker containers on same
host.
Any help in diagnosing this problem is greatly appreciated.
Relevant Configuration
The relevant configuration from my Kapacitor config is:
hostname = "kapacitor"
data_dir = "/root/.kapacitor"
default-retention-policy = "one_year"

[http]
  bind-address = "<IP_ADDRESS>:9092"
  auth-enabled = false
  log-enabled = true
  write-tracing = false
  pprof-enabled = false
  https-enabled = false
  https-certificate = "/etc/ssl/kapacitor.pem"

[replay]
  dir = "/root/.kapacitor/replay"

[[influxdb]]
  enabled = true
  default = true
  name = "influxdb"
  urls = ["http://influxdb:8086"]
  username = ""
  password = ""
  timeout = 0
  subscription-protocol="http"
  udp-buffer = 1000
  udp-read-buffer = 0
  disable-subscriptions = false

[logging]
  file = "STDERR"
  level = "DEBUG"

The Testing TICK Script
I am trying to run 1 task, the cpu task. Kapacitor knows about it and thinks
it is running.
/ # kapacitor show cpu
ID: cpu
Error:
Template:
Type: stream
Status: enabled
Executing: true
Created: 27 Jan 17 19:57 UTC
Modified: 27 Jan 17 19:57 UTC
LastEnabled: 27 Jan 17 19:57 UTC
Databases Retention Policies: ["metrics"."default"]
TICKscript:
var data = stream
		|from()
	.database('metrics')
	.measurement('docker_container_cpu')

data
	|deadman(100.0, 10s)|log().prefix('DEADMAN')

data
	|log().prefix('STANDARD')

DOT:
digraph cpu {
graph [throughput="0.00 points/s"];

stream0 [avg_exec_time_ns="0s" ];
stream0 -> from1 [processed="0"];

from1 [avg_exec_time_ns="0s" ];
from1 -> log2 [processed="0"];

log2 [avg_exec_time_ns="0s" ];
log2 -> alert3 [processed="0"];

alert3 [alerts_triggered="0" avg_exec_time_ns="0s" crits_triggered="0" infos_triggered="0" oks_triggered="0" warns_triggered="0" ];

stats4 [avg_exec_time_ns="0s" ];
stats4 -> derivative5 [processed="2"];

derivative5 [avg_exec_time_ns="0s" ];
derivative5 -> alert6 [processed="1"];

alert6 [alerts_triggered="1" avg_exec_time_ns="0s" crits_triggered="1" infos_triggered="0" oks_triggered="0" warns_triggered="0" ];
}

Here I'm trying to get Kapacitor log anything to STDERR, and if nothing comes in
the stream, then the deadman prints picks up.
I can confirm in InfluxDB there is a metrics table. I do not have a default
retention policy, or one by the name. However, I'm thinking the Databases Retention Policies specification just means it will use the default retention
policy of the metrics table.
Troubleshooting
Kapacitor Logs
Many logs similar to this:
[httpd] <IP_ADDRESS> - - [27/Jan/2017:17:09:50 +0000] "POST /write?consistency=&db=metrics&precision=ns&rp=one_year HTTP/1.1" 204 0 "-" "InfluxDBClient" 699b238e-e4b3-11e6-ae28-000000000000 22832

Show up in the logs. I am taking these logs to mean that the InfluxDB
subscription is indeed working.
I have confirmed the InfluxDB subscriptions to the database exist by looking in
the InfluxDB and finding the kapacitor subscriptions, targeted at the correct host.
However, the deadman node kicks off every 10seconds:
[cpu:alert5] 2017/01/27 22:43:10 D! CRITICAL alert triggered id:node 'from1' in task 'cpu' msg:node 'from1' in task 'cpu' is dead: %!f(MISSING) points/10s. data:&{stats map[] [time emitted] [[2017-01-27 22:42:50 +0000 UTC 0]]}
[cpu:alert10] 2017/01/27 22:43:10 D! CRITICAL alert triggered id:node 'stream0' in task 'cpu' msg:node 'stream0' in task 'cpu' is dead: %!f(MISSING) points/10s. data:&{stats map[] [time emitted] [[2017-01-27 22:42:50 +0000 UTC 0]]}
[cpu:log6] 2017/01/27 22:43:10 I! DEADMAN {"Name":"stats","Database":"","RetentionPolicy":"","Group":"","Dimensions":{"ByName":false,"TagNames":null},"Tags":null,"Fields":{"emitted":0},"Time":"2017-01-27T22:42:50Z"}

This data stream is updated in InfluxDB every 10 seconds, and we never see any
logging from the |log().prefix('STANDARD') portion of the debugging TICK file.
write-tracing
If I turn on write tracing, I can see values for CPU to come through:
cpu,cpu=cpu-total,host=argon-odinperf usage_guest=0,usage_guest_nice=0,usage_idle=88.1011465381056,usage_iowait=0.028270771164317015,usage_irq=0,usage_nice=0,usage_softirq=0.21674257892678755,usage_steal=0,usage_system=2.2333909219421186,usage_user=9.420449191315278<PHONE_NUMBER>000000000

So I know that I'm getting valid data from Influx.

i updated the kapacitor and influxdb to 1.2. Now it all working

Hi is the 1.2-alpine good image too? Cause I can see that I received something while i do Kapacitor Stats ingress. However, I neither get any alerts nor my kapacitor record stream, records anything. It just stays like its hung without exciting. Any help?

Looks like impossible to download matched versions of telegraf, influxdb and kapacitor, the current available versions are 1.6, 1.5 and 1.4 respectively. Don't know how is the release policy and why they must be consistent but can not be downloaded with same version. I met issue with data points are captured by kapacitor but alert are not sent like this.

+1 Also it's 2019

+1


singleton pattern should be thread safe in VFS

I found that the implementation of singleton in VFS  may not be thread-safe.  In multi-thread environment, singleton should also ensure that there will be only one instance created for the caller.
I also add a unit test file for that to improve the correctness of the implementation, please check it.

Thank you for the PR, @jasonleaster !
I usually choose initialization-on-demand holder where possible.
Is there any advantage in double-checked locking in this case?
public abstract class VFS {
  private static class VFSHolder {
    static final VFS INSTANCE = createVFS();
    static VFS createVFS() {
      // almost the same as the current getInstance()
    }
  }

  public static VFS getInstance() {
    return VFSHolder.INSTANCE;
  }
}

Just out of curiosity, did the current code actually cause some problem in your application?
If so, could you share the details of the issue?

@harawata  Not yet, I haven't met a real problem with VFS.java.  I just try to review all source code of MyBatis (try my best) and find where I can contribute to this awesome project.
But there is no doubt that the current implementation  of singleton is not thread-safe, isn't it?
Double-check or use inner-class to implement thread-safe singleton, anyone is OK.
If you think "there is no problem happened or reported in real life", I will also agree that we don't need to modify the current implementation.

Hi @jasonleaster ,
It's good that you didn't have any actual problem.
I just wanted to see the message or stack trace if there was any problem, in case someone reported the same issue in future.
And improvements are welcome, of course!
We might pick performance or simplicity over correctness when there is no actual harm, but this change looks clean and there will be no performance loss.
If you have no preference for the singleton idioms, let's go with the inner-class version.
Could you make that change, please?
Thanks again!

Sure, I have refactor that with inner-class implementation and add an unit test for concurrent, please check it.

Merged. Thank you, @jasonleaster !


Fails with "Not Found" error

Was trying to use this action in my workflow. It keep failing with "Not Found" error:
https://github.com/kubevirt/hyperconverged-cluster-operator/pull/1176/checks?check_run_id=2076631480
Error: Error setting status:
Not Found
Request object:
{
  "context": "sanity-test",
  "description": "Passed",
  "state": "success",
  "owner": "kubevirt",
  "repo": "hyperconverged-cluster-operator",
  "sha": "77bf072c596a1e6cbc7a76e90d33c1f795840c6e",
  "target_url": ""
}

It is not clear to me what went wrong and how to fix it.

It seems the error message Not Found is returned from the github request, thus it must be referring to the SHA, of course it exists, however the token used must not have access to it. I see this is running on a forked repository, so I might guess the token has access the the original repository but not the forked one.
Not sure on the best way around this, as using a token for the forked repository will cause the request to fail once merged, and it it's current state it should complete once merged.

@nunnatsa When you get a chance, let me know how you got on.

I think this issue is caused by the new GitHub security policy to give only READ access tokens to PRs from forks.
This means that any status checks won't work against external PRs which is a bit unfortunate.
The easiest workaround is to use pull_request_target instead of pull_request, the author just needs to be aware that it's not safe to build or run the PR code in that case.
I think github status update should be safe in this context.
In my case, my action is using pull_request_review_comment which has the same restrictions but no alternative. I think the only thing I could do is follow the advice to run this action via workflow_run event after uploading status details from my pull_request_review_comment action.
(This is my opinion after reading https://securitylab.github.com/research/github-actions-preventing-pwn-requests/  a few times but it might be usefult o updat the README.md if you come to the same conclusion)

I get exactly the same error on push, while on pull request it works well
Error: Error setting status:
Not Found
Request object:
{
"context": "Test report",
"description": "",
"state": "success",
"owner": "XXX",
"repo": "XXX-automation",
"sha": "",
"target_url": "https://XXX.github.io/XXX-automation/94"
}

@olgadayneko do you have links to actual logs and workflow?
From what you pasted, sha is the empty string so it seems like the workflow may be grabbing a sha which exists during pull requests events but not during push events.

@olgadayneko do you have links to actual logs and workflow?
From what you pasted, sha is the empty string so it seems like the workflow may be grabbing a sha which exists during pull requests events but not during push events.

Which part of the logs do you need? Unfortunately it's a work repo and I cannot share full logs due to security rules.
`
name: Test Execution INT
Controls when the action will run.
on:
workflow_dispatch:
pull_request:
branches:
- development
- master
push:
branches:
- development
- master
A workflow run is made up of one or more jobs that can run sequentially or in parallel
jobs:
This workflow contains a single job called "build"
run-regression-tests:
# The type of runner that the job will run on
runs-on: ubuntu-latest
# Steps represent a sequence of tasks that will be executed as part of the job
steps:
  # Checks-out your repository under $GITHUB_WORKSPACE, so your job can access it
  - uses: actions/checkout@v2
    with:
      fetch-depth: 1

  - name: Installing java
    uses: actions/setup-java@v1
    with:
      java-version: 11.0.4
      java-package: jdk
      architecture: x64

  - name: Load maven cache
    uses: actions/cache@v2
    with:
      path: ~/.m2/repository
      key: ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
      restore-keys: |
        ${{ runner.os }}-maven-${{ hashFiles('**/pom.xml') }}
  - name: Retrieving allure reports
    uses: actions/checkout@v2
    with:
      fetch-depth: 1
      ref: 'reportsAllure'
      path: './reports/allure'

  - name: Start selenoid
    if: success()
    uses: Xotabu4/selenoid-github-action@v1

  - name: Create env file
    run: |
      ls -a
      touch .env
     xxx
      cat .env

  - name: Run tests
    id: tests
    run: mvn test -X -D"xxx_ENV"="INT" -D"PIPELINE_RUN"="true"

  - name: Generate allure reports
    run: mvn allure:report

  - name: Get Allure history
    uses: actions/checkout@v2
    if: always()
    continue-on-error: true
    with:
      ref: reportsAllure
      path: reportsAllure

  - name: Allure Report action
    uses: simple-elf/allure-report-action@master
    if: always()
    id: allure-report
    with:
      gh_pages: reportsAllure
      allure_results: target/allure-results
      allure_history: history
      allure_report: target/allure-report
      keep_reports: 25

  - name: Publish report to Github Pages
    if: always()
    uses: peaceiris/actions-gh-pages@v3
    with:
      PERSONAL_TOKEN: ${{secrets.GITHUB_TOKEN}}
      PUBLISH_BRANCH: reportsAllure
      PUBLISH_DIR: history

  - name: Print the link to the report
    if: always()
    uses: Sibz/github-status-action@v1
    with:
      authToken: ${{secrets.GITHUB_TOKEN}}
      context: 'Test report'
      state: 'success'
      sha: ${{ github.event.pull_request.head.sha }}
      target_url: https://xxx.github.io/xxx-automation/${{ github.run_number }}

`

The workflow is actually enough since it confirms the problem is how you're passing the sha.

sha: ${{ github.event.pull_request.head.sha }}

means you'll only have a sha value during pull_request events. You'll probably want to add a conditional sha based on which event triggered the workflow.

The example in the README actually solves for this exact case so I would follow that and chagne your sha argument to:
sha: ${{github.event.pull_request.head.sha || github.sha}}

I get the same error at workflow_dispatch:
Error: Error setting status: Validation Failed: {"resource":"Status","code":"custom","field":"target_url","message":"target_url must use http(s) scheme"} Request object: {   "context": "Test report",   "description": "",   "state": "success",   "owner": "aleksander-frolov",   "repo": "api_tests",   "sha": "9a06097a5fcfa25cbbfb29bf741c9b5162ca3f6a",   "target_url": "aleksander-frolov.github.io/api_tests/11" }

Workflow:
`on:
workflow_dispatch:
jobs:
build:
runs-on: ubuntu-latest

steps:
- uses: actions/checkout@v2
- name: Set up Python 3.8
  uses: actions/setup-python@v2
  with:
    python-version: 3.8

- name: Install dependencies
  run: |
    python -m pip install --upgrade pip
    pip install pipenv
    pipenv sync

- name: Test with pytest
  run: |
    pipenv run python -m pytest --alluredir="tests/reports" tests/test_api.py
  env:
    BASE_URL: ${{secrets.BASE_URL}}
    REPORTS_API_TOKEN: ${{secrets.REPORTS_API_TOKEN}}
    INTEGRATION_API_TOKEN: ${{secrets.INTEGRATION_API_TOKEN}}

- name: Get Allure history
  uses: actions/checkout@v2
  if: always()
  continue-on-error: true
  with:
    ref: gh-pages
    path: gh-pages

- name: Allure Report action from marketplace
  uses: simple-elf/allure-report-action@master
  if: always()
  #id: allure-report
  with:
    allure_results: tests/reports
    gh_pages: gh-pages
    allure_report: allure-report
    allure_history: allure-history
    keep_reports: 20

- name: Deploy report to Github Pages
  if: always()
  uses: peaceiris/actions-gh-pages@v2
  env:
    PERSONAL_TOKEN: ${{ secrets.GITHUB_TOKEN }}
    PUBLISH_BRANCH: gh-pages
    PUBLISH_DIR: allure-history

- name: Post the link to the report
  if: always()
  uses: Sibz/github-status-action@v1
  with:
    authToken: ${{secrets.GITHUB_TOKEN}}
    context: 'Test report'
    state: 'success'
    target_url:  aleksander-frolov.github.io/api_tests/${{ github.run_number }}`

Got this "Not Found" error as well, but it doesn't seem like an issue with sha property.
Error: Error setting status:
Not Found
Request object:
{
  "context": "E2E tests",
  "description": "Cypress ran the tests",
  "state": "failure",
  "owner": "gatezh",
  "repo": "bankand.me",
  "sha": "6bd3f39b8cf644ce982504183028e48ce5369edc",
  "target_url": ""
}

I was following the example of setting up cypress test in a separate repo:

Example repo workflow
Example tests repo workflow

Can somebody please advice what needs to be changes?

@gatezh SDorry about the delay in responding.
Is the PR that it is failing on originating in the same repository or a forked repository?

Hey @Sibz,
It is failing on a PR in a separate repo, not a fork.

Any chance someone can help me with this issue, please?

@gatezh Sorry again for the delay, I've been busy, I will look into this in a bit more detail asap.  Thank you for your patience, I hope to get to the bottom of this for you.

I'm very sorry for the continued lack of response to this issue, I simple have too much on my plate at the moment. I would welcome any collaboration to address this issue.

Hi
I am not able to see any link to access and when i clicke generated link, it shows 404 error
Run Sibz/github-status-action@v1
with:
authToken: ***
context: Test report
state: success
sha: 6fc3674b97b6be6562XXXXX
target_url: https://XXX.github.io/XXXX/41
owner: XXX
repository: xxxx/xxxxxx
where is my mistake ?


"metaget" support (mget, mset, mdelete)

Yo! I see xmemcached looks like the most actively developed java client I can find.
memcached/memcached#484 - I've been developing on this for a while, and after a break intend to finish it up. I'm personally happy with the general approach and the code is at the 90% mark. What I'd love to hear now is some feedback from client authors/maintainers on how good/bad/annoying this would be to implement.
I can clear up/rewrite text/add examples if it's not clear enough right now. The protocol is low level, and I'd expect a raw-ish interface from clients. Most users will only be needing a couple of high level patterns, which should be easy to implement wrapping the raw protocol (a herd-protected get, stale-while-revalidate, etc). I haven't written these examples up explicitly yet while I look for feedback.
Thanks!

@dormando  Great, i will look into it.

@dormando  sorry ,i am busy in these days, i will look into it this weekend.

Fwiw this is out in 1.5.19, marked as experimental. Lots more documentation available now (doc/protocol.txt and an inlinked wiki)


Small path update in instructions

Following along I hit a small bump..
mfproject malexander$ cp -r mfp-ionic-templates/tabs/common coolApp/
cp: directory coolApp does not exist

instead it looks like the path is just the parent since I have to be in this location per the prior instruction
mfproject malexander$ cp -r ../common apps/coolApp/

Thanks for reporting the issue @mgalexander


Python 2 compatibility

mwxml only works on Python 3 at present, e.g. yield from in mwxml/map/map.py not work in Python 2.
Is there any consideration to make this utility compatible with Python 2?

Nope.  Sorry.  Python 2 has been being phased out for more than 10 years.


Add sugar around BeginScope

BeginScope(object)
BeginScope(string, params object[])): support for something like the LogVerbose: "Executing {display}", display to automatically generate the ILogValue

I think this issue has been addressed few days back.

ILogger's BeginScope is renamed to BeginScopeImpl
https://github.com/aspnet/Logging/blob/dev/src/Microsoft.Framework.Logging.Interfaces/ILogger.cs#L36

New logger extension to take in format string
https://github.com/aspnet/Logging/blob/dev/src/Microsoft.Framework.Logging.Interfaces/LoggerExtensions.cs#L558


Eq(7.217) Typos

It misses a T in the last A. And it is better to give a proof of this equation.

fixed


Rework Frontend Trait

Currently as written the 'Frontend' trait has a method for each xi-event. This is Alright now but will get pretty unmanageable as xi adds more methods. I think an enum should be created that represents each xi-core response, we can call it XiEvent for now, that way 'Frontend' can only have one method that takes an instance of XiEvent. This would make the trait easier to implement, also  would make adding features to the frontend easier without it being a breaking change everytime xi-core gets a new rpc method.
Since this would be a breaking change i'll wait a while before opening a PR so anyone who might be using the library might have time to see this.
@little-dude since this would be a breaking change i would like it if you could give your thoughts on this

That sounds like an excellent idea to me. I haven't followed Xi development for a long time, so I bet xrl is now lagging behind quite a lot.

also would make adding features to the frontend easier without it being a breaking change everytime xi-core gets a new rpc method.

I'm not sure I understand: adding a new item to an enum is a breaking change, and we'll need to add/remove items as rpc methods are added/removed from xi-core no?

We could prevent it being a breaking change pretty easily actually if we do one thing. Suggest that users of this library match againts _ instead of all enum variants like this.
match enum_instance {
   Variant::1 => do_the_thing(),
   Variant::2 => do_other_thing(),
   _  => do_nothing()
}

this way when a new enum variant is added people can upgrade the xrl crate but still only handle the variants they are currently using. So if a 'Variant::3' was added to the example enum above it would'nt be a breaking change to anyone who uses an underscore in there match expression.


Can not working in Laravel 8

you need to up to date all dependencies used in this package

yes actually this package has not been updated yet to use laravel 8


BootstrapSecretError,HubKubeConfigSecretMissing

hi, When I use "clusteradm join" , I got an error about hub-kubeconfig-secret, the managed cluster cannot connect to hub cluster.
Failed to get hub kubeconfig secret "open-cluster-management-agent" "hub-kubeconfig-secret": secrets "hub-kubeconfig-secret" not found

it seems like you are using some kind of local cluster like KinD.
For KinD, when you run the join command you have to use --force-internal-endpoint-lookup param
see https://open-cluster-management.io/getting-started/quick-start/#deploy-a-klusterlet-agent-on-your-managed-cluster for more details.


Use latest cvelint + other CI improvements

Thanks for the update.  I will figure out the piping error.

Ah, I thought that was an error in my instance of the repo only because I didn't have the secret set, but I guess it was the pipe. I originally had it in there because without it the log prints each "Processed N records..." line separately, producing huge output (in a normal terminal the line gets overwritten on every update).

Something strange is happening with GitHub actions. I can run the updated CVELint in a container fine, but running it as an action always fails regardless of the piping.
Here are the last few lines of the run:
2024-04-02T13:09:10.4781011Z Processed 243736 CVE records...
2024-04-02T13:09:10.4781106Z Processed 243737 CVE records...
2024-04-02T13:09:10.4781214Z Processed 243738 CVE records...
2024-04-02T13:09:10.4781308Z Processed 243739 CVE records...
2024-04-02T13:09:11.0812666Z Processed 243740 CVE records...
2024-04-02T13:09:12.2128634Z
2024-04-02T13:09:12.2140189Z ##[error]Process completed with exit code 1.
2024-04-02T13:09:12.2152188Z ##[debug]Finishing: Run CVELINT

I will look at it more and open an issue with the GitHub team if needed.

Ah, now I remember, in 0.2.0 I switched it to return a 1 when there are any error results found: https://github.com/mprpic/cvelint/issues/7. So the CI fails because it thinks cvelint errored out. I think you can have the job ignore any status codes with continue-on-error: true:
    - name: Run CVELINT
      env:
        GH_TOKEN:  ${{ secrets.GH_TOKEN }}
      run: |
          ./cvelint -format csv ./cvelistV5/cves > CVEV5Errors.csv
          ./cvelint -format json ./cvelistV5/cves > CVEV5Errors.json
      continue-on-error: true

Awesome. Everything is working now, except for posting the JSON file from v0.3, which is now over 100MB. ¯_(ツ)_/¯
Hopefully, some of the CVEs will get cleaned up soon, so that file will be reposted.

Mmm, the version data in the CVE data set just isn't great because of the prevalance of version=n/a in older records. If I split it out by error code, the new check for invalid versions (E007) accounts for the majority of errors:
> for ecode in $(./bin/cvelint -show-rules | grep -o '^.[0-9]\{3,\}'); do ./bin/cvelint -format csv -select "$ecode" ./cvelistV5/cves/ > "$ecode"-cvev5-errors.csv; done
> ls -s1h E*
4.0K E001-cvev5-errors.csv
812K E002-cvev5-errors.csv
4.0K E003-cvev5-errors.csv
1.4M E004-cvev5-errors.csv
8.0K E005-cvev5-errors.csv
 16K E006-cvev5-errors.csv
 61M E007-cvev5-errors.csv

We could also split the errors to individual files by CNA if I add a -show-cna option that lists all the CNAs in the given CVE data set. I'm sure that would break it down into smaller files.
Alternatively, the check for E007 could be limited to just CVEs after 2016 or something.

I personally like limiting the E007 check to after 2016 as the goal is for CNAs to see them and fix the issues.  I doubt anyone is going to go back and correct records older than that.

Welp, because the number of CVEs assigned goes up pretty much exponentially since like 2017, the file is still 31MB even when limited to 2020+. Some CNAs also put 100s of affected components with versions that aren't really versions in their records so that doesn't help either...
Fwiw, this is the run.sh script that I made locally to generate the per-file results:
#!/usr/bin/env bash

# Generate error reports for each error code separately, except for E007 where there
# are too many errors in old data.
for ecode in $(./bin/cvelint -show-rules | grep -o '.[0-9]\{3,\}' | grep -v E007); do
  ./cvelint -select "$ecode" -format csv ./cvelistV5/cves > "$ecode"-CVEV5Errors.csv
  ./cvelint -select "$ecode" -format json ./cvelistV5/cves > "$ecode"-CVEV5Errors.csv
done

# Generate E007 report for 2016+ CVE.
rm -rf ./cvelistV5/cves/!(201[6-9]|202[0-9])
./cvelint -select E007 -format csv ./cvelistV5/cves > E007-CVEV5Errors.csv
./cvelint -select E007 -format json ./cvelistV5/cves > E007-CVEV5Errors.csv


Improve caching OSB clients

This PR is a

[ ] Feature Implementation
[x ] Bug Fix
[ ] Documentation

What this PR does / why we need it:
The idea of caching OSB clients was changed:

New client instance is created when it is not present in the cache
Secret with Auth data is alway fetched (from informer cache) - so there is no risk the auth data is outdated. If the auth data has beed changed - new OSB client will be created

Which issue(s) this PR fixes
Fixes #2576
Fixes #2563
Please leave this checklist in the PR comment so that maintainers can ensure a good PR.
Merge Checklist:

[ ] New feature

[ ] Tests
[ ] Documentation

[ ] SVCat CLI flag
[ ] Server Flag for config

[ ] Chart changes
[ ] removing a flag by marking deprecated and hiding to avoid
breaking the chart release and existing clients who provide a
flag that will get an error when they try to update

Thanks @piotrmiskiewicz!
/approve
/ok-to-test

Do you think it would be possible add a new test to replace the one removed in controller_servicebroker_test.go? Something to test the new client fetching the auth info?

Hi, I'm planning rewrite integration tests as a part of switching to CRDs. The PR is not yet prepared, but I have a controller test which covers the scenario. I've just cherry-picked the commit to the branch with refreshing auth info and I've created a branch to show you how it will looks like. The test is passing, see: https://github.com/piotrmiskiewicz/service-catalog/blob/osb-test/test/controller/flow_test.go#L13

I realized the test TestReconcileServiceBrokerUpdatesBrokerClient still can work, I've restored it.

/lgtm

Hmm, the git robot didn't assign the issue to me when i commented on Friday. Weird.


SPARKC-360: Disable delayed retrying

Delayed retrying was implemented by Thread.sleep, which was
unfortunately executed by a Netty thread-pool. Blocking that thread pool
may lead to a general lockup of the connector.
Currently, there is no safe way of implementing delayed retries, because
such a feature would have to be implemented in the Java driver.
This change does not introduce API changes. Configuring delayed retrying is
still possible, but will have no effect.

Build against Scala 2.11 finished with success

Build against Scala 2.10 finished with success

+1


[3.x] Random initial color for all Particle Nodes

This PR is a backport of #55263 .
It was tested with CPUParticles2D, CPUParticles, Particles and Particles2D and worked in all variants - horay 🥳
https://user-images.githubusercontent.com/9423774/145600516-119b1a38-ce3d-403a-97ed-257a2ce16da7.mp4

Thanks!

That was fast! 🥳


MSSQL BulkInsert says that count of inserted records is 0, even when its not

@jefim any examples in which cases the count is presented incorrectly? Tasks tests asserts the count of the insert correctly.

I will reply in chat.


[FR] Brokerpaks should be able to include binaries beyond Terraform

Is your feature request related to a problem? Please describe.
Sometimes brokerpaks need additional binaries available in the path. For example, I have an EKS brokerpak which requires the deployment include the aws, kubectl, and helm CLI tools. It is wrong to require that consumers of the brokerpak know about these dependencies and properly package them in their CSB deployment, much less be sure they have the right versions deployed as new versions of the brokerpak come out.
Describe the solution you'd like
I think a .brokerpak file should be fully self-contained, including not just the Terraform binary but any other binaries that are needed for it to operate properly.
Describe alternatives you've considered

I use a script to set up the CSB deployment application before a cf push now. However, there's no explicit connection between the contents of this script and the requirements of the brokerpak... I have to know what utilities are needed, where to get them, which versions are supported, when to update them, etc. That responsibility should be on the brokerpak author (which happens to be me in this case, but my point is I feel bad exposing that level of responsibility to consumers of the brokerpak).
Note that while #233 removes the need to specify Terraform providers, and #231 enables inclusion of template files, I think this is a separate request, basically extending the set of binaries you can provide alongside Terraform.
Additional Context

My brokerpak that has these requirements is located here. Note that the tests, etc. rely on the environment to already have the CLI utils installed. That wouldn't be necessary if building the brokerpak handled this from a manifest!
Priority

Low
Priority Context

I'm able to work around it now.
Platform

Any
Applicable Services

Any

That sounds great! However:

It's not clear to me what happens with the .zip file referenced in url_template:... Do the contents get expanded into the PATH in the Terraform environment, or a particular subdirectory somewhere?
If the url_template: includes https:// will the build process actually retrieve the file at the link? Or is this only for local files? (If it is usable for URLs generally, then I think you should continue to call it url_template:, but document that people should use the file:// protocol to reference local files.)

Hi there... Just revisiting the need for this and wondering if anyone can answer the two questions above.

Any additional binaries should be added to the brokerpak using the syntax @blgm mentioned:
- name: psqlcmd
  version: 0.1.0
  source: https://packages.microsoft.com/config/rhel/7/packages-microsoft-prod.rpm
  url_template: ./tools/${name}/build/${name}_${version}_${os}_${arch}.zip

Do the contents get expanded into the PATH in the Terraform environment, or a particular subdirectory somewhere?
That is right, it will be extracted into a "plugins directory" which will be available to terraform when it runs. This directory is dynamically generated, so there is no fixed path for this, but it will be added to the PATH when terraform is invoked

https:// will the build process actually retrieve the file at the link?
That is correct, if its a url it will be downloaded while brokerpak is being built.

The way this works under the hood is:

the broker would template the url with name, version, os, arch which the user can choose to use in their url
the broker calls out call out to the hashicorp go-getter library which does the local copy or fetching from the internet
the dest directory of the GetAny is compressed as part of the brokerpak
all binaries are made available to terraform when its serving requests from CF

Closing as per previous comment.


Documentation Suggestions

Great tutorial!  I just got mine up and running.  Here's a few suggestions:

Typo - Several references (4) to systemctl ... chronyd.  This should be just 'chrony', not 'chronyd'
Typo - 'install gpsd via your packet manager.' should be 'install gpsd via your package manager.'
Suggest including an example on how to install the first time an install is needed - 'sudo apt-get install gpsd'
When adding allow 192.168/16 to chronyd.conf, one can omit the IP address and it will allow connections from any connected interface.
A simple test from another computer can test connectivity.  On a mac, sntp <ip address>, or verbose sntp -d <ip address> and it will show PPS0 being used.
Documentation says 'If reception is ok, a led ("FIX" or "PPS") should start blinking on your GPS module.' On my Adafruit module, it blinks 1x/second if not fix and once every 10 seconds when there is a fix.

Yes Great tutorial! I just got mine up and running.
Also using  Adafruit module and Rpi3 64bib Rasberian OS   All good
with one exception    Not sure what I am doing wrong But for SATS I just get [ -- ] when I have + 20 connected
any thoughts

@glenne: thanks for the list, will work on that during the next days
@Bob-VK6ZGN : probably something going wrong with the gpsd-py3 dependency. Maybe open a separate issue for this, and we can try to track this down?

It would also be a bonus to explain what the time offset fields mean on the LCD.  e.g. NTP: and SATS

@glenne : I've added most of the suggestions:
some remarks:

on some distris it is actually service 'chronyd', so I added both.
allow without address (and especially cmdallow without) can lead to unexpected results

Thanks for the input!
I leave this open for further discussion. Feel free to close, if completed for now.

Looks great!  Thanks for the update.


Make CREDEBL white label(Backend)

Acceptance Criteria

I can able to customise the application's branding, including the app's name, and logo

[ ] Add variable in .env file to get dynamic platform name

Tested in the QA environment and changes look fine


big transport latency

was working fine yesterday, works good on virtual desktop. it says 50000ms transport latency. very strong wifi 6 connection exclusive for q2 and gig ethernet on pc directly attached to router. tried reinstalling on both devices and rebooting and stuff. help pls

what VR headset are you using ?


Save strings file path in printers.conf by Bryan Cain + feedback applied

The PR is the fix by Bryan Cain from #710 with feedback applied, so if it is correct, we can follow up with 2.4.3 soon.

@michaelrsweet I would go for release 2.4.3 with this merge.


feat: Add AnthropicGenerator and AnthropicChatGenerator

Why:
This Pull Request introduces a new integration for the Haystack framework, enabling the use of Anthropic's Claude family of language models. Anthropic's API provides advanced features such as streaming responses and customizability, making it an excellent addition to Haystack's list of supported integrations.

fixes https://github.com/deepset-ai/haystack-core-integrations/issues/139

What:
The PR adds:

A new top-level directory integrations/anthropic including:

src directory containing the integration implementation
tests directory with test files
pyproject.toml defining build and packaging information
pydoc directory with configuration and markdown file for automatically generated documentation
LICENSE.txt for the Apache License 2.0

An updated .github/workflows/anthropic.yml file to add CI workflows for testing and packaging
A new AnthropicChatGenerator and AnthropicGenerator for integrating with Anthropic's API
Necessary modifications to project's documentation in the docs directory
Test files and fixtures in the tests directory

How can it be used:

Use the AnthropicChatGenerator and AnthropicGenerator components in your pipelines to generate responses and text using Anthropic's Claude family of models
Utilize the streaming capabilities of these components to display responses in real-time

How did you test it:

Unit tests are conducted using pytest to validate the components' functionalities, such as their interaction with the Anthropic API, input and output handling, and the serialization and deserialization processes
Integration tests are performed to ensure compatibility with Haystack

Notes for the reviewer:

Ensure the API key is correctly passed to Anthropic's API and the required environment variable ANTHROPIC_API_KEY is set
Examine the ALLOWED_PARAMS variable in both generator classes to confirm that the allowed parameters for Anthropic's API are up-to-date
Validate that the integration with Haystack is correctly implemented and the components can be utilized with Haystack pipelines

We shouldn't use fixes https://github.com/deepset-ai/haystack-core-integrations/issues/139 in the PR description here. The issue contains more steps than what the PR covers.


DOC: doc strings and examples are missing

The title says it all.
Before addressing this, the API must consolidate. Don't work on this yet.

@DavidSabbagh make_pipelines is particularly important to become clean. I feel. Doc strings are absent. There are also confusing parameter names. How can one understand the difference between shrink and reg?
I think we have to document better the transformers/vectorisers and perhaps, in make_pipelines, do methods_params as in https://mne.tools/stable/generated/mne.compute_covariance.html?highlight=compute_covariance#mne.compute_covariance
Then we do good defaults for each option.

totally agree
Le mer. 21 avr. 2021 à 21:37, Denis A. Engemann @.***>
a écrit :

@DavidSabbagh https://github.com/DavidSabbagh make_pipelines is
particularly important to become clean. I feel. Doc strings are absent.
There are also confusing parameter names. How can one understand the
difference between shrink and reg?
I think we have to document better the transformers/vectorisers and
perhaps, in make_pipelines, do methods_params as in
https://mne.tools/stable/generated/mne.compute_covariance.html?highlight=compute_covariance#mne.compute_covariance
Then we do good defaults for each option.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub
https://github.com/DavidSabbagh/meegpowreg/issues/11#issuecomment-824307449,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AIC2QGW5QX6RL4MMEQ65U2LTJ4SQPANCNFSM43I7K6WQ
.


RFC: MUI Bot Spec

Initial draft spec for muibot actions
Purpose
Describe the rules required for muibot, the data required from the webhook to test the conditions, the conditions that must be met to fire the rule, and the github API calls made in response.
I wrote it in pseudo code, with the payload showing the required fields and expected type from the webhook payload structure.
specSpec
The spec turned out quite long, so I wrote a spec for the spec. :wink:
const specSpec = {
  name: 'spec',
  type: 'array',
  description: 'Array of objects describing muibot rules.',
  structure: [
    {
      name: 'description',
      type: 'string',
      description: 'String describing the purpose of the rule.',
    },
    {
      name: 'conditions',
      type: 'array',
      description: 'Array of strings describing conditions that must be met for the rule to fire.',
    },
    {
      name: 'calls',
      type: 'object || array',
      description: 'API calls made if the conditions are met.',
    },
  ],
};

I resisted the temptation to write a spec for specSpec! (Isn't that what standards committees are for? :laughing: )
Spec
And the spec itself:
const spec = [
  {
    description: 'Label new PR as "PR: Needs Review"',
    conditions: [
      'event.name === "pull_request"',
      'event.payload.action === "opened"',
    ],
    calls: {request: 'POST /repos/:owner/:repo/issues/:number/labels', payload: ['PR: Needs Review']},
  },
  {
    description: 'Label an updated PR as "PR: Needs Review"',
    conditions: [
      'event.name === "pull_request"',
      'event.payload.action === "synchronize"',
    ],
    calls: [
      {request: 'DELETE /repos/:owner/:repo/issues/:number/labels/PR%3A+Needs+Revision'},
      {request: 'POST /repos/:owner/:repo/issues/:number/labels', payload: ['PR: Needs Review']},
    ],
  },
  {
    description: 'Label a line-commented PR as "PR: Needs Revision"',
    conditions: [
      'event.name === "pull_request_review_comment"',
      'event.payload.action === "created"',
    ],
    calls: [
      {request: 'DELETE /repos/:owner/:repo/issues/:number/labels/PR%3A+Needs+Review'},
      {request: 'POST /repos/:owner/:repo/issues/:number/labels', payload: ['PR: Needs Revision']},
    ],
  },
  {
    description: 'Label a commented PR as "PR: Needs revision"',
    conditions: [
      'event.name === "issue_comment"',
      'event.payload.action === "created"',
      'event.payload.comment.user.type === "Collaborator" || event.payload.comment.user.type === "Owner"',
      'event.payload.comment.body.includes("Please could you")',
    ],
    calls: {request: 'POST /repos/:owner/:repo/issues/:number/labels', payload: ['PR: Needs Revision']},
  },
  {
    description: 'Label a PR with failing CI build as "PR: Needs Revision"',
    conditions: 'unknown',
    calls: [
      {request: 'DELETE /repos/:owner/:repo/issues/:number/labels/PR%3A+Needs+Review'},
      {request: 'POST /repos/:owner/:repo/issues/:number/labels', payload: ['PR: Needs Revision']},
    ],
  },
  {
    description: 'Label a new PR with merge conflict as "PR: Needs Rebase"',
    conditions: [
      'event.name === "pull_request"',
      'event.payload.action === "open"',
      'event.payload.pull_request.mergeable === false',
    ],
    calls: {request: 'POST /repos/:owner/:repo/issues/:number/labels', payload: ['PR: Needs Rebase']},
  },
  {
    description: 'Label an updated PR with merge conflict as "PR: Needs Rebase"',
    conditions: [
      'event.name === "pull_request"',
      'event.payload.action === "syncronize"',
      'event.payload.pull_request.mergeable === false',
    ],
    calls: {request: 'POST /repos/:owner/:repo/issues/:number/labels', payload: ['PR: Needs Rebase']},
    note: 'Unknown if a merge conflict as the result of changes to HEAD generates an event for each PR. ' +
    'We may need to iterate all open PRs and check with "GET /repos/:owner/:repo/pulls/:number" ' +
    'each time a "pull_request {action: closed, merged: true}" event is received.',
  },
  {
    description: 'Delete "PR: Needs Rebase" label on an updated PR without merge conflict',
    conditions: [
      'event.name === "pull_request"',
      'event.payload.action === "synchronize"',
      'event.payload.pull_request.mergeable === true',
    ],
    calls: {request: 'DELETE /repos/:owner/:repo/issues/:number/labels/PR%3A+Needs+Rebase'},
  },
  {
    description: 'Label an accepted PR as "PR: Accepted"',
    conditions: [
      'event.name === "issue_comment"',
      'event.payload.action === "created"',
      'event.payload.comment.user.type === "Collaborator" || event.payload.comment.user.type === "Owner"',
      'event.payload.comment.body.includes("PR Accepted") || event.payload.comment.body.includes("LGTM")',
    ],
    calls: {request: 'POST /repos/:owner/:repo/issues/:number/labels', payload: ['PR: Accepted']},
  },
];

eslint complains that the spec is defined but never used. :smirk:
specSpecSpec
Okay, I lied - the spec for the spec has a spec, but it's self describing, so the committee can be disbanded! :neckbeard:
const specSpecSpec = {
  name: 'specSpec',
  type: 'array',
  description: 'Spec for the spec.',
  structure: [
    {
      name: 'name',
      type: 'string',
      description: 'Describes the purpose of the key-value pair.'
    },
    {
      name: 'string',
      type: 'string',
      description: 'Object type expected in the value.'
    },
    {
      name: 'description',
      type: 'string',
      description: 'Purpose of the key-value pair.'
    },
    {
      name: 'structure',
      type: 'array (optional)',
      description: 'Array of name/type/descriptions.'

Thanks. :blush:

I've added the spec as source to the repo, complete with version history so we can go back and see where in the event payload the PR# needs to come from without having to go back through the webhook docs.

Just a thought - If this is going to become the config, it might make sense to split it into separate files so that it's modular.

@mbrookes let me dial in the server and see if we need to make any small changes for it to consume the config -- I'd like the config to drive the behaviour almost completely.

and -- it'll be modular anyways if it is an array of definitions

Yes, I was just thinking about how this bot could potentially be useful to others, having the rules as files in a directory (the way botdylan works) would make adding or removing rules, or submitting new ones, a simple operation.

@mbrookes Your Math.pow(spec, 3) has bugs: name: 'string', :laughing:
Don't labels have ids? I mean using their name can be dangerous.

Well if that's the only problem overall, I'm happy!

I don't see much more. the logic is pretty solid :+1: :+1:

Cleaning up my obsolete issues.


Styleguide configuration

I have tried to integrate this boilerplate with several styleguides generators without success (react-styleguide-generator, react-styleguide-generator-alt, react-styleguidist)
Any chance to get one of them working with this boilerplate?
Thanks!

Coming very soon.
hint: watch ReactEurope

Since I'm starting a big project with this boilerplate, can you give us any hint on how to structure the code to make sure everything will work fine with it?
(need to include the styleguide static property, or jsdoc like comments, etc)
Thanks

I think the main thing is that you name all components index.jsx (notice the .jsx), which makes you able to reference just the components by doing:
components: './app/**/*.jsx',

That should fix most issues, then it's just a matter of copy-and-pasting the webpack config. (this example was using the react-styleguidist configuration option)
Let me know how you get along though!

I honestly haven't looked at that too much, I'll reopen the issue and see if anybody has done this sort of thing before!

This thread has not been active for 3 weeks now but I think the discussion should go on. Code style is very important for consistency within a developer team.
Why not integrate something as the proposition for a standard js style into the project ? It would certainly require some fixing but could be worth it.

This has nothing to do with code style, it's about styleguides like http://ux.mulesoft.com, https://marvelapp.com/styleguide/,…
While it's not quite a styleguide, we're hard at work making Carte Blanche compatible with this boilerplate (almost there!), so I'll close this for now.

Also trying to setup a styleguide, any updates on this?

From Carte Blanche README.md

IMPORTANT: Since Max & Nik are quite busy with other projects this project is not maintained at the moment, but we hope to get back to it early 2017.

Any news?

Attempting to integrate react-styleguidist with the latest dev branch but getting the following error...
Uncaught TypeError: Cannot read property 'tokTypes' of undefined
    at module.exports (buble.es.js?:sourcemap:716)
    at eval (buble.es.js?:sourcemap:7646)
    at Array.reduce (<anonymous>)
    at Object.eval (buble.es.js?:sourcemap:7646)
    at eval (buble.es.js?:sourcemap:7721)
    at Object../node_modules/buble/dist/buble.es.js (reactBoilerplateDeps.dll.js:96)
    at __webpack_require__ (reactBoilerplateDeps.dll.js:21)
    at eval (buble.es.js from dll-reference reactBoilerplateDeps?0688:1)
    at Object../node_modules/buble/dist/buble.es.js (main.bundle.js:868)
    at __webpack_require__ (main.bundle.js:707)

Seems like a webpack/babel error from what I can tell (something with acron.tokTypes).
Anyone with luck getting these two projects working together?

Figured out my issue... thought I would share in case someone else has a similar problem. My issue stemmed from how webpack was being configured (the sequence to be exact). The example below shows what I did to force the proper sequence when configuring with react-styleguidist.
// sample styleguide.config.js
module.exports = {
  dangerouslyUpdateWebpackConfig(webpackConfig, env) {
    const reactBoilerplateWebConfigFile =  'webpack.' + (env === 'development' ? 'dev' : 'prod' ) + '.babel';
    const reactBoilerplateWebConfig = './internals/webpack/' + reactBoilerplateWebConfigFile;
    return Object.assign(
      {},
      require(reactBoilerplateWebConfig),
      webpackConfig
    );
  },
  components: './app/@(components|Components)/**/*.{js,jsx}',
};

HTH :)


ecs-agent: 1.73.1 -> 1.75.0

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/aws/amazon-ecs-agent/releases.
meta.description for ecs-agent is: The agent that runs on AWS EC2 container instances and starts containers on behalf of Amazon ECS
meta.homepage for ecs-agent is: https://github.com/aws/amazon-ecs-agent
meta.changelog for ecs-agent is: https://github.com/aws/amazon-ecs-agent/raw/v1.74.1/CHANGELOG.md
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.74.1 with grep in /nix/store/zzdc9kqcan81p73wibhvi6yka60w4yys-amazon-ecs-agent-1.74.1
found 1.74.1 in filename of file in /nix/store/zzdc9kqcan81p73wibhvi6yka60w4yys-amazon-ecs-agent-1.74.1

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
ecs-agent

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/zzdc9kqcan81p73wibhvi6yka60w4yys-amazon-ecs-agent-1.74.1 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ecs-agent https://github.com/r-ryantm/nixpkgs/archive/b95e3ad328db78ad7c04d42a597b52b94a4d5de5.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/zzdc9kqcan81p73wibhvi6yka60w4yys-amazon-ecs-agent-1.74.1
ls -la /nix/store/zzdc9kqcan81p73wibhvi6yka60w4yys-amazon-ecs-agent-1.74.1/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

ecs-agent

Maintainer pings
cc @copumpkin for testing.

Automatic update generated by nixpkgs-update tools. This update was made based on information from https://github.com/aws/amazon-ecs-agent/releases.
meta.description for ecs-agent is: The agent that runs on AWS EC2 container instances and starts containers on behalf of Amazon ECS
meta.homepage for ecs-agent is: https://github.com/aws/amazon-ecs-agent
meta.changelog for ecs-agent is: https://github.com/aws/amazon-ecs-agent/raw/v1.75.0/CHANGELOG.md
Updates performed

Golang update

To inspect upstream changes

Release on GitHub

Compare changes on GitHub

Impact

Checks done (click to expand)

built on NixOS
The tests defined in passthru.tests, if any, passed
found 1.75.0 with grep in /nix/store/byc6vr0m34xcip04v3jrlyn270jv7ybx-amazon-ecs-agent-1.75.0
found 1.75.0 in filename of file in /nix/store/byc6vr0m34xcip04v3jrlyn270jv7ybx-amazon-ecs-agent-1.75.0

Rebuild report (if merged into master) (click to expand)

1 total rebuild path(s)

1 package rebuild(s)

First fifty rebuilds by attrpath
ecs-agent

Instructions to test this update (click to expand)

Either download from Cachix:
nix-store -r /nix/store/byc6vr0m34xcip04v3jrlyn270jv7ybx-amazon-ecs-agent-1.75.0 \
  --option binary-caches 'https://cache.nixos.org/ https://nix-community.cachix.org/' \
  --option trusted-public-keys '
  nix-community.cachix.org-1:mB9FSh9qf2dCimDSUo8Zy7bkq5CX+/rkCWyvRCYg3Fs=
  cache.nixos.org-1:6NCHdD59X431o0gWypbMrAURkbJ16ZPMQFGspcDShjY=
  '

(The Cachix cache is only trusted for this store-path realization.)
For the Cachix download to work, your user must be in the trusted-users list or you can use sudo since root is effectively trusted.
Or, build yourself:
nix-build -A ecs-agent https://github.com/r-ryantm/nixpkgs/archive/f3521c1e551a6e2bc799e339382a18732a50ec97.tar.gz

After you've downloaded or built it, look at the files and if there are any, run the binaries:
ls -la /nix/store/byc6vr0m34xcip04v3jrlyn270jv7ybx-amazon-ecs-agent-1.75.0
ls -la /nix/store/byc6vr0m34xcip04v3jrlyn270jv7ybx-amazon-ecs-agent-1.75.0/bin

Pre-merge build results
We have automatically built all packages that will get rebuilt due to
this change.
This gives evidence on whether the upgrade will break dependent packages.
Note sometimes packages show up as failed to build independent of the
change, simply because they are already broken on the target branch.
Result of nixpkgs-review run on x86_64-linux 1

1 package built:

ecs-agent

Maintainer pings
cc @copumpkin for testing.


Make IFileSystem actions GetFileInfo, GetDirectoryContents async

From @Praburaj on Wednesday, December 17, 2014 1:50:37 PM
Copied from original issue: aspnet/FileSystem#30

Thanks for your feedback. We appreciate your letting us know about the problem you've encountered or suggestion but we are not planning to take further action on this issue because our focus has been on issues with significantly higher customer interest and issues impacting a broad number of customers.


Add CI for notebook formatting with nbfmt

Previewing notebook diffs in GitHub can be difficult. We wrote nbfmt.py to normalize the formatting for notebooks—alpha sort JSON keys, set indentation, etc.
After some successful manual tests (https://github.com/tensorflow/docs-l10n/pull/114, https://github.com/tensorflow/docs/pull/1498), the next step is to add it to the CI for new pull requests.

This is now working for new pull requests (and updates to existing ones)


Build dependencies

After following the build instructions I get an error during compilation with qt4.8:
In file included from src/main.cpp:1:0: src/miomain.h:8:30: fatal error: QCommandLineParser: Datei oder Verzeichnis nicht gefunden  #include <QCommandLineParser>
From searching online I get the impression, that QCommandLineParser was introduced with qt5.2.

Ok, again I broke the compatibility with QT4.8...
Qt5.2 is about 3 Years old. Do you think backward compatibility to QT4.x ist still needed? What distro are you on?

After retrying with QT5 compilation works fine for me. I guess all it takes is an update of the build instructions.

updated the buid depencencies

$ make
g++ -c -m64 -pipe -std=c++11 -O2 -Wall -W -D_REENTRANT -DQT_DEPRECATED_WARNINGS -D__LINUX_ALSA__ -D__MIO_DEBUG__ -D__RTMIDI_DEBUG__ -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++-64 -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I/usr/include/libusb-1.0 -I. -I. -o main.o src/main.cpp
In file included from src/main.cpp:1:0:
src/iconnconfigmain.h:8:10: fatal error: QCommandLineParser: No such file or directory
#include
^~~~~~~~~~~~~~~~~~~~
compilation terminated.
Makefile:516: recipe for target 'main.o' failed
make: *** [main.o] Error 1
$ locate QCommandLineParser
/usr/include/x86_64-linux-gnu/qt5/QtCore/QCommandLineParser

After I ran

$ sudo apt-get install qt4-qmake-dev libqt4-dev libasound2-dev libusb-
1.0-0-dev
to satisfy other installation dependencies, but still failed on
QCommandLineParser:
$ qmake --version
QMake version 2.01a
Using Qt version 4.8.7 in /usr/lib/x86_64-linux-gnu
$ pkg-config --modversion QtCore
4.8.7
On Mon, 2018-11-19 at 01:25 -0800, Holger Dehnhardt wrote:

@MatthewGitter Do you use QT >= 5.2?
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Then everything is ok. You still need QT5.2 or later and as you clearly stated you have only4.8.x.

So QT5.2+ is required for installing this project?

On Mon, 2018-11-19 at 12:49 -0800, Holger Dehnhardt wrote:

Then everything is ok. You still need QT5.2 or later and as you
clearly stated you have only4.8.x.
—
You are receiving this because you were mentioned.
Reply to this email directly, view it on GitHub, or mute the thread.

Ok, thanks for the finding. I will add that tip that in the dependencies file,


Can't interact with the screen?

The only thing I can interact with is the config for this mod in the top left corner. It's like the left mouse button were disabled for everything that isn't a different interface like inventory, pause menu and, well, the mods config screen. This also only happens when in a lobby and I am very sure that I'm using the newest version from few hours ago I believe. in addition to that- the zip file from the download contains more than just the mod which was rather confusing in the beginning.
pls fix, kthxbye :D

Personally I can interact with the inventory and escape/settings menu fine, but in the game, I cannot interact with the top right buttons as well as the YAAM GUI just like you.

fixed in 1.5.5 i hope


Remove the final modifier for private methods

Sorry, I accidentally duplicated this in https://github.com/hhvm/xhp-lib/commit/d6893af6ae916dbf5e657cfc10d6d9b44bed7678


[Feature] Support for Dynamic Partition Pruning on Merge

Hi,
Spark 3.0 has support for dynamic partition pruning, so it will be very good if delta supports this feature on merge. Today is necessary to collect() partition values from the new dataframe to make a filter condition in delta merge.
With this feature it will be much easier to make the merge and probably a lot of performances improvements.

@rubenssoto have you seen extreme latency when collecting() the partition values to produce filter conditions for the merges? We are trying this approach and while it gets rid of the exceptions, it is miserably slow for us at scale. All in all, a dynamic partition pruner would be amazing to have built in.


Update Composer dependencies (2023-06-01-00-09)

Visual regression test passed!
View the visual regression test report


Allow adding apps and groups to workspaces

This change allows users to add Apps and Groups to Power BI workspaces. It follows the specification of the "Add Group User" REST API.

Looks like this would address issue #174.


Refactor all group-commands into their own packages

Won't do: Tried this and doesn't help code quality at this point.
Just do this ad-hoc when needed for seperate commands.


Tracking Issue: Incremental PR for Primitive Types in Proptests

We will merge into a feature branch for code review.

[ ] #1516: CI and infra

Blocked on license issue.

[ ] TBD: Strategy, runner and macro
[ ] TBD: Arbitrary
[ ] TBD: booleans and tuples
[ ] TBD: proptest::prelude
[ ] TBD: numbers
[ ] TBD:

Replaced by #1608


Rabin Karp Algorithm C++ code

Description
Rabin Karp algorithm matches the hash value of the pattern with the hash value of current substring of text, and if the hash values match then only it starts matching individual characters. So Rabin Karp algorithm needs to calculate hash values for following strings.
-Pattern itself.
-All the substrings of the text of length m.
Fixes #397
-Code is well commented
-Code added under the Algorithm folder
-Code contains the details of time and space complexity

@Amit-45 take input from user

@Amit366 I have updated my pull request according to your needs . Please have a check .


Error handling with event subprocess does not execute "catch" and "finally" blocks of a parent process's task handler

Describe the bug
I suppose that error handling with event subprocess as described in Error handling in Kogito doesn't work as expected. When task handler code throws an exception, code execution flow breaks immediately and passes to subprocess for error handling. Thus, "catch" and "finally" blocks do not get executed. I suppose that they must be executed before passing to error handling subprocess.
For example, I tried to capture trace log for any technical error within a process. This works as expected with boundary error event. When I switch to event subprocess code execution stop at "throw new IllegalArgumentException("Exception")" and never reach "catch" and "finally" blocks.
@ApplicationScoped
public class TaskHandler {
  public void Execute() throws Exception {
    try {
          throw new IllegalArgumentException("Exception");
        }
    } catch (Exception e) {
      Log.trace(ExceptionUtils.getStackTrace(e));
      throw e;
    } finally {
      Log.info("Reached finally block");
    }
  }
}

Expected behavior
"catch" and "finally" blocks must be executed before passing to error handling subprocess
Actual behavior
"catch" and "finally" blocks do not execute before passing to error handling subprocess
How to Reproduce?
No response
Output of uname -a or ver
No response
Output of java -version
No response
GraalVM version (if different from Java)
No response
Kogito version or git rev (or at least Quarkus version if you are using Kogito via Quarkus platform BOM)
No response
Build tool (ie. output of mvnw --version or gradlew --version)
No response
Additional information
No response

@tokarenko Can you provide a reproducer with a bpmn?

I can't reproduce anymore. Works as expected.


set download folder

Hello,
I installed the container on my qnap, but I'm not able to set the download folder on my NAS where downloaded files will be stored.
i'm using this string: -v $HOME/Downloads:/"NasName"/share/JD2:rw \
thanks in advance

solved configuring user permission and the correct path for folders

solved configuring user permission and the correct path for folders


Add retries if checking version fails

pre-commit is stuck waiting, merging without it since it ran fine locally.


Update dropdown attribute

Codecov Report

Merging #47 (9a7fd29) into main (9477566) will increase coverage by 3.01%.
The diff coverage is 88.88%.

:exclamation: Current head 9a7fd29 differs from pull request most recent head d4a9a03. Consider uploading reports for the commit d4a9a03 to get more accurate results

@@            Coverage Diff             @@
##             main      #47      +/-   ##
==========================================
+ Coverage   69.77%   72.78%   +3.01%
==========================================
  Files         128      128
  Lines        2395     2403       +8
  Branches      190      192       +2
==========================================
+ Hits         1671     1749      +78
+ Misses        724      654      -70

Impacted Files
Coverage Δ

.../Attributes/ValueFromListAttributeConfiguration.cs
78.26% <87.50%> (+62.47%)
:arrow_up:

...omListAttributeConfigurationCreateUpdateRequest.cs
100.00% <100.00%> (+100.00%)
:arrow_up:

...ngProfiles/AttributeConfigurationMappingProfile.cs
100.00% <0.00%> (+9.75%)
:arrow_up:

...els/Attributes/ValueFromListOptionConfiguration.cs
63.63% <0.00%> (+45.45%)
:arrow_up:

...tributes/ValueFromListOptionCreateUpdateRequest.cs
100.00% <0.00%> (+100.00%)
:arrow_up:

...on/Attributes/ValueFromListConfigurationUpdated.cs
100.00% <0.00%> (+100.00%)
:arrow_up:

...es/ValueFromListAttributeConfigurationViewModel.cs
100.00% <0.00%> (+100.00%)
:arrow_up:

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


Rudimentary support for handling proper pluralisation of units

This commit adds the ability to write format strings like "m [minutes?]" to have format() pluralise the unit correctly: The 's' will be dropped or included based on the value of the previous time field in the format string.
It's very simple, of course, and could probably use more flexibility.

Just came back to this repo looking to see if this functionality was available and you've already done it! +1 for the use case.

This is what I came looking for. :+1:

@00Davo , would you mind provide a  jsfiddle or codeopen or something else to show the ability

+1

Sure thing, and sorry for the delay! http://codepen.io/00Davo/pen/EVRvgx/

oh, i get it. it is pretty good for English users.

Sorry for the delay on this... changed my notification settings for my new job back in March and I've missed a lot of stuff on this project.
This seems like a nice feature!

Any chance this can be merged and published?

A merge on this would be real useful.

As this is quite simple approach, assuming that the difference between a pluralised and single form is only one letter. It would probably fail miserably when i18n is brought into picture.
For example here are a couple of different formattings of a month in Finnish:

English
Finnish
English plural
Finnish plural

Future (expires)
in a month
kuukauden päästä
in two months
kahden kuukauden päästä

Past (expired)
a month ago
kuukausi sitten
two months ago
kaksi kuukautta sitten

Duration (valid for)
a month
kuukausi
two months
kaksi kuukautta

Duration (that lasts)
a month
kuukauden
two months
kaksi kuukautta

Yeah, Finnish, it's complex.
Anyways, what I'm trying to say, flexibility is the key here and maybe accepting a function in addition to the given suggestion would be a good idea.

Any update on this PR?

I was wondering how to pluralise and singularise formats, but this doesn't work for me:
var valorTiempoFormateado = moment.duration(5741, 'seconds').format("d [dias?,] h [horas?,] mm [minutos?,] ss [segundos?]");
$("#valorTiempoDiputacion").text(valorTiempoFormateado);
Does print:
1 horas, 35 minutos, 41 segundos

This would be a great feature to have. Any movement on this?

This pr seems not existed in current version?
Is there any way else to achieve this goal?

We should get this in even if it's only for English.

You can do like this with Es6.... moment.duration(120, "minutes").format(h [${(timeOnline >  120) ? "hours" : "hour"}])}

I've pushed a new version of the plugin to the master branch. It's labeled as version 2.0.0b1 in the js file.
This version extends the moment en locale so that duration unit strings will be auto-singularized. e.g. instead of outputting 1 minutes or 1 mins, the plugin will now automatically output 1 minute or 1 min. It should be a simple matter to extend any other moment locale object in the same manner to have the same effect in another language.
This version also implements largest as well as trim: "both" (which can be used in conjunction with largest).
Basic documentation for the new options can be found in the js file in the default options section. I'll add documentation to the readme in the next few days. Once I've done that, added a few more tests, and reviewed the other open issues, I'll publish version 2.0.0.


Preliminary package structure

The boilerplate package files such at the setups should be added before first release.

#5