[QUESTION] How much is Semver used here?

Hey, first of all, thank you very much for your work! But I would have one concern:
How much is Semver used here? I saw that features were added in the patch release (v1.1.1), which is not allowed.
My fear is that BC breaks can occur in feature or even in patch releases that are not expected as a cluster maintainer.
I just wanted to ask how you do it exactly, so that I can adjust to it.
Thanks!

For patch releases we try to limit feature additions to enhancements that are mostly independent from the rest of the system, so that potential issues would only impact the newly added feature and not the stability of the rest of the system.
(i.e. if you don't uses it there is no concern)
Sometimes we do make exceptions to this rule when we feel like the value of the feature is high enough that we really want it in the next release, while the risk/scope is small enough to minimize risk. During the release process we also run full regression testing (automated + manual tests) to further minimize risks.
The last case is where a feature addition is really important for the stability of the system, as an example we added parallel s3 lookups for the backupstore, depending on view point this could be considered a feature addition or a bug fix :)
cc @innobead @yasker

+1 of @DavidBadura sentiment.
I´m so excited about the upcoming features and the evolution pace of longhorn. I´m particularly craving for some speed improvements. However, the amount of new functionality on a x.x.1 release makes me uneasy about running on a production cluster

@DavidBadura @bratao Thanks for the feedback. Actually, there is an ongoing plan for the following release cadence.
Basically, this idea is to align with the concept of Semantic Version to match user expectation and version understanding for better manage their longhorn deployment. For example, a new minor release will be the next latest release including new enhancements/features/bugfixes/etc, but we still have one more patch release with bugfixes included only, then users can determine which release to upgrade.
Please expect the following change.

Thank you for the answers. It sounds good! Feel free to close this ticket :-)
Thanks again for the amazing work!


Creating a more advanced and attractive web page with enhanced details

I want to create an attractive web page of this with the name of project canva editor, logo of project, a navigation bar and restart buttons with little more details like the name of specific button. Kindly assign this issue to me.
And also i request you to add necessary labels like hacktoberfest, gssoc ext.

@ParulPrashar I'm assigning this issue to you.

Sir kindly provide the logo or icon of website

@vishanurag Sir kindly provide the logo or icon of website

Feel free to design or use logo of your choice 🙂.

Okay sir, started working

adding header and footer to the website and give better look to the website , Assign me  for this , I like to work on it

sir this is a great project i would like to make it much better by adding some creativity...like...
header
footer
animations
good layot...
kindly provide this issue to me...
thank you!!

@vishanurag sir assign please


Stream sources

What kind of change does this PR introduce? (Bug fix, feature, docs update, ...)

Stream sources before answer as [{title,text,source},...].
Source contains text not more than 100 characters.
Sync the /stream changes in the client side.

Why was this change needed? (You can also link to an open issue here)

Avoids calling /search after every query

Thank you!


Updating the readme

Type of change

[ ] Bug fix (change which fixes an issue)

[ ] New Feature (change which adds functionality)

[ ] Refactor (change which changes the codebase without affecting its behavior)

[x] Non-breaking change (fix or feature that would cause existing functionality to work as expected)

[ ] Breaking change (fix or feature that would cause existing functionality to not work as expected)

The problem you are solving
We did not have an extensive readme
Your solution to the problem
Wrote a readme file.
Any notes on testing this functionality
Still need to upload assets for the readme
Screenshots

Thanks for updating README


MR Core Control Module support

Our outreach bots are using Modern Robotics Core Control Modules.  Are MR modules still supported in the latest RobotController SDK?

I think they are, for now, but given that MR is illegal for competition, I wouldn't be surprised if support was broken in future updates this season.

Ok thanks.  We could always use an older version of the SDK if and when support for MR modules is removed.  It would be more convenient if support were not removed.

Looks like there is still support if you look at the Extracted-RC, courtesy of OpenFTC, which is linked in the bintray for the SDK modules. Since the resources are now on bintray, you can always use the most recent version of support for the modules (i.e. 6.0.1 as of now).

@AlecHub Unfortunately you will have to use an older version of the SDK if you'd like to use the MR modules for your outreach or demo bots.

@AlecHub I was incorrect.  Apparently the support for the older MR core control modules is still included in v5.5 and v6.0 versions of the software.  You should be able to use the current software with the older MR modules.


more tests for slugify

Description:
While I was playing with slugify, I figured out a bunch of assumptions what slugify should return in certain cases. I added these to the test.
No changes to non-test code in the PR.

Thanks!


Provide a finish method on IonWriters

Right now, if I want to use an ion writer, I need to write code like this:
let mut sink = Vec::new();

// Scope needed so I can access `sink` after writing
{
    let mut writer = TextWriterBuilder::default().build(&mut sink)?;
    // do something with writer
    writer.flush()?;
}

// do something with `sink`

or
let mut sink = Vec::new();

let mut writer = TextWriterBuilder::default().build(&mut sink)?;
// do something with writer...
writer.flush()?;
drop(writer);  // <-- Annoying that I have to remember to call drop here

// do something with `sink`

I've taken to defining a finish extension function in various places to make this more sensible
trait IonWriterExt {
    fn finish(self) -> IonResult<()>;
}

impl<W: IonWriter> IonWriterExt for W {
    fn finish(self) -> IonResult<()> {
        self.flush()
        // drops self
    }
}

which allows me to write code like
let mut sink = Vec::new();

let mut writer = TextWriterBuilder::default().build(&mut sink)?;
// do something with writer...
writer.finish()?;
// look ma, no drop!

// do something with `sink`

It would be nice if ion-rs supported this out of the box.

Yeah, this is something I've stubbed my toe on too. I initially held off on it because I had (have!) hope that we'll add an API to re-use a writer's existing resources to start a new stream while avoiding reallocations. That's something I can easily add a separate method for though.
Should finish() return the output so you don't have to remember to pass a &mut?
In the meantime, the writer API has a fn output(&self) -> &Self::Output method (and a mut_output) that lets you get a handle to the output source without dropping the writer.
let mut sink = Vec::new();
let mut writer = TextWriterBuilder::default().build(&mut sink)?;
writer.write_symbol("foo")?;
writer.flush()?;
assert_eq!(writer.output(), "foo".as_bytes());

Not ideal, but often good enough for simple uses like unit tests.

Should finish() return the output so you don't have to remember to pass a &mut?

Yes, that would be excellent.

In the meantime, the writer API has a fn output(&self) -> &Self::Output method (and a mut_output) that lets you get a handle to the output source without dropping the writer.

This only really works if you don't need to pass along ownership of the sink, which we're often doing.  Like you said, good for unit tests, but impractical for real-world code.

Completed with #720


what its the default password?

hello, i have one cuestion, what its the default username and password for this application?, thanks for share

Not resolv


Open SidebarCollapsibleCards swap open and closed states when dragged

I noticed an issue where SidebarCollapsibleCards swap their open and closed states when dragged:

It seems like the "open" state is remembered on the component in a particular position in the array and not the component itself.
Thanks for your help!!

Thanks!! On it :)

Investigated… So! The Sortable component (using an external library, react-sortable-hoc) is doing unpredictable things with child component state.
I have no idea what that is yet… still trying to figure it out.
It works perfectly fine if child components are stateless though.
This is important because the SidebarCollapsibleCards maintain their own isOpen state.


Store Cookie Manager in Session State

st.session_state can be used to store persistence variables that will stay the same during reruns.
The cool thing is that every user/session (A session is a browser Tap in this case) has its own Session State.
You currently can't  use the Cookie Manager really in Shared Environments

Security Note: In shared domains such as share.streamlit.io, other web developers can have access to the cookies you set and the same goes for you. This is not to be treaded as security bug but a circumstance the developer need to be aware of.

If I understand correctly, this is because the cookie manager stores a local copy of all cookies.
https://github.com/Mohamed-512/Extra-Streamlit-Components/blob/9bd08dc4059952dab1a95a6e0727ccd21eb6b60a/extra_streamlit_components/CookieManager/__init__.py#L19
class CookieManager:
    def __init__(self, key="init"):
        self.cookie_manager = _component_func
        self.cookies = self.cookie_manager(method="getAll", key=key, default={})

But by using Session State each user would get their own Manager → No Leaked Cookies.
if "cookie_manager" not in st.session_state:
        st.session_state.cookie_manager = stx.CookieManager(
            key="cookie_manager",
        )

Am I missing something, or would this be a better approach?
@Mohamed-512

You can't use cookies in shared environments, because cookies are tied to the domain in user's browser (i.e. on client side). Session state has nothing to do with that at all.


Add Rspamd plugin

I have reviewed and tested this plugin and the version in this PR is working. There's one more issue that I've seen and that's that rspamd returns data structures in this format:
{
    { name: A_SPF_RESULT, score: -1 }
}

Those nested data structures don't lend themselves well to logging not to nice indexable answer in Elasticsearch. I have some local changes I'll submit soon that address this.

@msimerson
That format shouldn't be a problem for ES provided it's mapped as an object.  You would then simply reference it via parent_field.name and parent_field.score.   Kibana 3 didn't handle those formats though IIRC, haven't tried Kibana 4.

I've already got an open PR that makes it spit out useful log messages and ES results that don't require custom mappings. I expect that when @fatalbanana wakes up, he'll merge and we'll all be happy with this new plugin.

Ok

I've added passing of sender/recipient/user/uuid information- it should be functionally-complete now.

Thanks Andrew - I looked at Rspamd years ago and TBH I'd forgotten about it.   It looks much improved since then and I'm looking forward to trying it again now with your plugin.

I've been testing rspamd. I delayed rejecting spammy connections until data_post, so that most connections would be exposed to both spamassassin and rspamd. In general, if SpamAssassin would have detected it as spam, so too does rspamd. When SA is confident it's spam, so too is rspamd.
When handling indeterminate mails in that are not clearly ham/spam, neither seems to have a particular advantage. Rspamd seems a fair bit more reliant, and scores more heavily on URIBL lookups. Once a domain gets listed (I've watched a few dozen [youreyesightabout | glucosehistorica l diabetescureforyou].us domains arrive on the URIBL as they're cycled through, before the spamming IP or it's URLs gets blacklisted. Of those certain spams, sometimes SA is better, sometimes rspamd is better. Of the messages I've inspected where rspamd suggested an action of greylist, about half were  spam and the rest were hammy transactional messages (examples: amctheatres.com, famousfootwear.com, and other small reputable businesses using an ESP).
Of the indeterminate messages that neither scanner properly detected as ham/spam, most (~75%) were blocked by karma, based upon neighbor (ASN) reputation. To me, this suggests that neither SA nor rspamd weigh ASN reputation as heavily as karma. The other big win for blocking those certain spams (~20%) is limiting the QoS for senders with poor IP or ASN reputation to a single (limit plugin) very slow (karma plugin progressive tarpits) connection. By making each of their attempts take 30-60 seconds to fail, the DNSBLs get time to update and future connections are much more likely to get detected by SA and rspamd (as well as DNSBL and URIBL plugins).
The biggest difference between SA and rspamd is processing time. I added timers to both plugins, so that I could compare the processing time spent by both.The average time spent by SA sampled over 1000 messages is 1.4 seconds per message. With rspamd, the average is 0.3s per message. My volume isn't high enough on this server to effectively measure CPU usage but it seems apparent that rspamd would support much higher throughput.
The WebUI is also quite pretty.

Interesting stuff Matt.   I'm not going to be in a position to try rspamd in production for a week or two.  Given that I'm far more aggressive with up-front rejections and I have a very effective greylisting plugin that will run before the rspamd plugin - I suspect that my results will likely be worse, given that URIBL hits are rejectables here.
One thing that does interest me is the fuzzy algorithms as I have a 'training mode' in my Haraka implementation which currently trains DSPAM on stuff that I'm confident is spam (e.g. honeypot addresses, DNSBL + other markers), so it might be interesting to use this to generate fuzzy patterns and OSB bayes tokens in rspamd and see what effectiveness that provides.   The only problem is that the docs say you can use the HTTP interface to tell rspamd to learn the fuzzy matches from a message, but it doesn't actually say how to do that (it gives an example using rspamc binary).

the docs say you can use the HTTP interface to tell rspamd to learn the fuzzy matches from a message

I noticed that too, and I'm asking the authors for details about the HTTP options that are passed to rspamd in the request. I have a lot more connection metadata that could be passed in, if it could be useful for training fuzzy and bayes.
However, that Learning tab you see in the image above? You can copy/paste messages in there for training, so it wouldn't be too hard to inspect that HTTP request and replicate it in your own training routines.

To train bayes & fuzzy post at the controller (post 11334):
/fuzzyadd and /fuzzydel with following headers:
Weight:
Flag:
Password(?)
/learnham & learnspam
Password(?)

Nice API... thanks @fatalbanana!

@msimerson , that's really a splendid comparison. I'm asking if I can use your results somewhere in rspamd documentation? And you have really moved ASN reputation implementation closer to the top of my TODO list :)

Certainly, use away.


Image creation fails with no meaningful errors

i'm trying to build an image with
    const buildContext = path.resolve(__dirname, '../../');
    try {
        const container = await GenericContainer.fromDockerfile(buildContext)
        .build();
    }
    catch (e) {
        console.log(e);
    }

and that just fails after ~40 seconds w/o giving any reasonable error message:
  testcontainers INFO: Using Docker defaults +0ms
  testcontainers INFO: Building image '4e0f7a06234ada9ac05edc4a278b7a09:1fb761b7a169152a983a78ee352eeafb' with context '/Users/me/project' +1ms
Error: Failed to build image
    at GenericContainerBuilder.<anonymous> (/Users/me/node_modules/testcontainers/dist/generic-container.js:44:23)
    at Generator.next (<anonymous>)
    at fulfilled (/Users/me/node_modules/testcontainers/dist/generic-container.js:4:58)
    at processTicksAndRejections (internal/process/task_queues.js:97:5)

i can see that the building starts, but cannot get logs from the 'build' container
Error response from daemon: configured logging driver does not support reading
running node v14.3.0 on macOS 10.13.6 and docker desktop <IP_ADDRESS> (39773) engine 19.03.4
building the container manually works fine.
is there a way to get logs from the 'build' container?

i did some more investigation and found the root issue: build ignores .dockerignore.

Fixed in 2.13.0, container output is now TRACE logged with the container ID:

I will raise a separate issue to address .dockerignore being ignored


parent directory is world writable but not sticky

Error: parent directory is world writable but not sticky
Please report this bug:
https://github.com/Homebrew/linuxbrew/blob/master/share/doc/homebrew/Troubleshooting.md#troubleshooting
/usr/local/rvm/rubies/ruby-2.2.1/lib/ruby/2.2.0/tmpdir.rb:92:in mktmpdir' /home/ubuntu/.linuxbrew/Library/Homebrew/utils/fork.rb:6:in safe_fork'
/home/ubuntu/.linuxbrew/Library/Homebrew/formula_installer.rb:553:in build' /home/ubuntu/.linuxbrew/Library/Homebrew/formula_installer.rb:219:in install'
/home/ubuntu/.linuxbrew/Library/Homebrew/cmd/install.rb:189:in install_formula' /home/ubuntu/.linuxbrew/Library/Homebrew/cmd/install.rb:94:in block in install'
/home/ubuntu/.linuxbrew/Library/Homebrew/cmd/install.rb:94:in each' /home/ubuntu/.linuxbrew/Library/Homebrew/cmd/install.rb:94:in install'
/home/ubuntu/.linuxbrew/Library/brew.rb:145:in `'

brew doctor tells you how to fix this.

I the same issue.  How do you run disk utility?

That doctor message might need to be updated for Linuxbrew.

I've fixed the doctor message for Linuxbrew. It should now display
Please execute `sudo chmod +t /tmp` in your Terminal


T02.03-Solution-DisplayUrl

Done!

PR is requesting we merge changes from later lesson branches into earlier lesson branches.
We will not be doing this as these branches are set-up this way on purpose for the course.


Does rulebook allow it to play a specific role based playbook?

For ansible-playbooks I have an ansible.cfg file that allows me to change the roles directory, Does ansible-rulebook allow me to do the same?  Does the runner call ansible-playbook to where your playbook is?
ansible.cfg
[defaults]
additional paths to search for roles in, colon separated
roles_path    = ./roles
ansible-rulebook -r rulebook.yaml -i inventory.yml --verbose
rulebook.yaml

name: Read messages from a kafka topic and act on them
hosts: all
Define our source for events
sources:

ansible.eda.kafka:
host: localhost
port: 9092
topic: eda-topic
group_id:

Define the conditions we are looking for
rules:

name: Say Hello
condition: event.message == "Ansible is cool"
Define the action we should take should the condition be met
action:
run_playbook:
name: expand-vm-disks.yaml

expand-vm-disks.yaml

hosts: localhost
gather_facts: false
vars:
guest_os: "{{ lookup('env','guest_os') }}"
roles:

expand-vm-disks

pwd
/ansible/rulebook.yaml
/ansible/inventory.yaml
/ansible/expand-vm-disks.yaml
/ansible/ansible.cfg
/ansible/roles/expand-vm-disks/tasks/main.yaml
ERROR:
2023-03-09 21:05:05,789 - ansible_rulebook.builtin - INFO - Calling Ansible runner
ERROR! the role 'expand-vm-disks' was not found in /tmp/run_playbooky5u9tb11/project/roles:/root/.ansible/roles:/usr/share/ansible/roles:/etc/ansible/roles:/tmp/run_playbooky5u9tb11/project
The error appears to be in '/tmp/run_playbooky5u9tb11/project/expand-vm-disks.yaml': line 39, column 7, but may
be elsewhere in the file depending on the exact syntax problem.
The offending line appears to be:
roles:
- expand-vm-disks
^ here

Hi @darthVikes Thanks for your feedback.
Ansible-rulebook uses ansible-runner to execute ansible-playbook within a custom and temporal directory where the playbook, the inventory or variables are passed. Currently there is no support for custom config files for ansible. You can create a feature request in ansible-rulebook project.
As a workaround I suggest use your custom config through the ANSIBLE_CONFIG environment variable or moving that config into the default expected paths, like ~/.ansible.cfg you can see more details in the ansible documentation.

Humm, ok tried adding ANSIBLE_CONFIG  and copying it to ~/.ansible.cfg, but same issue.

Gotcha! thanks! Apprecate the quick response.

Question was answered.


[WIP] Clean integration with Exciting

This API will go into their develop branch. Some cleanup changes break CP2K interface, so this should be fixed before merging.

bors try

@mtaillefumier This PR deprecates two functions from the API (sirius_get_num_spin_components and sirius_get_num_bands) and moves them to sirius_get_parameters. Fortran code can now do call sirius_get_parameters(num_spins=...), call sirius_get_parameters(num_bands=...). This breaks CP2K interface. Can you please check when it's time to adjust CP2K and merge this PR?

That's fine. I can fix cp2k when I update with the latest version of SIRIUS. So you can merge it.

bors try


Log4j Patch - Wrong flags for version

Describe the problem
I'm running a Minecraft 1.16.5 Purpur server and the Log4j JVM flags don't match the official Minecraft instructions

1.12-1.16.5: Download this file to the working directory where your server runs. Then add the following JVM arguments to your startup command line:
-Dlog4j.configurationFile=log4j2_112-116.xml

However, my JVM flags are the following:
java -XX:+UseShenandoahGC -XX:+AlwaysPreTouch -XX:ShenandoahGCHeuristics=compact -XX:ConcGCThreads=4 -XX:+UseLargePages -XX:+DisableExplicitGC -XX:+UseLargePagesInMetaspace -Xmx12G -Xms12G -Dlog4j2.formatMsgNoLookups=true -jar purpur-1.16.5-1171.jar

This Log4j configuration flag was actually provided by Minecraft for 1.17 servers
Container definition
version: "3"

services:
  mc:
    image: itzg/minecraft-server:java11
    ports:
      - 25565:25565
    environment:
      EULA: "TRUE"
      VERSION: "1.16.5"
      TYPE: "PURPUR"
      MEMORY: "12G"
      JVM_XX_OPTS: "-XX:+UseShenandoahGC -XX:+AlwaysPreTouch -XX:ShenandoahGCHeuristics=compact -XX:ConcGCThreads=4 -XX:+UseLargePages -XX:+DisableExplicitGC"
      TZ: "Europe/London"
      USE_LARGE_PAGES: "true"
      MODE: "creative"
      SPAWN_PROTECTION: "0"
      VIEW_DISTANCE: "8"
      ENABLE_RCON: "true"
      RCON_PASSWORD: "rcon_passwd_redacted"
    network_mode: "host"

    tty: true
    stdin_open: true
    restart: unless-stopped
    volumes:
      # attach a directory relative to the directory containing this compose file
      - /opt/minecraft/cobalt:/data
  backups:
    image: itzg/mc-backup
    environment:
      BACKUP_INTERVAL: "24h"
      RCON_PASSWORD: "rcon_passwd_redacted"
      # instead of network_mode below, could declare RCON_HOST
      # RCON_HOST: mc
    volumes:
    # mount the same volume used by server, but read-only
    - /opt/minecraft/cobalt:/data:ro
    # use a host attached directory so that it in turn can be backed up
    # to external/cloud storage
    - /mnt/betelgeuse/Backups/Minecraft:/backups
    # share network namespace with server to simplify rcon access
    restart: unless-stopped
    network_mode: "host

Container logs
Paste logs here

That's because I never saw/received guidance for non-vanilla mitigations. I know non-vanilla servers already use a different log4j config file so the vanilla one can't be used as is. If you can provide non Mojang, but authoritative documentation then I can incorporate that.

Just read up on it, Purpur 1.16.5 builds aren't patched

However, there are ways you can patch it
https://purpurmc.org/docs/Log4j/

Thanks! That looks like a similar approach needed for vanilla, so that should be fairly easy.

Can you test out the image itzg/minecraft-server:test-1274 ?

Did you push this to latest?

Did you push this to latest?

Yes. Note -Dlog4j.configurationFile=purpur_log4j2_1141-1165.xml in the following
> docker run -it --rm -e EULA=TRUE -e TYPE=PURPUR -e VERSION=1.16.5 -e SETUP_ONLY=true itzg/minecraft-server
[init] Running as uid=1000 gid=1000 with /data as 'drwxrwxr-x 2 1000 1000 4096 Jan  8 00:33 /data'
[init] Resolved version given 1.16.5 into 1.16.5
[init] Resolving type given PURPUR
[init] Downloading Purpur from https://api.purpurmc.org/v2/purpur/1.16.5/1171/download ...
[init] Creating server.properties in /data/server.properties
[init] Disabling whitelist functionality
[init] Setting white-list to 'false' in /data/server.properties
[init] WARNING: whitelist enabled but not enforced. Set ENFORCE_WHITELIST=TRUE or update 'enforce-whitelist' in server.properties to enforce the whitelist.
[init] Setting enable-rcon to 'true' in /data/server.properties
[init] Setting rcon.password to 'minecraft' in /data/server.properties
[init] Setting rcon.port to '25575' in /data/server.properties
[init] Setting motd to 'A Purpur Minecraft Server powered by Docker' in /data/server.properties
[init] Checking for JSON files.
[init] Setting initial memory to 1G and max to 1G
[init] Starting the Minecraft server...
SETUP_ONLY: java -Xmx1G -Xms1G -Dlog4j.configurationFile=purpur_log4j2_1141-1165.xml -jar purpur-1.16.5-1171.jar


Add speechbrain embeddings

Might be interesting to compare embeddings trained on speakerID
https://huggingface.co/speechbrain/spkrec-xvect-voxceleb

This will introduce a new dependency, which may be large (since speechbrain tried to tackle all speech processing tasks). There is a similar acoustic feature extractor on transformer (AutoModelForAudioXVector) which works with wavlm-base-plue (microsoft/wavlm-base-plus-sv). The accuracy is also high, see demonstration here: https://huggingface.co/spaces/Bagus/speaker-verification-demo.

I think it's ok to install the dependencies only if you explictly want to use this model
That's how it's done in nkululeko anyway: most of the imports appear only when you trigger the modules

I will work on this, do you know the small-scale verification dataset to try? Currently, I only have voxceleb which is large.

actually i thought we can try it on any database, doesn't need to deal with verification, e.g. emodb.

I used Ravdess for experiment by changing target from emotion to speaker. I also split the train and test to allocate 80% utterances from each speaker for training and the rest 20% for test (see process_database_speaker.py in data/ravdess folder).
So, just change the target from emotion to speaker and give the error below (INI file is also included in ravdess directory).
(nkululeko) bagus@pc-omen:nkululeko$ python3 -m nkululeko.nkululeko --config data/ravdess/exp_speaker.ini
DEBUG nkululeko: running results/exp_ravdess_speaker from config data/ravdess/exp_speaker.ini, nkululeko version 0.65.9
DEBUG dataset: loading train
DEBUG dataset: value for audio_path not found, using default:
DEBUG dataset: Loaded database train with 1152 samples: got targets: True, got speakers: True (24), got sexes: True, got age: False
DEBUG dataset: loading test
DEBUG dataset: value for audio_path not found, using default:
DEBUG dataset: Loaded database test with 288 samples: got targets: True, got speakers: True (24), got sexes: True, got age: False
DEBUG experiment: loaded databases train,test
DEBUG experiment: reusing previously stored ./results/exp_ravdess_speaker/./store/testdf.csv and ./results/exp_ravdess_speaker/./store/traindf.csv
DEBUG experiment: value for filter.sample_selection not found, using default: all
DEBUG experiment: value for type not found, using default: dummy
DEBUG experiment: Categories test: []
DEBUG experiment: Categories train: []
DEBUG experiment: 0 speakers in test and 0 speakers in train
DEBUG nkululeko: train shape : (0, 5), test shape:(0, 5)
DEBUG featureset: value for set not found, using default: eGeMAPSv02
DEBUG featureset: value for level not found, using default: functionals
DEBUG featureset: value for store_format not found, using default: pkl
DEBUG featureset: extracting openSmile features, this might take a while...
Traceback (most recent call last):
  File "/home/bagus/miniconda3/envs/nkululeko/lib/python3.9/runpy.py", line 197, in _run_module_as_main
    return _run_code(code, main_globals, None,
  File "/home/bagus/miniconda3/envs/nkululeko/lib/python3.9/runpy.py", line 87, in _run_code
    exec(code, run_globals)
  File "/home/bagus/github/nkululeko/nkululeko/nkululeko.py", line 63, in <module>
    main(cwd)  # use this if you want to state the config file path on command line
  File "/home/bagus/github/nkululeko/nkululeko/nkululeko.py", line 50, in main
    expr.extract_feats()
  File "/home/bagus/github/nkululeko/nkululeko/experiment.py", line 313, in extract_feats
    self.feats_train = self.feature_extractor.extract()
  File "/home/bagus/github/nkululeko/nkululeko/feature_extractor.py", line 153, in extract
    self.featExtractor.extract()
  File "/home/bagus/github/nkululeko/nkululeko/feat_extract/feats_opensmile.py", line 45, in extract
    self.df = smile.process_index(self.data_df.index)
  File "/home/bagus/miniconda3/envs/nkululeko/lib/python3.9/site-packages/audinterface/core/feature.py", line 573, in process_index
    df = self._series_to_frame(y)
  File "/home/bagus/miniconda3/envs/nkululeko/lib/python3.9/site-packages/opensmile/core/smile.py", line 421, in _series_to_frame
    return pd.concat(frames, axis='index')
  File "/home/bagus/miniconda3/envs/nkululeko/lib/python3.9/site-packages/pandas/core/reshape/concat.py", line 372, in concat
    op = _Concatenator(
  File "/home/bagus/miniconda3/envs/nkululeko/lib/python3.9/site-packages/pandas/core/reshape/concat.py", line 429, in __init__
    raise ValueError("No objects to concatenate")
ValueError: No objects to concatenate

The problem could be the speaker labels (again, maybe related to #61). Try both with quotes and without quotes on speaker labels but the debug say empty list for categories.

ok, need to check later


About preprocessing the 3DMatch dataset.

First, thank you for this solid work!
As we want to further explore this work, I wonder if you would like to share the preprocess script on 3DMatch dataset for transforming the raw 3DMatch dataset to the training data?
Also, I notice that the raw 3DMatch dataset you provide is different from the official 3DMatch dataset, can you please illustrate the difference between these two?
Thank you and look forward to your reply!

Close as this is a repetition, see https://github.com/prs-eth/OverlapPredator/issues/58#issue-1444886610

Hi.Do you now know how to obtain the preprocessed dataset? Could you please help me answer? I would greatly appreciate it.

First, thank you for this solid work!
As we want to further explore this work, I wonder if you would like to share the preprocess script on 3DMatch dataset for transforming the raw 3DMatch dataset to the training data?
Also, I notice that the raw 3DMatch dataset you provide is different from the official 3DMatch dataset, can you please illustrate the difference between these two?
Thank you and look forward to your reply!

Hi.Do you now know how to obtain the preprocessed dataset? Could you please help me answer? I would greatly appreciate it.


Failed to compile inline script [ctx._source.LastModified='2017-12-13T09:45:37.547+02:00'] using lang [painless]

NEST/Elasticsearch.Net version: 6.0.0-alpha1
Elasticsearch version: 5.6.3
Description of the problem including expected versus actual behavior:
I seldom get this error message:
Failed to compile inline script [ctx._source.LastModified='2017-12-13T09:45:37.547+02:00'] using lang [painless]

Steps to reproduce:
I'm not quite sure if it's reproduceble as I don't get it often, but my query looks like:
var now = DateTime.Now;
var nowString = string.Format("{0:yyyy-MM-ddTHH:mm:ss.fffzzzz}", now);
var myScript = $"ctx._source.LastModified='{nowString }'";

var myUpdateRequest = new UpdateByQueryRequest(Indices.Index(myIndices))
{
  Conflicts = Conflicts.Proceed,
  IgnoreUnavailable = true,
  Query = new IdsQuery
  {
    Values = new List<Id>(myIds.Select(id => new Id(id)))
  },
  Script = new InlineScript(myScript)
};

var result = await _client.UpdateByQueryAsync(myUpdateRequest );

Provide ConnectionSettings (if relevant):
Provide DebugInformation (if relevant):
result.ApiCall.ServerError.Error.Reason:
Failed to compile inline script [ctx._source.LastModified='2017-12-13T09:45:37.547+02:00'] using lang [painless]

Describe the feature:

@rm2k NEST 6.x is not compatible with Elasticsearch 5.x; please use the latest NEST 5.x version with Elasticsearch 5.6.3.
Are you executing many Painless scripts concurrently? Is there anything in the Elasticsearch logs? I suspect you may be hitting the max number of compilations per minute since the script you're sending needs to be compiled each time.
Take a look at parameterizing the script and passing the nowString value as a parameter. The script only needs to be cached once in this case:
var now = DateTime.Now;
var nowString = string.Format("{0:yyyy-MM-ddTHH:mm:ss.fffzzzz}", now);
var myScript = "ctx._source.LastModified='params.now'";

var myUpdateRequest = new UpdateByQueryRequest(Indices.Index(myIndices))
{
    Conflicts = Conflicts.Proceed,
    IgnoreUnavailable = true,
    Query = new IdsQuery
    {
        Values = new List<Id>(myIds.Select(id => new Id(id)))
    },
    Script = new InlineScript(myScript)
    {
        Params = new Dictionary<string, object>
        {
            { "now", nowString }
        }
    }
};

var result = await _client.UpdateByQueryAsync(myUpdateRequest);

@russcam yeah. I run the scripts for a couple of users requests, it might be that i'm hitting the max number.
Unfortunately I only ever logged ApiCall.ServerError.Error.Reason in my code, and I haven't met the error again yet. I'm not sure how to check ES logs.
In any case I'll give your your suggestion a shot.

@rm2k any progress?

Hi @russcam I incorporated your suggestions, and now keeping a close eye on how things pan out. So I'm closing the issue in the meantime.


Convert this to a bower package

I do not use bower. Do I basically need to add a bower.json, or is there more to it?

You can use use the the bower init to create it.
You need to do a release, you can do that with repo home page.
The module.exports is not used in a bower package.

If the module.exports is not used, do I need to change the code?


Truncate duration unit at days

This PR tries to resolve the following issues,

truncate duration unit at days (Fix https://github.com/apache/skywalking/issues/8948)
expose methods to developers,
update metadata cache on get (issue found by @dmsolr)

I submitted https://github.com/apache/skywalking/issues/8965 to track this.
On Wed, Apr 27, 2022 at 11:17 PM Jiajing LU @.***>
wrote:

@.**** commented on this pull request.
In
src/main/java/org/apache/skywalking/banyandb/v1/client/BanyanDBClient.java
https://github.com/apache/skywalking-banyandb-java-client/pull/11#discussion_r859929047
:

           irRegistry.create(ir);

       } catch (BanyanDBException ex) {

           if (ex.getStatus().equals(Status.Code.ALREADY_EXISTS)) {

               continue;

           }

We have a series of getXXX to check this.
BTW, we can't avoid this exception under a concurrent creating scenario
even get the resource before creating it. I tend to leave this piece as it
is and add a getting operation before the creating.
IIRC getXXX will throw NOT_FOUND now if no schema is found...We have to
check that exception too...
—
Reply to this email directly, view it on GitHub
https://github.com/apache/skywalking-banyandb-java-client/pull/11#discussion_r859929047,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AAO6UWONKCT4OQWJIZPN4ILVHFK7XANCNFSM5UNSOVCA
.
You are receiving this because you were mentioned.Message ID:
@.***
com>


Fails when using jena core 3.14

We have the following exception in ldspdi when upgrading  to jena 3.14 and using sttl writer
This should be upgraded to jene-arq 3.14. (currently 3.11)
java.lang.NoSuchMethodError: org.apache.jena.riot.system.RiotLib.writeBase(Lorg/apache/jena/atlas/io/IndentedWriter;Ljava/lang/String;)V
	at io.bdrc.jena.sttl.TurtleShell.writeBase(TurtleShell.java:106)
	at io.bdrc.jena.sttl.TurtleShell.write(TurtleShell.java:146)
	at io.bdrc.jena.sttl.STTLWriter.output(STTLWriter.java:71)

Fixed as of commit ed5d7d6
The only required change can be seen here:
https://github.com/buda-base/jena-stable-turtle/commit/ed5d7d6a25b1ea7099b3c053c69fadd3a4560ba3#diff-1182dac3348b866c532fd190edd2a615R119


Population of course-student schema when a calendar is added

Describe the task that needs to be done.
When a user uploads their calendar the timetable backend team created an endpoint that returns a list of strings with each string being a course name that the student is apart of.
This issue is for creating an internal method that takes in that list of strings and also the id of the student, and the method will handle the creation of any new course classes, and if the course is already present, it will ensure that the user is added to that course
This is needed to make the matching process efficient
Describe how a solution to your proposed task might look like (and any alternatives considered).
A method like
public void populateCourses(Long studentId, List<String> courses)
This method will iterate through the list of courses and either:

Create a new course entity if the entity does not exist in the current database
If a course by the name already exists, then it will add the studentId to that course

Notes

LGTM

LGTM, seems like a really important addition!


(Feature) Add support for Query Selectors in event.query objects

If I attempt to use a query operator when creating a schedule, I receive this error:
/mnt/c/projects/ideoxan/marina/node_modules/mongodb/lib/cmap/connection.js:268
          callback(new MongoError(document));
                   ^

MongoError: The dollar ($) prefixed field '$gt' in 'storage.query.expires.$gt' is not valid for storage.

MongoDB (and other MongoDB drivers to an extent) support Query Operators. This is particularly helpful for querying large databases. For instance, the below code returns all documents from the dates collection that have a date greater than 2021 February 8th.
db.dates.find({
    time: {
        $gt: new Date('2021-02-08')
    }
})

Once again, this is really useful for large data queries. See https://docs.mongodb.com/manual/reference/method/db.collection.find/#query-using-operators for usage. It would be great if this is added as a feature. 👍

Hello @Skyclo !
I can see where the problem comes from, I work on it quickly :)

Hello @Skyclo,
The problem was that I was storing the "query" as a Object value in MongoDB.
Ex:

Except that MongoDB forbids having property names starting with the '$' character, so I converted the "query" Object into a String.
I think it should work for most requests.
Ex:

Since the JSON does not have a Date type, I did some experimental work on the decoding of the JSON, with my few tests it seems to work, but it remains experimental.
I invite you to do several tests and come back to me if there is a problem :)
Here the new version of Mongo Scheduler More: https://github.com/darkterra/mongo-scheduler/releases/tag/v2.3.1
I also publish this new version on npm ;)
If this new version works correctly for you, I invite you to close this issue :)

Perfect! I'll check it out later today.

From my testing, everything works. Thanks!
And just so you know, this error pops up as a result of the upgrade of MongoDB to 3.6.4 as a dependency. Fortunately, this doesn't affect anything with this module.
(node:1424) Warning: Accessing non-existent property 'MongoError' of module exports inside circular dependency
(Use `node --trace-warnings ...` to show where the warning was created)

Thanks for the information :)
Obviously this is an internal warning to the MongoDB Driver, it will certainly be corrected during a next update of the library


A problem about Rank？

Hello, I would like to ask you why test.py only ran out of 4% on my own laptop. This article show 56%, Is it necessary to run in train.py to get this value? Or is my computer not working?
Did rank1 in your paper run out in train.py or test.py?

The reason for this provlrm may be the difference of versions of pytorch and numpy. You can try to train your model or use the given version in README.
获取 Outlook for iOShttps://aka.ms/o0ukef

发件人: zhouhang<EMAIL_ADDRESS>发送时间: Sunday, June 14, 2020 10:01:18 PM
收件人: 98zyx/Hetero-center-loss-for-cross-modality-person-re-id<EMAIL_ADDRESS>抄送: Subscribed<EMAIL_ADDRESS>主题: [98zyx/Hetero-center-loss-for-cross-modality-person-re-id] A problem about Rank？ (#1)
Hello, I would like to ask you why test.py only ran out of 4% on my own laptop. This article show 56%, Is it necessary to run in train.py to get this value? Or is my computer not working?
Did rank1 in your paper run out in train.py or test.py?
―
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/98zyx/Hetero-center-loss-for-cross-modality-person-re-id/issues/1, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOEUDYD364QCRWHDDEEHM6TRWTJ25ANCNFSM4N5OYWHA.

Wait a minute. Did you say that you just run test.py without the offered trained model?
获取 Outlook for iOShttps://aka.ms/o0ukef

发件人: zhouhang<EMAIL_ADDRESS>发送时间: Sunday, June 14, 2020 10:01:18 PM
收件人: 98zyx/Hetero-center-loss-for-cross-modality-person-re-id<EMAIL_ADDRESS>抄送: Subscribed<EMAIL_ADDRESS>主题: [98zyx/Hetero-center-loss-for-cross-modality-person-re-id] A problem about Rank？ (#1)
Hello, I would like to ask you why test.py only ran out of 4% on my own laptop. This article show 56%, Is it necessary to run in train.py to get this value? Or is my computer not working?
Did rank1 in your paper run out in train.py or test.py?
―
You are receiving this because you are subscribed to this thread.
Reply to this email directly, view it on GitHubhttps://github.com/98zyx/Hetero-center-loss-for-cross-modality-person-re-id/issues/1, or unsubscribehttps://github.com/notifications/unsubscribe-auth/AOEUDYD364QCRWHDDEEHM6TRWTJ25ANCNFSM4N5OYWHA.


Extend SQLite to allow storing pool registration certificates

Context

With #898, certificate registrations will now be part of blocks normally processed by the wallet layer.
During restoration, we want to be able to also restore registration certificates that are ours and that have been submitted to the chain. We need to keep track of the full history to also be able to cope with rollbacks.
Decision

Extend the SQLite Checkpoint table to carry a Maybe Certificate where Certificate refers to a stake pool registration certificate.

Remove the walDelegation from the Wallet table which only contains static data unaffected by rollbacks

Extend the SQLite Wallet table to store a pre-generated reward account key (there's only one per wallet, see also #894).

Review readWalletMeta to lookup for certificate in the most recent checkpoint

Acceptance Criteria

The DBLayer must support storing a certificate with a Checkpoint
The DBLayer must correctly yield the delegation status when returning WalletMetadata

Development Plan

PR

Number
Base

#980
master

#996
master

QA

New table created in the database a set of new command "putDelegationCertificate" in the database layer.

State-machine extended with the corresponding command: https://github.com/input-output-hk/cardano-wallet/blob/master/lib/core/test/unit/Cardano/Wallet/DB/StateMachine.hs#L514

Controlled state-machine coverage with a new tag checking that we cover the case where the wallet metadata are read (and compared with the model) after a certificate has been inserted (to observe the correct handling of the delegation settings in the metadata!): https://github.com/input-output-hk/cardano-wallet/blob/master/lib/core/test/unit/Cardano/Wallet/DB/StateMachine.hs#L743

State-machine actually even caught a bug after many runs that was fixed in https://github.com/input-output-hk/cardano-wallet/pull/997

lgtm.


Import dataset from FiftyOne

Is your feature request related to a problem? Please describe.
First time useing datumaro. My goal ist to tile my dataset. I'm already failing with importing the dataset. I exported it with FiftyOne to COCO and CVAT Images so far. Both import attempts in Datumaro Python failed with errors like this.
I'm wondering what the best workflow is to transfer a dataset from Voxel51 FiftyOne to Datumaro?
Dataset.import_from(args.path, "cvat")
# datumaro.components.errors.DatasetImportError: Failed to import dataset 'cvat' at '/Users/user/Desktop/dataset-folder'.
Dataset.import_from(args.path, "coco_instances")
# datumaro.components.errors.DatasetImportError: Failed to import dataset 'coco_instances' at '/Users/user/Desktop/dataset-folder'.

Describe the solution you'd like
Best case
Provide a API to download data directly from FiftyOne.
Or
A example of how successfully import a dataset after exporting it from Fiftyone.
Additional context
I've tried COCO, VOC, CVAT & Yolo Format. None worked, but with different output using datum dinfo:
# YOLO
length: 157
categories:
subsets: default
  'default':
    length: 157
    categories:
# CVAT
Failed to import dataset 'cvat' at '/Users/user/Desktop/dataset-folder'.
# VOC
length: 157
categories:
subsets: default
  'default':
    length: 157
    categories:

As it doesn't print categories I checked the dataset.yaml in the YOLO Dataset:
names:
  0: van
  1: person
  ...
path: /Users/user/Desktop/dataset-folder
val: ./images/val/

With some folder structure and file renaming I get these errors with datum dinfo and COCO format.
2024-03-14 10:31:50,910 WARNING: Category id of '0' is reserved for no class (background) but category named 'bike' with id of '0' is found in /Users/user/Desktop/dataset-folder/annotations/instances_default.json. Please be warned that annotations with category id of '0' would have `None` as label. (https://openvinotoolkit.github.io/datumaro/latest/docs/explanation/formats/coco.html#import-coco-dataset)
2024-03-14 10:31:50,911 ERROR: Failed to parse revspec:
  Can't find project at 'Failed to find project at '/Users/user/Desktop/dataset-folder. Specify project path with '-p/--project' or in the target pathspec.'
  Failed to import dataset 'coco' at '/Users/user/Desktop/dataset-folder'.

Hi @mmoollllee, thank you for bring this issue!
From our investigation, there are two problems when importing FiftyOne exported dataset into Datumaro:

As you observed, the directory structure of FiftyOne exported dataset is not same to the original COCO's one.
Here is the document of COCO directory structure https://openvinotoolkit.github.io/datumaro/latest/docs/data-formats/formats/coco.html.
Datumaro coco importer should have a "segmentation" field in the annotation file, but  fo.types.COCODetectionDataset contains only a "bbox". Therefore, it requires to fix Datumaro code slightly. The PR is given by https://github.com/openvinotoolkit/datumaro/pull/1360 and this will be released in 2.0.0 within 2 weeks.

In order to resolve the problem 1, we have two different solutions.
The first one is to modify the directory structure and the name of annotation file as

Then, we can import the dataset as
dm_dataset = dm.Dataset.import_from("fo_cocodet_modified", "coco_instances")

The next one is leveraging the Kaggle format, which is newly introduced in Datumaro 2.0.0 to import an unregularized data as FiftyOne did. Instead, we require to add more argument for the use of Kaggle importer in Datumaro as below.
dm_dataset = dm.Dataset.import_from(path="./fo_cocodet/data", format="kaggle_coco", ann_file="./fo_cocodet/labels.json")

As a result, please use Datumaro 2.0.0 for importing FiftyOne exported dataset with one of above code lines.
Thank you for your attention!

Awesome! Thanks for your feedback. I'll retry as soon as v2.0.0 is out :)


[docs] Update Learn page copy and resource list

[x] I have followed (at least) the PR section of the contributing guide.

https://deploy-preview-31989--material-ui.netlify.app/getting-started/learn/
This PR revises the Learn page, primarily to replace outdated third-party resources with newer v5 content that the community has created.
I also took the liberty of dropping the Usage demo directly into this doc rather than linking to the Quick Start page, to encourage the reader to stay in one place and make it easier for them to play around.
One question: Is it worthwhile to continue to list the outdated paid resources? I added a note to underscore this fact, but I would still hate to set someone up for failure by recommending that they spend money on outdated info.

@samuelsycamore I took the liberty to update this based on the latest open comments. I believe it's good to go. We could add a reminder to check the paid resources in 6 months or depend on the authors to remind us to add them in the docs :)


Allow media to be presented as evidence

Allow for the class Comment to include media which would render in anim.comments_to_scene as if they're presenting evidence.

Add "Take That" bubble when doing it


Some radios don't work

What version of Music Assistant has the issue?
2.0.0b117
What version of the Home Assistant Integration have you got installed?
2024.3.4
Have you tried everything in the Troubleshooting FAQ and reviewed the Open and Closed Issues and Discussions to resolve this yourself?

[X] Yes

The problem
Some radios don't play. Tried on devices : Chromecast or HomePod. Nothing. An example is "Radio Canada ici première Quebec city, QC". The same radio from Tune-In works. I can also play the station outside Music Assistant with the link : https://rcavliveaudio.akamaized.net/hls/live/2006953/P-2QQUE0_QUE/master.m3u8
How to reproduce
Go find the station from Canada and try to play.
Music Providers
An example is "Radio Canada ici première Quebec city, QC". The same radio from Tune-In works. I can also play the station outside Music Assistant with the link : https://rcavliveaudio.akamaized.net/hls/live/2006953/P-2QQUE0_QUE/master.m3u8
Player Providers
Chromecast audio and HomePod don't work.
Full log output
log.txt
Additional information
No response
What version of Home Assistant Core are your running
2024.3.1
What type of installation are you running?
Home Assistant OS
On what type of hardware are you running?
Generic x86-64 (e.g. Intel NUC)

Did you add this radio station manually in the frontend or did you look for it in in the radio browser or tune in provider ?

Did you add this radio station manually in the frontend or did you look for it in in the radio browser or tune in provider ?

No, I added the radio from radio-browser. I tried manually with the URL and it doesn't work. It works from Tune-in or if a copy the link in the web browser. But now, I have more problem, since I made the last update (following this Issue #2031), nothing play (Spotify, radios, etc.).

Try physically restarting the player devices.

Yes I restarted everything. I also updated Home assistant core to the last one this morning. Chromecast TV, Chromecast audio and Apple HomePod don't work. It weird.

I uninstalled Music Assistant and installed it back. Now Spotify works. Unfortunately, the present issue isn't revolved. The station and some others don't play.

Yes that will get looked at in due course

These are HLS-based radio stations, the new trend in radio streaming, basically coming from popular video streaming services such as Netflix. I'm implementing a fix to handle these stations in MA.

This should be fixed in b120 (which will be released later today). I have tested 100s of radio streams and they all work now, even the shiny ones based on HLS

How does one update to this once released? I had to install using docker...

https://github.com/music-assistant/server/blob/main/docker-compose.example.yml

Hi! I Updated to b121 this morning. Tried with 2 stations and results :

Radio-Canada Musique

URL Manually added from www.radio-browser.info : It works (wasn't before).
Browsing to the station from MA : don't work (same as before); one difference : player shows time elapsed and wasn't before.
Using Tune-In provider : it works (same as before).

Radio Canada Première Quebec city

URL Manually added from www.radio-browser.info : It works (wasn't before).
Browsing to the station from MA : don't work (same as before); one difference : player shows time elapsed and wasn't before.
Using Tune-In provider : doesn't work (was working before).

Note : All radios from tune-in worked before. Only Radio Canada premier Quebec City don't work now.
Tell me if you need more.

With b122 Radio-Browser, Tune-in and URL don't work.

Can you please go to the MA settings --> Core tab --> Cache controller --> Press the clear cache button ?
And then try the radio stations again from Tune In and Radio Browser.

Can you please go to the MA settings --> Core tab --> Cache controller --> Press the clear cache button ? And then try the radio stations again from Tune In and Radio Browser.

Unfortunately, no improvement.

The radio stations which weren't working for me yesterday do now, but the process keeps crashing now, and I end up needing to restart the docker instance all the time.

Good job! Everything works with b124. I'm closing the case

Good job! Everything works with b124. I'm closing the case

Great to hear, thanks for the patience and providing good details

One stream that is still not working for me in 2.0.0b129 is: https://orf-live.ors-shoutcast.at/fm4-q2a
The same url works when I paste it in chrome.

One stream that is still not working for me in 2.0.0b129 is: https://orf-live.ors-shoutcast.at/fm4-q2a The same url works when I paste it in chrome.

TIP: Next time do not reply on a closed issue report!
I only discovered your message by accident. Just create your own issue report and refer to an existing one if you think its related,
Anyhow... This radio station should work in the next beta update.

Anyhow... This radio station should work in the next beta update.

Awesome, thank you!

Apologies if this is annoying. But I just want to drop this here if anyone stumbles across this thread as I was having the original issue and switched to running the beta version which solved that problem.
However I then kept getting really frequent MASS server crashes requiring a restart of the docker container, and couldn't figure out how to actually update my docker instance.
So for anyone else stuck at this stage, I ended up stopping & removing the container entirely. And then removing the image too and reinstalling it to get it up to date to a version the worked.
Feel free to point out a proper way of updating a docker container as I assume there is one, but I'm pretty new to this so couldn't find it.

Same issue with me. Most radio stations work well, but with MacJingle (http://host6.cartwall.at:7200/;stream.nsv) no fun.
Tried to add it from Radio Browser, TuneIn and manually. No way to get it playing. In the TuneIn app the stream is working well. Any chance to help? Server version 2.1.0b1


fix: we should check for lux under the dependency key in package.json…

Current coverage is 91.93% (diff: 100%)

Merging #643 into master will not change coverage

@@             master       #643   diff @@
==========================================
  Files           179        179
  Lines          1984       1984
  Methods           0          0
  Messages          0          0
  Branches          0          0
==========================================
  Hits           1824       1824
  Misses          160        160
  Partials          0          0

Powered by Codecov. Last update b7c66cb...409e7bc


Delete article

https://github.com/Northeastern-Science-Magazine/nusci-backend/pull/283

https://github.com/Northeastern-Science-Magazine/nusci-backend/pull/283


wrong device detection

UA: Mozilla/5.0 (Linux; Android 4.4.2; PRO Q8 PLUS Build/KOT49H) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/49.0.2623.105 Safari/537.36
detected as: Wiko Plus
should be: something else

same as #89.


[SuperEditorMarkdown] Index out of range

I am getting the following error when using this function serializeDocumentToMarkdown in a certain scenario.
Error: RangeError (index): Index out of range: no indices are valid: 0
dart-sdk/lib/_internal/js_dev_runtime/private/ddc_runtime/errors.dart 294:3     throw_
dart-sdk/lib/_internal/js_dev_runtime/private/js_string.dart 478:7              _get]
packages/super_editor_markdown/src/document_to_markdown_serializer.dart 264:33  visitAttributions
packages/attributed_text/src/attributed_text.dart 404:14                        visitAttributions

To reproduce:

In a blank document, click Enter one or two times (leaving two blank lines)
Select all of the document
Enable bold, strikethrough or italics
serializeDocumentToMarkdown the doc

The function I am using to enable bold, strikethrough or italics is:
  void _toggleAttributions(Set<Attribution> attributions) {
    final selection = composer.selection;
    if (selection == null) {
      return;
    }

    selection.isCollapsed
        ? _commonEditorOperations.toggleComposerAttributions(attributions)
        : _commonEditorOperations.toggleAttributionsOnSelection(attributions);
  }

Here is out output of the document nodes when it fails:
[[TextNode] - text: [AttributedText] - ""
[AttributedSpans] (1 spans):
 - [SpanMarker] - attribution: [NamedAttribution]: bold, offset: 0, type: SpanMarkerType.start
 - [SpanMarker] - attribution: [NamedAttribution]: bold, offset: 0, type: SpanMarkerType.end, metadata: {blockType: [NamedAttribution]: paragraph}, [TextNode] - text: [AttributedText] - ""
[AttributedSpans] (0 spans):, metadata: {blockType: [NamedAttribution]: paragraph}]

Hey @jeprojects thanx for filing the issue. Could you also please share a complete reproducible example for this issue for me to test things out?

@matthew-carroll When exporting empty a document containing two empty paragraphs with bold attribution, should the result markdown be like the following?
****

****

@angelosilvestre I have no idea. I would suggest trying a few other Markdown editors to see how they handle it.


Update and clean up design for ngen worker image

Two things jump out as needing to be addressed, though further things can also be done if appropriate.
First, the organization of the build stages, especially as they loosely align with the old ngen-deps image (not used at the moment after moving away from Alpine), needs to be cleaned up.  There are also some redundancies that could be removed, and also probably some renaming of stages.
Second, the image no longer installs the ngen executable after building it.  Instead, it just sets things up to directly use the artifact from the CMake build directly.  This needs to be changed to installing the executable to reduce the image size.

The specifics for this have evolved a little bit as the image has continued to be updated, but in general this type of cleanup is still needed.


feature(modal) add select multiple select.

add support multiple select.

You can add boolean multipleSelect={false}

Can we get this PR merged?


Fix jQuery version in script filename

This updates jQuery version in referenced script filename in file dialog-success.html.
I noticed old jQuery version (1.10.2) being referenced in dialog-success.html and system.html after PIP-updating all packages on my Pi MusicBox. Could you please publish the fix in PIP also?
Meanwhile for other users facing this issue (non-working Shutdown/Reboot/Cancel form after PIP-updating packages on Pi MusicBox) I can suggest workaround - fixing files by shell command sed -i 's/jquery-1\.10\.2\.min\.js/jquery-1.11.1.min.js/g' /usr/local/lib/python2.7/dist-packages/mopidy_musicbox_webclient/static/*.html.

Cheers but only need it for develop, it'll find it's way into master when we release the next version.


Unable to train models faster with more gpus

Hi,
I am facing an issue where, on increasing the number of gpus and nodes, the number of steps for each epoch doesnot change. for eg if I run
python run.py with data_root=/data/datasets/meter_data_combined num_gpus=4 num_nodes=8 task_mlm_itm_clip_bert per_gpu_batchsize=64 clip16 text_roberta image_size=224 precision=16 datasets='["vg"]'
the number of steps per epoch is nearly 150k. I observe that the number of steps is 150k when num_gpus=1 num_nodes=1, and when num_gpus=4 num_nodes=8. I made sure that all gpus were being utilized when I set num_gpus=4 num_nodes=8. I also observe that while using num_gpus=4 num_nodes=8, the time for each epoch is ~160 hours in my case, while it is ~30 hours if I set num_gpus=1 num_nodes=1.
Is there any suggestion that you have for this problem?

Hi, I suspect this is a distributed training problem and you can try to compare (num_gpus=4, num_nodes=1) and (num_gpus=1, num_nodes=1) to see if this is true. I used this script https://github.com/zdou0830/METER/blob/main/azure_distributed_run.py when running on multiple nodes on Microsoft machines and you may adapt it based on your environment.

Thanks,
I found the problem, that I had commented out the distributed sampler part in the lightbingdatamodule.
I had done this because, i had read that lightning should be able to do distributedsampling automatically (atleast in the new lightning version I am using). However, it seems like if I remove the distributed sampler, it doesn't work.
Any idea why this would be happening?

Hi, I'm not sure about how lightning automatically does distributedsampling. METER used lightning 1.3.2 and you can refer to their document.


fix(data-model)!: more consistent query parameters

Context
There are some minor inconsistencies within query parameters (pagination, fetch size, sorting):

Impossible to construct these structures when using iroha_data_model as a library
Pagination limit and fetch size was u32, while pagination offset is u64. It doesn't make sense, since they are all technically limited to the maximum vec size in Iroha, which is usize, which is commonly represented as u64 in the data model.
Pagination offset is Option<NonZero<u64>>, where  None value doesn't give any additional meaning and is just treated as zero, which is also a default value for u64.

Solution

Add missing constructors
Use u64/NonZero<u64> everywhere
Make pagination offset just u64 instead of Option<NonZero<u64>>
Re-arrange pagination fields - first is offset, second is limit (affects ordering in the constructor)

Review notes (optional)

For complex PRs, try to provide some information on how to approach the review more effectively.
For example, is there a natural order in which the affected files should be reviewed?

Checklist

[x] I've read CONTRIBUTING.md.
[ ] (optional) I've written unit tests for the code changes.
[ ] All review comments have been resolved.

since they are all technically limited to the maximum vec size in Iroha, which is usize, which is commonly represented as u64 in the data model.

that is the hard upper limit, we can choose to make it tighter. Using a u64 for fetch size is unnecessary, especially when you consider that MAX_FETCH_SIZE = 10000

that is the hard upper limit, we can choose to make it tighter.

I am fine either way, just want to make it consistent.

Using a u64 for fetch size is unnecessary, especially when you consider that MAX_FETCH_SIZE = 10000

I see, maybe then make it even smaller, like u16?

@mversic as was discussed, let's keep u64.

Tests seem to work on my machine.


enable scheme based equivalents

SELECT COUNT(*), playlist.name, playlist.erstelltvon
FROM playlist
GROUP BY playlist.erstelltvon
HAVING COUNT(*) > 10

SELECT COUNT(playlist.playlistid), playlist.name, playlist.erstelltvon
FROM playlist
GROUP BY playlist.erstelltvon
HAVING COUNT(playlist.playlistid) > 10

DELETE FROM Song WHERE genreID = (SELECT genreID FROM Genre WHERE bezeichnung = "Klassik")

DELETE FROM Song WHERE genreID = 6

use default sql delimiter ";"


watchlist arguments should respect verbosity

This fixes #23.
At first I couldn't understand how I could possibly have missed this since indeed it makes testing this package much nicer because it silences all of the annoying output, but then I realized that it's because the old XGBoost.jl didn't provide a good way of doing this and after my overhaul got merged I simply forgot about the whole thing.

Oh, I just realized I have merge permission here.  I'll leave this up for about 24 hours after tests pass to give people a chance to comment then merge and tag.

Codecov Report

Merging #27 (241c8c2) into master (0b258cf) will increase coverage by 0.66%.
The diff coverage is 100.00%.

@@            Coverage Diff             @@
##           master      #27      +/-   ##
==========================================
+ Coverage   56.15%   56.81%   +0.66%
==========================================
  Files           1        1
  Lines         130      132       +2
==========================================
+ Hits           73       75       +2
  Misses         57       57

Impacted Files
Coverage Δ

src/MLJXGBoostInterface.jl
56.81% <100.00%> (+0.66%)
:arrow_up:

Help us with your feedback. Take ten seconds to tell us how you rate us. Have a feature suggestion? Share it here.

All good thanks.


Minor Grammar Change

I just wanted to try out creating a pull request because this is my first time doing it.
Hope this doesn't go against any rules!
The change is just adding an apostrophe to the bot's ping command.

Nice PR, and you're definitely not breaking any rules lol


Support Vault KV v2 backend. Connected to #1331.

Signed-off-by: Meijer<EMAIL_ADDRESS>What does this PR do?

Support secrets of Vault's KV v2 backend which is incompatible with the current implementation in secretless-broker.
New behavior is implemented with backwards compatability to current (old) behavior.

What ticket does this PR close?
Connected to #1331
Checklists
Change log

[ ] The CHANGELOG has been updated, or
[x] This PR does not include user-facing changes and doesn't require a CHANGELOG update

Test coverage

[x] This PR includes new unit and integration tests to go with the code changes, or
[ ] The changes in this PR do not require tests

Documentation

[x] This PR does not require updating any documentation, or
[ ] Docs (e.g. READMEs) were updated in this PR, and/or there is a follow-on issue to update docs

Thanks for submitting this @michael2m! I'll have the team review the code within the next couple of business days.
Given that this increases the complexity of the vault provider configuration, would you be able to help us in writing a little documentation for this provider? We could add a README.md file to the /internal/providers/vault/ folder that has some info about how to configure Secretless with vault. That would include something like:
# HashiCorp Vault Provider

## Configuration
<Required steps to configure Secretless to authenticate with HCV>

## Using the `vault` provider
<Instructions for referencing credentials from vault using this provider, including examples when using `kv` or `kv-v2`>

Even if we just added a godoc-style comment to the top of the provider.go file so that it would have some info here: https://godoc.org/github.com/cyberark/secretless-broker/internal/providers/vault, that would be good - especially since there's now more than one way to use this provider.
I would like to add a CHANGELOG entry for this, too - we provide some guidelines for writing good change log messages. If you'd prefer, we can add a commit later that adds a message for your changes. I might just write something like this under Added:
- The `vault` provider now supports loading secrets from the KV Secrets Engine - Version 2. To reference secrets using this version, preface the secret path with `kv-v2:` in the Secretless configuration. [cyberark/secretless-broker#1331](<link>)

You're totally right @izgeri. I will add some godoc comments. Just wondering about the docs though. It seems there was a documentation page once for the Vault provider, however it links to a non-existing page in the Conjur docs (secretless-broker/docs/docs/reference/providers/vault.md). I would prefer proper documentation, rather than a README somewhere in code.

@michael2m this provider is still considered community level, which we document in-repo. You can see an example here for the generic HTTP connector.
I do have it as a TODO to make sure all community providers / connectors have this minimal documentation, and that they're linked from the project README so they're easier to find. Whether we choose to augment the godocs or add a README here, I'm fine either way - either one is linkable from the README.
Hope that makes sense, but if you have any additional questions please lmk.

@michael2m I see that you're waiting on feedback on this PR - apologies for the delay, we've been pushing hard to get a new release out for another project. I'll make sure we get back to you on this by tomorrow. (cc @sgnn7)

@michael2m Sorry for the delay on this and thank you for your patience! As @izgeri mentioned we've been really busy on getting our redesigned Puppet integration project released and we have more to work on that but I've had some time today to reply to your comments. Let me know if you have any questions!
PS: I think the PR will need a rebase and the git history will need a touch of cleanup.

Redesigned the support for KV v2 in an alternative way (see review thread above). Also cleaned up commit history rebasing the pull request off master.

@sgnn7 I hope the rewrite/refactor with comments helps you understand the solution.

/approve 8d56e6354aa91bead3f4c3fc18a30be4d9ddb220
@izgeri Can you take a look too?

@michael2m This looks good to me - I just need one more approval to move the branch to the repo itself so that we can verify that tests pass. I'll keep this thread updated though.

/approve-build 8d56e6354aa91bead3f4c3fc18a30be4d9ddb220

Closing this branch as it is superseded by https://github.com/cyberark/secretless-broker/pull/1345


Invalid Protocol Buffer exception causes the specification count go negative

Expected behavior
Scenario count should be positive with no exception appearing to the user
Actual behavior
Scenario count is -ve with exception
Steps to reproduce
Do not know how to replicate this. Please find the stack trace
/usr/local/bin/gauge --simple-console /Users/sswaroop/work/gauge-test-apps/projects/web-apps-e2e/specs/spring-mvc/simple.spec
com.google.protobuf.InvalidProtocolBufferException: While parsing a protocol message, the input ended unexpectedly in the middle of a field.  This could mean either than the input has been truncated or that an embedded message misreported its own length.
	at com.google.protobuf.InvalidProtocolBufferException.truncatedMessage(InvalidProtocolBufferException.java:70)
	at com.google.protobuf.CodedInputStream.refillBuffer(CodedInputStream.java:1082)
	at com.google.protobuf.CodedInputStream.readRawByte(CodedInputStream.java:1149)
	at com.google.protobuf.CodedInputStream.readRawVarint64SlowPath(CodedInputStream.java:778)
	at com.google.protobuf.CodedInputStream.readRawVarint64(CodedInputStream.java:770)
	at com.thoughtworks.gauge.connection.GaugeConnection.getMessageLength(GaugeConnection.java:51)
	at com.thoughtworks.gauge.connection.GaugeConnection.getAPIResponse(GaugeConnection.java:150)
	at com.thoughtworks.gauge.connection.GaugeConnection.getStepValue(GaugeConnection.java:190)
	at com.thoughtworks.gauge.connection.GaugeConnection.getStepValue(GaugeConnection.java:176)
	at com.thoughtworks.gauge.scan.StepsScanner.buildStepRegistry(StepsScanner.java:47)
	at com.thoughtworks.gauge.scan.StepsScanner.scan(StepsScanner.java:39)
	at com.thoughtworks.gauge.scan.ClasspathScanner.scan(ClasspathScanner.java:39)
	at com.thoughtworks.gauge.GaugeRuntime.main(GaugeRuntime.java:36)
Exception in thread "main" java.lang.NullPointerException
	at com.thoughtworks.gauge.registry.StepRegistry.addStepImplementation(StepRegistry.java:29)
	at com.thoughtworks.gauge.scan.StepsScanner.buildStepRegistry(StepsScanner.java:48)
	at com.thoughtworks.gauge.scan.StepsScanner.scan(StepsScanner.java:39)
	at com.thoughtworks.gauge.scan.ClasspathScanner.scan(ClasspathScanner.java:39)
	at com.thoughtworks.gauge.GaugeRuntime.main(GaugeRuntime.java:36)
[ValidationError] /Users/sswaroop/work/gauge-test-apps/projects/web-apps-e2e/specs/spring-mvc/simple.spec:5: Connection closed [<IP_ADDRESS>:63346] cause: EOF => 'Demo of concpet "simple"'
[ValidationError] /Users/sswaroop/work/gauge-test-apps/projects/web-apps-e2e/specs/spring-mvc/simple.spec:6: write tcp <IP_ADDRESS>:63343-><IP_ADDRESS>:63346: use of closed network connection => 'to replicate goto "http://localhost:8080/spring-mvc-showcase/#simple"'
[ValidationError] /Users/sswaroop/work/gauge-test-apps/projects/web-apps-e2e/specs/spring-mvc/simple.spec:7: write tcp <IP_ADDRESS>:63343-><IP_ADDRESS>:63346: use of closed network connection => 'click "GET/simple"'
process /Library/Java/JavaVirtualMachines/jdk1.8.0_77.jdk/Contents/Home/jre/bin/java with pid 15441 quit unexpectedly. exit status 1
  Failed to initialize suite datastore. Error: write tcp <IP_ADDRESS>:63343-><IP_ADDRESS>:63346: use of closed network connection
Successfully generated html-report to => /Users/sswaroop/work/gauge-test-apps/projects/web-apps-e2e/reports/html-report
Specifications:	-1 executed	-1 passed	0 failed	1 skipped
Scenarios:	0 executed	0 passed	0 failed	1 skipped

Total time taken: 28ms

Process finished with exit code 1

Gauge version
Gauge version: 0.4.1.nightly-2016-05-09

Plugins
-------
html-report (2.1.1.nightly-2016-05-10)
java (0.4.0.nightly-2016-05-09)
ruby (0.2.0.nightly-2016-05-09)
xml-report (0.1.2.nightly-2016-05-09)

Spec / scenario count in execution summary should never be negative. #439 addresses this. Since that issue is fixed, this issue is not valid anymore.

@sguptatw I am closing this for now since its not valid. Feel free to reopen in case you see this again.


[Feature]: Temp Slider colour to match mode colour

Is your feature request related to a problem?
Currently the temperature slider colour is blue.
Describe the solution you'd like
It would be great to have the colour of the slider match the mode.  i.e. Orange for heat, Blue for Cool etc.
Describe alternatives you've considered
No response
Additional context
No response

It should support that feature.  This could possibly be due to a bug that was introduced in #20.  Please confirm if the issue still exists in the next release when the fix (#24) is included.

Hi - this appears to be resolved.  Thanks heaps - really is an excellent complement to a great package.


1224 Unit test for services classes of cluster-api package

Unit test
Added unit tests for services classes of cluster-api package
Refactored existing unit tests as well.
Increased line coverage from ~65% to ~90%.
Issue: Unit tests, Integration tests #1224

@arpitsodani15 spotless check failed. Can you run spotless plugin for formatting code ? It's already in pom.

@muralibasani I was not aware of the spotless plugin. I earlier used the google-java-format to format the code.
Now I have added a new commit after applying the spotless plugin.

@arpitsodani15 we have few comments, but not major though.

@aindriu-aiven  and @muralibasani Resolved all the commits

@aindriu-aiven and @muralibasani Resolved all the comments.

Thanks I'll take a look now 😄

Looks good. Merging it.


Add support for system feed actions

Feed actions are triggers that are backed up by specific event sources by OW.  The developer does not have to fully manage these sources.  These include /whisk.system/alarms, cloudant feeds, etc.   We can add a shortcut to declare triggers that are associated to these supported feed actions in the manifest file.
For example:
  triggers:
    cronTrigger:
      source: /whisk.system/alarms/alarms

could declare a cronTrigger that fires on alarm events.    We configure the event source in the deployment file using the specific inputs needed for that source (its different for each one):
        cronTrigger:
          inputs:
            cron: 0 4 * * *
            triggerPlayload: '{some JSON}'

We will need to be explicit about what source types are valid since there are only a handful.

merged


doorbird open

When I connect a button to the doorbird open and press the button, I get the following error:
12/13/2021, 12:01:20 PMnode: doorbirdopen
msg : string[39]
"Doorbird Station returned invalid JSON."

@dianaw1977 the node is currently in development. I will take care of it and let you know, once this works.

@dianaw1977 is there a chance that you provide log output? The code has two console log statemants for the response and the body. Maybe you can provide it?

Hi ihrign, when i check this log: journalctl -f -u nodered -o cat
I only see these lines:
13 Dec 14:03:40 - [info] Started flows
13 Dec 14:03:40 - [info] [mqtt-broker:homey] Connected to broker: mqtt://xxx.xx.xx.xx:1883
13 Dec 14:04:05 - [error] [doorbird-open:doorbirdopen] Doorbird Station returned invalid JSON
Is there another location where i can find additional logging.
regards,
Diana

Hi, no I believe not. As opening the door is actually working for me lets do it the following way: I will improve logging and put out a new version and then we will see, what is actually going wrong.

@dianaw1977 new version is out (0.0.4)

@dianaw1977 new version is out (0.0.4)

@ihrigb I updated to the new version and attached is the log output.
logging_doorbird.txt

I added another change, that should do it. Can you please try and let me know, how the behavior changes?

@ihrigb Yes that works. the gate opens. Thanks

Cool, thanks.
If you'd like to do me a favor, you could tell me, if the returned payload now contains a string, or a json object (just by a debugging node).

Hi,  yes i got this response in the debugnode.
12/14/2021, 8:02:22 AM node: debugdoorbirdopen
msg.payload : Object
object
BHA: object
RETURNCODE: "1"


⚠ RPC server - Avalanche has degraded performance

In 411d139, RPC server - Avalanche ($AVALANCHE_RPC_URL) experienced degraded performance:

HTTP code: 429
Response time: 96 ms

Resolved: RPC server - Avalanche performance has improved in cecac9c after 15 minutes.


toPromise promise is never resolved

An Observables promise is resolved when the observable is complete, but that doesn't appear to ever happen.

Hi @qazwsxedcrfvtgb1111, could you give more details for us? Maybe share your code?

Sure, here's a modified version of your demo app:
http://embed.plnkr.co/4AjmnZb7ay7bFKpyBbwh/
The changes are to src/heroapp/hero-list/hero-list.component.ts
The expected behavior is for the promise to be resolved, and the hero list to be updated, instead it is never resolved.

Hi @qazwsxedcrfvtgb1111, please update ng2-restangular to the latest version (0.1.30)


[1.11-RC1] Occasional high container startup time due to boltdb

TL;DR; we have occasional extremely high container startup time (over 10s), that we know for sure is spent updating the boltdb on-disk database used by libnetwork at preStartHook time.
Networking team is already investigating; This issue is for tracking this issue.

If you are reporting a new issue, make sure that we do not have any duplicates already open. You can ensure this by searching the issue list for this repository. If there is a duplicate, please close your issue and add a comment to the existing issue instead.
If you suspect your issue is a bug, please edit your issue description to include the BUG REPORT INFORMATION shown below. If you fail to provide this information within 7 days, we cannot debug your issue and will close it. We will, however, reopen it if you later provide the information.
For more information about reporting issues, see CONTRIBUTING.md.
You don't have to include this information if this is a feature request
(This is an automated, informational response)

BUG REPORT INFORMATION
Use the commands below to provide key information from your environment:
docker version:
docker info:
Provide additional environment details (AWS, VirtualBox, physical, etc.):
List the steps to reproduce the issue:
1.
2.
3.
Describe the results you received:
Describe the results you expected:
Provide additional info you think is important:
----------END REPORT ---------
#ENEEDMOREINFO

To clarify, this is seen in hosted jenkins automated environment (at least on a 3.13 ubuntu/aufs machine), docker-in-docker setup.

Just discussed this with @mavenugo; apparently this issue was already present in older versions of Docker, and nobody hit it. However, it became more apparent with the containerd integration in 1.11, which uses a timeout. We're only seeing this currently in CI, so changing to P2 for now (possibly P3)

Sorry for the confusion; I thought it was something new in 1.11 :smile:

@thaJeztah The issue description and title are very generic and it will result in being a catch-all bug for any container startup time issues. We have already seen a few instances that it was incorrectly attributed to this issue as the root-cause.
Hence, can you pls add the exact scenario / use-case that this issue is seen in the description so that it is clear for anyone looking for similar issues.
As we discussed we are using boltdb from v1.9 and we haven't seen any such issues till now. As @aboch mentioned, based on his investigation, it is currently seen in a DinD setup on a CI environment. Is that your observation as well ? If not, it would be good to mention the scenario.

@mavenugo True, so far we've only saw it on CI servers. However, I did measure it outside of DinD. Until we have a full explanation, this is a potential blocker for the release.
Please let us know:

If you feel this is unimportant because X, Y, or Z, and we'll take it from there.
If you agree this is a potential blocker and are making this a priority.

I'm considering this a potential blocker. I'm not forcing you to agree, but let me know so we can plan accordingly.

@icecrime can you please share the details on the measurement that you have outside of the CI DinD environment ? That would be of great help to characterize this problem. Regarding the priority of an issue, its really upto the maintainers and I have nothing to say there. Since you have measurements, it would be good to compare the results with 1.9, 1.10 releases to make sure if this is specific to 1.11 or an existing problem with boltdb that is observed now. If it is an existing problem, then considering it a release blocker is questionable. Regardless, @aboch is working on it and he may have more data to share.

The issue is about boltdb write operation taking long time, up to seconds. This is seen in while running docker IT. Note that commonly these calls take 2ms, and no more than 20ms. The problem happens rarely, very randomly unrelated to the size of the data being pushed to disk or to the IT test being executed.
So far I have been able to reproduce the issue only in dind, during IT execution.
I am testing docker with latest boltdb code, logging the boltb operations which take longer than a second.
I came out with a single docker IT test which execution hits the problem 50% of the time on a AMI (ubuntu 3.13) instance equal to the ones where the jenkins jobs are executed.
But, running the full IT is still the most reliable way to hit the issue. Although, I ran the full IT on my ubuntu 4.2 around 10 times and have never seen the problem.
As the log shows (https://github.com/docker/docker/pull/21479#issuecomment-200981674), bottleneck is always in boltdb fdatasync function which simply executes the syscall.Fdatasync.
Outside dind, I tried to reproduce the issue several times (on the jenkins AMI and my machine) replicating what the IT test does and never encountered the problem.
At this point, with the info I have and posted above, I assume this is a dind specific issue.

Bolt author here. Let me know if I can answer any questions or help troubleshoot the issue.

@benbjohnson Thanks a lot for offering !
At this time I have no ground for thinking it is a boltdb issue: The slow function is in the syscall go pkg.
But if you are aware of any non-canonical way of using boltdb which could cause the library not to work properly, please let us know.
The docker component which is currently using boltdb is https://github.com/docker/libnetwork, accessing it via a (k,v) store abstraction layer at https://github.com/docker/libkv/tree/master/store/boltdb.
Thanks again !

@aboch I don't see anything unusual about the usage. A long fdatasync() syscall seems like it would point to either a file system or disk issue.
I remember I worked on an ext3 FS a while back that would hang for half an hour on an ftruncate() call. We never could figure out what the heck was going on.

Thanks @benbjohnson for confirming. That helped to exclude other areas.
We were also suspecting it might have to do with the FS. For the record, the VM where the error is seen has a virtual ext4 device: /dev/xvda1 on / type ext4 (rw,discard).

@benbjohnson what is your opinion on setting the NoSync flag to true for ext3 / ext4 FS ?

@mavenugo It's not a safe operation since pages can be reordered when written and it can corrupt your database. It's really only meant to be used when bulk loading data.

we got bolt 1.2 in and libnetwork v0.7.0-rc.1. Hopefully we won't see this kind of issue again. But feel free to reopen.


g++ error

ubuntu 16.04
~/cpp_starter_project$ g++ main.cpp
main.cpp: In function ‘int main()’:
main.cpp:6:4: warning: lambda capture initializers only available with -std=c++14 or -std=gnu++14
out = std::ref(std::cout << "Hello ") { out.get() << "World\n"; }
^
main.cpp:6:10: error: ‘ref’ is not a member of ‘std’
out = std::ref(std::cout << "Hello ") { out.get() << "World\n"; }
^
main.cpp: In lambda function:
main.cpp:6:47: error: ‘out’ was not declared in this scope
out = std::ref(std::cout << "Hello ") { out.get() << "World\n"; }
^
main.cpp: In function ‘int main()’:
main.cpp:6:71: warning: lambda expressions only available with -std=c++11 or -std=gnu++11
out = std::ref(std::cout << "Hello ") { out.get() << "World\n"; }
is this a version error? how could i correct.

For this project to compile as is, you’ll need g++ version 7 or later installed. With some edits to the warnings specified by Cmakelists.txt, you might be able to get it running with g++ 5, but I wouldn’t recommend it.
You could try installing g++7 from the terminal like this:
$ sudo apt-get install g++-7 gcc-7
If that doesn’t work, you may need to add some PPAs. Try googling ‘Ubuntu 16 install g++7’; you should be able to find that easily.
Then you just need to make sure that cmake knows that it needs to use g++-7 instead of the older version.

thanks so much for your help

Would it be appropriate to mark this issue “closed”?

Thank you @ddalcino , I'm closing this one.
I think it would be good to put some version checks into the code base, I do have some CMake scripts for that somewhere I think.

Thank you @ddalcino , I'm closing this one.
I think it would be good to put some version checks into the code base, I do have some CMake scripts for that somewhere I think.


Mock Pin impl

Mock pin implementation, this implements mocks for the digital::v2 traits and is thus blocked on an embedded-hal release including these.

hmm i'm not sure i understand why the build is failing, same idiom is fine in other modules and on my stable/nightly.

Version 0.6.0 released including this PR.


Error handling for 4xx - In particular: trackback requests

Issue Summary
Running Ghost 1.0 beta (with the CLI) on Debian 9 with Nginx proxying to it. The problem is, someone, presumably still living in the 1990's, has linked to my blog (I'm guessing from their wordpress), and as such, I get requests every few hours to each one of my posts in the style of: POST blog.domain.com/post-name/trackback. The error log grows, and my HIDS system spams me with emails:
OSSEC HIDS Notification.
2017 Jun 26 11:43:11

Received From: servername->/var/log/syslog
Rule: 1002 fired (level 2) -> "Unknown problem somewhere in the system."
Portion of the log(s):

Jun 26 10:43:11 servername nodejs[10317]: #033[31mERROR#033[39m [2017-06-26 09:43:11] "POST /keyboards-compared-part-one/trackback/" 404 17ms

It would be nice to either have trackback requests handled, or for a more gentle fail of post requests. Any interim solution to save my inbox would be greatly appreciated.
Steps to Reproduce

Install ghost
Do a POST request to and post url + /trackback

Technical details:

Ghost Version: 1.0
Node Version: 4.8.3
Browser/OS: Debian 9
Database: MySQL

@AviateX14 have you tried this solution? It should block it on nginx level.

User agent wouldn't work, it comes in from a Chrome-esque UA. I could to a 403 on anything that matches ~/trackback - but I'd rather it was handled more elegantly.

Seems to me that your email notification has done exactly what is intended - it's flagged up to you an issue specific to your blog, that you need to resolve.
Ghost isn't causing the problem - it's correctly logging errors for 404s that are happening, and in turn this is getting flagged up to you.
This is great for you, but not something that Ghost needs to handle - it has in fact done it's job already.
As @PaszaVonPomiot has suggested, the next thing to do would be to customise your nginx config to ignore these requests at the server level. This is the correct solution, because sending this traffic to Ghost for it to do a bunch of work that it cannot do makes no sense. Much better to drop these requests at the nginx-level. Means less work for your server & for your Ghost instance
👍


Nested clauses in markdown_cicero do not parse properly

Describe the bug
When parsing a markdown with cicero extension, the parser does not handle a clause contains another clause properly.
To Reproduce
In the following test, notice the end of the outer clause and the trailing ending clause as a text node.
bash-3.2$ cat test/data/nestedclause2.tem.md
{{#clause payment}}
Payment. As consideration in full for the rights granted herein, Licensee shall pay Licensor a one-time fee in the amount of "forty two" (42) upon execution of this Agreement, payable as follows: "wire transfer".
{{#clause foo}}
This clause is nested.
{{/clause}}
And contains more text.
{{/clause}}
bash-3.2$ markus transform --from markdown_cicero --to ciceromark --input test/data/nestedclause2.tem.md
<-to ciceromark --input test/data/nestedclause2.tem.md
7:27:53 PM - info:
{
  "$class": "org.accordproject.commonmark.Document",
  "xmlns": "http://commonmark.org/xml/1.0",
  "nodes": [
    {
      "$class": "org.accordproject.ciceromark.Clause",
      "name": "payment",
      "nodes": [
        {
          "$class": "org.accordproject.commonmark.Paragraph",
          "nodes": [
            {
              "$class": "org.accordproject.commonmark.Text",
              "text": "Payment. As consideration in full for the rights granted herein, Licensee shall pay Licensor a one-time fee in the amount of "forty two" (42) upon execution of this Agreement, payable as follows: "wire transfer"."
            }
          ]
        },
        {
          "$class": "org.accordproject.ciceromark.Clause",
          "name": "foo",
          "nodes": [
            {
              "$class": "org.accordproject.commonmark.Paragraph",
              "nodes": [
                {
                  "$class": "org.accordproject.commonmark.Text",
                  "text": "This clause is nested."
                }
              ]
            }
          ]
        }
      ]
    },
    {
      "$class": "org.accordproject.commonmark.Paragraph",
      "nodes": [
        {
          "$class": "org.accordproject.commonmark.Text",
          "text": "And contains more text."
        },
        {
          "$class": "org.accordproject.commonmark.Softbreak"
        },
        {
          "$class": "org.accordproject.commonmark.Text",
          "text": "{{/clause}}"
        }
      ]
    }
  ]
}

Related

This is a sister issue of #288

Fixed in #324


Make crash loops resolve faster

Currently we bucket failures into time windows. For example:
|O|O|X|X|O|O|O|O|
and we take into account the number of overall buckets that have failures. However, the one piece I thought the code compensated well for, but does not is that there is a very big difference between:
|X|X|O|O|O|O|O|O|
and
|O|O|O|O|O|X|X|O|
If you imagine each of those buckets is a 3 minute window, that overall window can stretch 30mins. This PR adds an additional condition that the most recent failure timestamp must be in the most recent X% of buckets (e.g. one of the failures must be in the most recent 8 minutes). This should cover cases where something failed for a while then recovered on its own

Thank you!

lgtm 🚢