Howto delete records

Hi,
awesome tool, it works perfectly, I have only a couple of questions

How do I find out how much storage is left
How do I delete  old traces?

keep up the good work!

Hi Zbrag,
Thanks, great to hear you find this useful :+1:
The answers to both of your questions are related to how the device stores the data. Internally it uses a ringbuffer for the tracks. Every track is sequentially inserted in the ringbuffer. Each track consists of the header and then the samples of the track following that. At the beginning of the data block, two memory positions are placed, one which has the start of the first track, the second memory location the end of the last track (the 'empty' position). Before every track's header is a memory position to the next track. This implements a linked list.
Now, because the device treats the memory as a ring buffer there is no such thing as the start and the end of the data. Tracks become 'unreachable' once the header of that track has been overwritten by samples of the subsequent tracks. If the header has been overwritten, one might consider the remainder of that track to be empty storage, in reality it still holds the old samples, but without the header they are harder to read.  Deleting old traces is not possible (or at least, not that I know of), if you really want to remove the data from the device your only option is to make a new track that overwrites all the old data.
So in short, saying how much storage is left is hard, because the storage is always 'full'. And deleting traces is 'not' possible (I think I know what the write commands for the memory are, but that is scary business and might ruin the device, so I won't be trying that.)

1.How do I find out how much storage is left

I tried creating a tool that allowed me to calculate how long the memory would last when recording at 60s intervals. You can try the latest version with gpspod --fs my_filesystem_dump.fs debug df. Notice the filesystem flag, only use this command on a dump, because it is quite read-inefficient.
Sample output:
$python -m gpspod --fs 2017_09_04_dump_with_60s_track.fs debug df
Tracks block size: 0029F630, offset: 000F4240
Block header: first: 0x3449A6, last 0x1F77EE, entries: 0002, free:  0x1FA8D4, (2D00)
Track  0: 0x003449B2 - 0x00496DD9 : size; 0x152427,  1385511b, 0.50
  Track 2017-08-27 09:48:00 distance: 288415m, samples:  69455, interval:  1s
  TimeReference                            (  14b):     1  total:       14b, 0.00
  GpsUserData                              (  17b): 34359  total:   584103b, 0.42
  DistanceSourceField                      (   1b):     1  total:        1b, 0.00
  SpecifiedPeriodicStructure               (  12b): 35088  total:   421056b, 0.30
  LogPauseField                            (   0b):     1  total:        0b, 0.00
  Entry length <H for all samples:         (   2b): 69450  total:   138900b, 0.10
  Type <B for log samples:                 (   1b): 69450  total:    69450b, 0.05
  I and B for episodic data:               (   5b): 34362  total:   171810b, 0.12
  Log was: 35084.0s (9h44m) long
Track  1: 0x001F77FA - 0x001FA8A1 : size; 0x0030A7,    12455b, 0.00
  Track 2017-09-04 16:47:29 distance:  2612m, samples:    620, interval:  60s
  GpsUserData                              (  17b):   305  total:     5185b, 0.42
  LogPauseField                            (   0b):     1  total:        0b, 0.00
  LapInfoField                             (  16b):     1  total:       16b, 0.00
  TimeReference                            (  14b):     1  total:       14b, 0.00
  DistanceSourceField                      (   1b):     1  total:        1b, 0.00
  SpecifiedPeriodicStructure               (  12b):   307  total:     3684b, 0.30
  Entry length <H for all samples:         (   2b):   616  total:     1232b, 0.10
  Type <B for log samples:                 (   1b):   616  total:      616b, 0.05
  I and B for episodic data:               (   5b):   309  total:     1545b, 0.12
  Log was: 18373.5s (5h6m) long

It's probably a bit hard to digest, but Track  0: 0x003449B2 - 0x00496DD9 : size; 0x152427,  1385511b, 0.50 means track 1 spans from 0x003449B2 to 0x00496DD9 in the memory, it is of size 0x152427, or 1385511 bytes. Then what follows is a distribution of the data, the number of samples per type, between the parenthesis the size, then the count, the number of bytes these samples represent in total and finally the ratio in the track occupied by these samples. At the end are the ratios for the actual periodic entry lengths. At the top of the display you can see 0x0029F630, that is the total size of the 'tracks' storage block in the memory, converting that hex value to decimal gives you 2750000 bytes. This, in combination with using the debug df command one of your own file dumps should give you an idea of how much your gpspod can store.
The tracks storage of 2750000 bytes seems to be small, it's 2.75MB only, but Suunto did a terrific job at using this data efficiently so it still lasts a pretty long time. Especially with 60s interval, with 1s interval it wraps in about 20 hours.
In regards to deleting tracks / overwritten header, I've had the situation once where the pod had already overwritten the header of the track I still needed to retrieve. I've attempted to write a recovery command, this uses the header of the last track and attempts to recover as much as possible. Again, this is relatively untested and rudimentary... This time it is even more important that it is used on a dump of the memory, as it can perform up to 2<<16 read operations during the align step alone. For me this command successfully recovered the track, even though the first 25% was missing (that was overwritten), the remainder was recovered.
$python -m gpspod --fs 2017_09_04_dump_with_60s_track.fs retrieve --recover 0 /tmp/foo.gpx
Retrieving track prior to the recoverables.
Track prior retrieved in 0.0s, with 616 entries
Attempting to align to recoverable data.
Successfully aligned with data, offset: 0x39
Starting recovery process.
This entry did not look sane, halting recovery.
Recovered 68001 entries.
Succesfully recovered track! Resuming default process.
Retrieving track  0, 68001 samples, writing to /tmp/foo.gpx.
Acquired the data in 0.00 seconds, writing gpx.
Lap adds waypoint: True, lap splits segments: True, all points: True.
Done creating gpx, wrote 9604255 bytes to /tmp/foo.gpx.

In this command the 0 of the track used is a dummy value and is actually unused, it always recovers the data after the last track (since that is the track being overwritten). So if you ever run into the situation where the pod has already overwritten a track you wanted to have, you can give this a go.
Please let me know if this answers your questions.

Wow, that is a very thorough description, very interesting to read.
The reason I was asking how to delete was because I thought the storage could be filled, but this cool trick tells me I shouldn't worry about it.
Thank you so much for your time!

No problem, based on your question I've added a line to the main readme stating that deleting tracks is not necessary and added a link to this issue. Thanks!


Update more scripts

This modernizes the fuzz_* scripts to

allow specifying what target to build
allow passing in other options

It also generally cleans up things like inconsistent indentation, unquoted variables, etc.
I recommend reviewing by commit. There's a lot of commits, but each one is (hopefully) small, self-contained, and easily reviewable.
Motivation
To prepare to do large-scale fuzzing with the new fuzz_doc_symbols.
Test plan
None.

Tested:
$ tools/scripts/fuzz.sh fuzz_doc_symbols
building fuzz_doc_symbols
...
artifact_prefix='fuzz_crashers/original/'; Test unit written to fuzz_crashers/original/crash-464ee69a6f66389cb02d54ce9f90111742d816ef
$ tools/scripts/fuzz_minimize_all.sh fuzz_doc_symbols
building fuzz_doc_symbols
...
making command file
running in parallel
Seq	Host	Starttime	JobRuntime	Send	Receive	Exitval	Signal	Command
fuzz_crashers/original/crash-464ee69a6f66389cb02d54ce9f90111742d816ef: running
fuzz_crashers/original/crash-464ee69a6f66389cb02d54ce9f90111742d816ef: done
1	:<PHONE_NUMBER>.164	     1.838	0	155	0	0	tools/scripts/fuzz_minimize_crash.sh fuzz_doc_symbols fuzz_crashers/original/crash-464ee69a6f66389cb02d54ce9f90111742d816ef  2>/dev/null
$ diff fuzz_crashers/min/crash-464ee69a6f66389cb02d54ce9f90111742d816ef.done fuzz_crashers/original/crash-464ee69a6f66389cb02d54ce9f90111742d816ef
$ echo $?
0

I'm not sure how to verify options are getting passed down like --stress-incremental-resolver. I'm fairly confident the logic I wrote to pass down options if you provide them is correct (modulo the fact that you can't pass options with spaces in them), but how could I test for this?


Exclude streaming service

Description
Would it be possible to exclude streaming services when filtering upcoming movies and TV shows?
Desired Behavior
So browsing upcoming movies, it would be nice to exclude movies from certain streaming services. So for example, exclude movies from prime. The filtered list would then show only movies not on the Amazon prime service.
Additional Context
I appreciate the catalog of movies/TV changes regularly and differs per country but even if it could exclude Prime Originals or Netflix originals etc.
Code of Conduct

[X] I agree to follow Jellyseerr's Code of Conduct

Isn't this already possible on Discover TV/Movies page where you can set the release date to be >now and exclude streaming services?


NoSuchMethodError found on Android 2.2.x devices

In my production code I found following error occurs on Android 2.2.x devices:
java.lang.NoSuchMethodError: java.util.Arrays.copyOfRange
at butterknife.ButterKnife$Finder.filterNull(ButterKnife.java:125)
at butterknife.ButterKnife$Finder.listOf(ButterKnife.java:133)
Hope it's informative enough to help you locate the bug.

Ugh. Yeah. That method is Java 6+ which is Android 2.3+.

See PR #367 for a starting point, if you like.


CVE-2021-3803 via badge-up / svgo / css-select

Users of flow-coverage-report have Inefficient Regular Expression Complexity "vulnerability" CVE-2021-3803 via transitive dependency badge-up /<EMAIL_ADDRESS>/ css-select /<EMAIL_ADDRESS>Upgrading to latest svgo links a non-vulnerable version of nth-check.
One trouble is https://github.com/yahoo/badge-up/pull/21 isn't merging. We could pull it into your fork in https://github.com/rpl/badge-up/pull/1 and then upgrade the fork version here.

Hey @joshuanapoli,
We're part of a startup called Seal Security that mitigates software vulnerabilities in older open source versions by backporting/creating standalone security patches - enabling more straightforward remediation in cases like this. We created an nth-check 1.02-sp1 that's vulnerability-free. As with all of our patches, it's open-source and available for free.
If relevant, check out our GitHub repo if you wish to learn more, or start using our app.
Please feel free to reach us at<EMAIL_ADDRESS>if you have any requests/questions.


Ignore failure to delete list comp variables

When iterating over a generator expression gen in a list comprehension [for x in gen], the local variable x holds the value of each generated expression. When the list comprehension is done being evaluated, the local variable x needs to be deleted. This was already being done. If, however, gen is empty, x is never defined, and so deleting it causes an error. This patch adds a check to ignore that error.
Fixes #236

Thanks for fixing this issues and submitting a PR.  There are two pylint errors; could you fix those please?
custom_components/pyscript/eval.py:1758:16: C0103: Variable name "e" doesn't conform to snake_case naming style (invalid-name)
custom_components/pyscript/eval.py:175[8](https://github.com/custom-components/pyscript/actions/runs/6523765383/job/17800734376?pr=535#step:5:9):16: W0612: Unused variable 'e' (unused-variable)

Whoops, fixed.

Awesome!  Thanks for the PR.  Somehow I missed the original issue.


Move the new lean&hungry receive to its own Azure Function, to better support Maintenance Windows

A major use case in @MauriceReeves-usds 's original proposal #2730 was to support Maintenance Windows.
That is, you could leave the lean&hungry receive running while shutting down or otherwise doing maintenance on the rest of the pipeline.
I believe our current design for lean&hungry is that it would at least need the Postgres database - that seems tricky or bad to change, so let's leave it for the moment.
However, we could move lean&hungry to a different azure function to make it independent; maybe have it deploy as part of a different GitHub action.  This would be a step towards Mo's original idea.

This needs more evaluation - it may not need to be done at all and not gain us anything.


Upgrade Google Benchmark to v1.5.0

Followed the idea behind #2669 -- copy the google/benchmark repo contents instead of using git subtree.
I used git log lib/gbenchmark to see if there were ponyc-specific changes and found a commit from #2823. I cherry-picked it to get the remaining gbenchmark changes necessary. These changes should probably be merged to the upstream Google Benchmark repo to improve its OpenBSD support.

This looks good to me, but I would want to know about the changes to our Makefile and get an explanation to make sure that each of the changes was done intentionally. Thanks, @philix.
If you can comment, we can get this merged.

Awesome. Thanks, @philix.


bool is not formated

For some reason, the bool words in the arguments are not formatted.

Reference: https://mapdl.docs.pyansys.com/contribution_and_api/_autosummary/ansys.mapdl.core.pool.LocalMapdlPool.html

It might be the default behavior... because Numpy docs also shows that.
https://numpydoc.readthedocs.io/en/latest/example.html#example.foo


cannot work locale changing, when we move with <NuxtLink> on no_prefix

feedback from elk project.


DRAFT - Character Report functionality v2

Background
Character reporting has been recently iterated in February and March, however, in conversations with SETs and Secretariat, it is clear that we need to go further to provide a workable solution that fully delivers on the promise of an SCC-ready Annex B1.
User Story
As an Admin user, I would like to be able to input all the data necessary on the platform so that it can be presented to the Secretariat for review prior to export directly for the SCC report.
Feature(s) Description

[ ] Make the character information to the users editable and formattable. Are we currently simply displaying application content or is this a new field? We do not want to overwrite the candidate's application data, but we need to store the edited content against the candidate record.

[ ] Create a new Guidance reference dropdown field after Offence category and populate with options TBC

[ ] Create a new field SCC decision - format TBC

Acceptance Criteria (optional/delete if not used)
It's done when users can download an SCC-ready Annex B1 from the platform.
User Testing Steps
TBC
Feature Champion
Nick

Hey team! Please add your planning poker estimate with Zenhub @drieJAC @HalcyonJAC @tomlovesgithub @warrensearle

@drieJAC @warrensearle @HalcyonJAC @tomlovesgithub  Suggest you might want to re-estimate this one now that I have filled out the additional info

@nickaddy We've displayed the Character information on the application view page which is editable. Should I just format it?

@HalcyonJAC It's important that we retain the original candidate's data on the application view page. Here we are giving the SET to opportunity to edit that info for presentation in the SCC annex, e.g. where candidate has written a lot of information that can be cut down to sthg shorter.


Blinks API Code interpretation

i.e.
void setup() {
// this code gets called once in the beginning
}

void loop() {
  // this code gets called ~30 times per second
  setColor(RED);
  setColorOnFace(Blue, (millis()/1000)%6);
}

So this is the Arduino code that apply to each block? I can make an example of displaying this.


Class property losing value after instantiation

Issue

I'm having a weird problem where many of my tests are throwing a "TypeError: Cannot read property 'constructor' of null". For example, the stack trace from Jest is useless as there's no real trace, and the line numbers don't line up (there's not 39 lines in the source).
      at pass (node_modules/expect/build/matchers.js:101:692)
      at getMessage (node_modules/expect/build/index.js:91:21)
      at Object.throwingMatcher [as toBeInstanceOf] (node_modules/expect/build/index.js:164:23)
      at Object.<anonymous> (tests/definitions/Array.test.js:39:27)

Here is the test: https://github.com/milesj/shapeshifter/blob/master/tests/definitions/Array.test.js Also notice the console.log('C', def);, which is something else I'm debugging, and seems to be the bigger issue. It seems like one of my instance properties is being set to null by the time it reaches this console statement (and is probably causing the Jest failure).
Here's the source file with some additional logging: https://github.com/milesj/shapeshifter/blob/master/src/definitions/Array.ts#L28
And the parent class it inherits, also with logging: https://github.com/milesj/shapeshifter/blob/master/src/Definition.ts#L20
And the console output when running that single test.
    console.log src/Definition.ts:21
      new ArrayDefinition
    console.log src/Definition.ts:21
      new ArrayDefinition
    console.log src/Definition.ts:21
      new ArrayDefinition
    console.log src/Definition.ts:21
      new ArrayDefinition
    console.log src/definitions/Array.ts:28
      A ArrayDefinition {
        options:
         { defaultNullable: true,
           disableEslint: true,
           indentCharacter: '  ',
           renderer: 'react',
           includeSchemas: false,
           includeAttributes: false,
           includeTypes: false },
        attribute: 'foo',
        config: { nullable: true, type: 'array', valueType: 'string' } }
    console.log src/Definition.ts:21
      new StringDefinition
    console.log src/definitions/Array.ts:32
      B ArrayDefinition {
        options:
         { defaultNullable: true,
           disableEslint: true,
           indentCharacter: '  ',
           renderer: 'react',
           includeSchemas: false,
           includeAttributes: false,
           includeTypes: false },
        attribute: 'foo',
        config: { nullable: true, type: 'array', valueType: 'string' },
        valueType:
         StringDefinition {
           options:
            { defaultNullable: true,
              disableEslint: true,
              indentCharacter: '  ',
              renderer: 'react',
              includeSchemas: false,
              includeAttributes: false,
              includeTypes: false },
           attribute: 'foo',
           config: { nullable: true, type: 'string' } } }
    console.log tests/definitions/Array.test.ts:27
      C ArrayDefinition {
        options:
         { defaultNullable: true,
           disableEslint: true,
           indentCharacter: '  ',
           renderer: 'react',
           includeSchemas: false,
           includeAttributes: false,
           includeTypes: false },
        attribute: 'foo',
        config: { nullable: true, type: 'array', valueType: 'string' },
        valueType: null }

Notice that valueType is not defined yet for "A", which is correct, and then is defined for "B", which is also correct. BUT then valueType is null by the time it gets to "C", which makes no sense, as there's no other code that runs after "B".
I've been debugging this for many hours, across many days, and I don't believe this to be a TypeScript error, so I'm hoping it's a ts-jest issue. Any guidance would be appreciated.

Expected behavior

Test runs fine.

Output from your debug log
[ You can activate the debug logger by setting the environment variable TS_JEST_DEBUG="true" before running yarn test. The output of the logger
will be in <your_project_dir>/node_modules/ts-jest/debug.txt ]

I tried to generate this with like 6 different commands and it never worked.

Link to a minimal repo that reproduces this issue

All the links above. Simple clone the project and run yrun jest ./tests/definitions/Array.test.js.

Optional (but highly recommended) - Configure Travis (or your favorite system) with the minimal repo

https://travis-ci.org/milesj/shapeshifter

Figured it out after looking at the built files. My Definition constructor calls validateConfig:
var Definition = (function () {
    function Definition(options, attribute, config) {
        this.options = options;
        this.attribute = attribute;
        this.config = __assign({ nullable: options.defaultNullable }, config);
        this.validateConfig();
    }

While the ArrayDefinition constructor is setting the value to null, AFTER validateConfig is being called, because the valueType property is set to null.
var ArrayDefinition = (function (_super) {
    __extends(ArrayDefinition, _super);
    function ArrayDefinition() {
        var _this = _super !== null && _super.apply(this, arguments) || this;
        _this.valueType = null;
        return _this;
    }

This originally worked because the property was set to undefined instead of null, and I forgot I changed it. Changing it back to undefined fixes the problem. Sorry for the annoyance :P


Update region computation.

CI
Please note that CI will fail for this PR as it requires release of NullAway:0.10.5.

This PR updates the region computation in Type-Annotator-Scanner according to latest changes in NullAway following PR658.
Also in this PR the infrastructure for keeping compatibility with older versions of NullAway (0.10.4 or less) is implemented.

@msridhar Thank you for the review. I resolved all comments.

@lazaroclapp Thank you very much for the review, this is ready for another round.

@msridhar @lazaroclapp Thank you very much for the review. I will land it now.


⚠ API (search) has degraded performance

In 2b13ce6, API (search) (https://api.dev.package-search.services.jetbrains.com/search-packages) experienced degraded performance:

HTTP code: 200
Response time: 7336 ms

Resolved: API (search) performance has improved in 2fa0ca7 after 25 minutes.


generate type definitions for systems

when we have better config parsing, we'll be able to reference system IDs by their name within the mud config, e.g.
config.systems.MySystem.systemId
worldConfig.systems.CoreSystem.systemId

this is useful in things like callFrom and batchCall where you need to provide a system ID and it's less ergonomic to have to generate them and hardcode the system names
in this world, it would be great if these keys were strongly typed

If we're headed in the direction of using interfaces for config input/output types, we might have something that looks like
interface System {
  ...
}

interface ConfigOutput {
  systems: Record<string, System>
}

I wonder if we could extend that with a systems.d.ts file that adds to the interface like
interface ConfigOutput {
  systems: {
    MoveSystem: { ... },
    AttackSystem: { ... },
  }
}

We can't really merge nested stuff, so would need separate interfaces for each level that needs to be overridden
Something like:
interface System {
  ...
}
interface Systems {
  [key: string]: System
}
interface ConfigOutput {
  systems: Systems
}

interface MoveSystem extends System {
  ...
}

interface Systems {
  MoveSystem: MoveSystem,
  AttackSystem: System & { ... },
}

closing in favor of https://github.com/latticexyz/mud/issues/1743


Add support for contextual (open) entities

Add support from contextual entities: the converstion from WA JSON
        {
          "text": "I'd like red dress",
          "mentions": [
            {
              "entity": "color",
              "location": [
                9,
                12
              ]
            }
          ]
        }

to inline CSV intent notation
I'd like <color>red</color> dress
and back.
Work done so far:

[x]  csv 2 json direction
[ ]  json 2 csv direction

it would be also useful to check, if the entity for which you annotate exists. If it doesn't create a warning. Watson assistant will anyway refuse to upload such a workspace where annotation exists for non-existent entity.

Csv2json conversion done and merged, rest will be done in #301


fix(TDI-40138): add Custom lookup field for tMarketoInput/Output

What is the current behavior? (You can also link to an open issue here)
https://jira.talendforge.org/browse/TDI-40138
What is the new behavior?
Added a new lookup field Custom for specifying custom field.
Need to be backported to : 6.4.2 and 6.5.2.
Please check if the PR fulfills these requirements

[X] The commit message follows Talend standard
[X] Tests for the changes have been added (for bug fixes / features)
[ ] Docs have been added / updated (for bug fixes / features) ?
[X] The code coverage on new code >75%
[X] The new code does not introduce new technical issues (sonar / eslint)

What kind of change does this PR introduce?

[X] Bugfix
[ ] Feature
[ ] Code style update (formatting, local variables)
[ ] Refactoring (no functional changes, no api changes)
[ ] Build / CI related changes
[ ] Other... Please describe:

Does this PR introduce a breaking change?

[ ] Yes
[X] No

If this PR contains a breaking change, please describe the impact and migration path for existing applications: ...
Other information:

Pull request test result: success :star:
Sonar results


Configurable cgroup ID regex for process discovery component

Request
Currently, process discovery component attempts to get the container ID by looking into the cgroup of the process. This can be further generalized by adding a new argument that takes a regex as input and attempts to find the cgroup ID by matching it against the cgroup of the process. Consequently we can add a new label, say, __meta_cgroup_id__, that will be added to the targets.
Use case
Most of the resource managers use cgroups to manage the resource allocated to compute workloads. In our particular case, it is SLURM (HPC batch scheduler). By using a configurable cgroup ID regex to process discovery component, we can find the job IDs of each process. And by using relabel magic, we can filter the processes that do not belong to any user jobs and eventually use the job ID as service_name to Pyroscope eBPF component. This will allow us to do continous profiling of user jobs and aggregate the profiles of each job on Grafana based on service_name (which is essentially job ID).
This should work for any resource manager which manages the cgroups in a deterministic way. For instance, one more use case can be to use with Openstack where libvirt manages the cgroups. Grafana alloy can be deployed directly on the hypervisor that will do the continous profiling of the VMs.
If the maintainers find a value in this feature, I would be happy to submit a PR.

Awesome. Sure, I will mention you in the PR once I have it ready!!


HBASE-28904 Supports enabling storage policy in the data copying scenario of bulkload

https://issues.apache.org/jira/browse/HBASE-28904

:confetti_ball: +1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 38s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
hbaseanti
0m  0s

Patch does not have any anti-patterns.

_ master Compile Tests _

+1 :green_heart:
mvninstall
3m 11s

master passed

+1 :green_heart:
compile
3m  4s

master passed

+1 :green_heart:
checkstyle
0m 39s

master passed

+1 :green_heart:
spotbugs
1m 38s

master passed

+1 :green_heart:
spotless
0m 47s

branch has no errors when running spotless:check.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
2m 57s

the patch passed

+1 :green_heart:
compile
3m  3s

the patch passed

+1 :green_heart:
javac
3m  3s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 37s

the patch passed

+1 :green_heart:
spotbugs
1m 42s

the patch passed

+1 :green_heart:
hadoopcheck
10m 39s

Patch does not cause any errors with Hadoop 3.3.6 3.4.0.

+1 :green_heart:
spotless
0m 44s

patch has no errors when running spotless:check.

_ Patch Compile Tests _

+1 :green_heart:
mvninstall
3m  3s

the patch passed

+1 :green_heart:
compile
0m 57s

the patch passed

+1 :green_heart:
javac
0m 57s

the patch passed

+1 :green_heart:
javadoc
0m 26s

the patch passed

+1 :green_heart:
shadedjars
5m 43s

patch has no errors when building our shaded downstream artifacts.

_ Other Tests _

+1 :green_heart:
unit
211m 43s

hbase-server in the patch passed.

237m 10s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6347/1/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/6347

Optional Tests
javac javadoc unit compile shadedjars

uname
Linux 462efdb3b437 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / a5addd5c4acf7ef5f16ab81b4705e245c0d404a2

Default Java
Eclipse Adoptium-17.0.11+9

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6347/1/testReport/

Max. process+thread count
5299 (vs. ulimit of 30000)

modules
C: hbase-server U: hbase-server

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6347/1/console

versions
git=2.34.1 maven=3.9.8

Powered by
Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@Apache9 sir. Could you take a look? Thanks.

The current implementation sets a tiered storage policy for the bulktoken/family directory, which is cleaned up after bulkloading. Therefore, I haven't figured out how to verify it through UT.

This patch has already been used by our customers in production environments.

Hi @2005hithlj Have you tried HBASE-15172? Based on description of HBASE-15172 we already support this for bulkload. Does that JIRA not work?

@NihalJain Thanks for your review.
The Bulkload process consists of two steps:

generate hfiles using MR/SPARK and write them to an HDFS cluster.
execute 'hbase completebulkload [OPTIONS] </PATH/TO/HFILEOUTPUTFORMAT-OUTPUT>  ' or invoke the BulkLoadHFilesTool API.

HBASE-1721 implements tiered storage capabilities for bulkload, but it is only applicable to scenarios where hfiles generated by MR/SPARK are directly written to the HDFS cluster used by HBase (tiered storage is configured). However, in most bulkload scenarios, hfiles generated by MR/SPARK are first written to an offline HDFS cluster (non-HBase HDFS Cluster, and tiered storage is not configured). Subsequently, the 'hbase completebulkload' command is used to copy these hfiles from the offline HDFS cluster to the HDFS cluster used by HBase, and rename them to the appropriate table/partition/columnfamily directory. This scenario is not supported by HBASE-1721, this issue will support tiered storage for this more general bulkload scenario.

:broken_heart: -1 overall

Vote
Subsystem
Runtime
Logfile
Comment

+0 :ok:
reexec
0m 42s

Docker mode activated.

_ Prechecks _

+1 :green_heart:
dupname
0m  0s

No case conflicting files found.

+0 :ok:
codespell
0m  0s

codespell was not available.

+0 :ok:
detsecrets
0m  0s

detect-secrets was not available.

+1 :green_heart:
@author
0m  0s

The patch does not contain any @author tags.

+1 :green_heart:
hbaseanti
0m  0s

Patch does not have any anti-patterns.

_ master Compile Tests _

+0 :ok:
mvndep
0m  9s

Maven dependency ordering for branch

+1 :green_heart:
mvninstall
3m  4s

master passed

+1 :green_heart:
compile
3m 44s

master passed

+1 :green_heart:
checkstyle
0m 55s

master passed

-1 :x:
spotbugs
1m 34s
/branch-spotbugs-hbase-server-warnings.html
hbase-server in master has 1 extant spotbugs warnings.

+1 :green_heart:
spotless
0m 46s

branch has no errors when running spotless:check.

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 11s

Maven dependency ordering for patch

+1 :green_heart:
mvninstall
2m 58s

the patch passed

+1 :green_heart:
compile
3m 47s

the patch passed

+1 :green_heart:
javac
3m 47s

the patch passed

+1 :green_heart:
blanks
0m  0s

The patch has no blanks issues.

+1 :green_heart:
checkstyle
0m 55s

the patch passed

+1 :green_heart:
spotbugs
2m 27s

the patch passed

+1 :green_heart:
hadoopcheck
11m  9s

Patch does not cause any errors with Hadoop 3.3.6 3.4.0.

+1 :green_heart:
spotless
0m 45s

patch has no errors when running spotless:check.

_ Other Tests _

+1 :green_heart:
asflicense
0m 21s

The patch does not generate ASF License warnings.

40m 56s

Subsystem
Report/Notes

Docker
ClientAPI=1.47 ServerAPI=1.47 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6347/3/artifact/yetus-general-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/6347

Optional Tests
dupname asflicense javac spotbugs checkstyle codespell detsecrets compile hadoopcheck hbaseanti spotless

uname
Linux 6f19b49822f8 5.4.0-192-generic #212-Ubuntu SMP Fri Jul 5 09:47:39 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 204a5ac828efb077f7734b16a416ab6e35e86fbd

Default Java
Eclipse Adoptium-17.0.11+9

Max. process+thread count
83 (vs. ulimit of 30000)

modules
C: hbase-common hbase-server U: .

_ Patch Compile Tests _

+0 :ok:
mvndep
0m 13s

Maven dependency ordering for patch

+1 :green_heart:
mvninstall
2m 59s

the patch passed

+1 :green_heart:
compile
1m 16s

the patch passed

+1 :green_heart:
javac
1m 16s

the patch passed

+1 :green_heart:
javadoc
0m 41s

the patch passed

+1 :green_heart:
shadedjars
5m 38s

patch has no errors when building our shaded downstream artifacts.

_ Other Tests _

+1 :green_heart:
unit
2m 15s

hbase-common in the patch passed.

-1 :x:
unit
224m 13s
/patch-unit-hbase-server.txt
hbase-server in the patch failed.

253m 42s

Subsystem
Report/Notes

Docker
ClientAPI=1.43 ServerAPI=1.43 base: https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6347/3/artifact/yetus-jdk17-hadoop3-check/output/Dockerfile

GITHUB PR
https://github.com/apache/hbase/pull/6347

Optional Tests
javac javadoc unit compile shadedjars

uname
Linux 500ec2cc2961 5.4.0-1103-aws #111~18.04.1-Ubuntu SMP Tue May 23 20:04:10 UTC 2023 x86_64 x86_64 x86_64 GNU/Linux

Build tool
maven

Personality
dev-support/hbase-personality.sh

git revision
master / 204a5ac828efb077f7734b16a416ab6e35e86fbd

Default Java
Eclipse Adoptium-17.0.11+9

Test Results
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6347/3/testReport/

Max. process+thread count
5501 (vs. ulimit of 30000)

modules
C: hbase-common hbase-server U: .

Console output
https://ci-hbase.apache.org/job/HBase-PreCommit-GitHub-PR/job/PR-6347/3/console

versions
git=2.34.1 maven=3.9.8

Powered by
Apache Yetus 0.15.0 https://yetus.apache.org

This message was automatically generated.

@NihalJain Thanks for your review. The Bulkload process consists of two steps:

generate hfiles using MR/SPARK and write them to an HDFS cluster.
execute 'hbase completebulkload [OPTIONS] </PATH/TO/HFILEOUTPUTFORMAT-OUTPUT>  ' or invoke the BulkLoadHFilesTool API.

HBASE-1721 implements tiered storage capabilities for bulkload, but it is only applicable to scenarios where hfiles generated by MR/SPARK are directly written to the HDFS cluster used by HBase (tiered storage is configured). However, in most bulkload scenarios, hfiles generated by MR/SPARK are first written to an offline HDFS cluster (non-HBase HDFS Cluster, and tiered storage is not configured). Subsequently, the 'hbase completebulkload' command is used to copy these hfiles from the offline HDFS cluster to the HDFS cluster used by HBase, and rename them to the appropriate table/region/columnfamily directory. This scenario is not supported by HBASE-1721, this issue will support tiered storage for this more general bulkload scenario.

Thank you for the detailed explanation @2005hithlj

Since there are not UTs here, please specify exact steps to test this so that others can validate / use the functionality.


LOG4J2-3628 Replace maven-changes-plugin with a custom changelog implementation.

What is what?

changelog – where changelog sources are stored
changelog/.unreleased – changelog sources for the next release
changelog/<releaseDate>-<releaseVersion> – changelog sources for the past released versions
changelog/<releaseDate>-<releaseVersion>/.release.xml – the meta information about the release (e.g., release version and date)
changelog/<releaseDate>-<releaseVersion>/.intro.adoc – the introductory content used by the generator (manually copied from past announcement emails)
changelog/*/[<issueId>_]<shortSummary>.xml – changelog entry associated with a change (manually populated from existing changes.xml)
src/site/asciidoc/changelog/<releaseVersion>.adoc – generated via log4j-internal-util
src/site/asciidoc/changelog/index.adoc – generated via log4j-internal-util
log4j-internal-util – changelog importer (from changes.xml), AsciiDoc exporter, changelog releaser

How shall a reviewer start?

Proof-read changelog/README.md
Quickly skim through changelog/*/*.{xml,adoc} files, since they are either generated or copied

What is next?

Clone this to master
Clean duplicate changes.xml entries there
Remove changelog importer in log4j-internal-util from both release-2.x and master branches since it is not needed anymore

LGTM, although I am curious why didn't you use Jackson or JAXB for serialization and deserialization of XML.

@ppkarwasz, there are a couple of reasons:

AFAIK, both Jackson and JAXB doesn't decently support comment blocks needed for license headers.
Jackson and XML attributes have always been troublesome for me.
I wanted log4j-internal-util to be dependency-free so that if needed one can simple do a java -cp target/log4j-internal-util.jar ... – though I need to admit this is a problem that can easily be addressed via spring-boot-maven-plugin's repackage goal.
At the early stages of development, I started with JAXB and later on made a Jackson attempt too. Yet after failing a couple of times, I decided to bite the bullet.

For me the current setup simply works. Though above arguments might be due to my lack of knowledge. I am not proud of shipping XmlReader, XmlWriter, XmlUtils, etc. classes either. :sweat_smile: If you think this can be done simpler via Jackson/JAXB, feel free to either give it a shot or tell me how to do it.

Note that the XML spec does not require parsers to provide comments as part of a parsed model:
https://www.w3.org/TR/xml/#sec-comments

Note that the XML spec does not require parsers to provide comments as part of a parsed model:
https://www.w3.org/TR/xml/#sec-comments

@garydgregory, thanks, good to know. Though it is irrelevant for this PR, since we don't need to parse comments, but emit them while generating XML.

 It makes more sense to be in the parent pom and automatically included as part the the "apache-release" profile which is enabled automatically by the release plugin.
Why isn't the source for the changelog in src/changelog?

Thanks so much for your feedback @rgoers! Before addressing your remarks, let me note the following changes I have incorporated in the meantime:

Added src/site/.gitignore to ignore src/site/changelog. Yes, AsciiDoc-formatted changelogs won't be committed anymore. Since this content is only relevant for the generated website and it is a major source of merge-conflicts.
Renamed .unreleased directory to .unreleased-<releaseVersionMajor>.x.x. This allows multiple unreleased version changelogs (e.g., .unreleased-2.x.x, .unreleased-3.x.x) to coexist, which is necessary for my next PRs to fuse the website for both release-2.x and master branches.

Why is the profile to run this in the internal-utils project. It makes more sense to be in the parent pom and automatically included as part the the "apache-release" profile which is enabled automatically by the release plugin.

I have a couple of reasons for the current approach where log4j-internal-util module is used to host changelog business logic:

I doubt if it is an idiomatic Maven practice to have Java sources in a pom-typed artifact.
pom-typed artifacts don't support Java sources out of the box.
Exporter preferably should run during package phase (rather than in a certain release profile) so that if somebody breaks changelog files (e.g., due to malformed XML) this should break the build too.

Why isn't the source for the changelog in src/changelog?

Done.

Note that I can't really review this PR properly as my browser never completes loading all the files.

I would suggest checking out the branch to your local development environment and reviewing the changes there. Grouping the changes by directory helps a lot.

In addition to my previous comments I don't really see a good way to test this as the tool fails unless a release has been set up - i.e. I can't tell it to generate a changes.xml for the current SNAPSHOT.

I see. I have changed this behaviour. ./mvnw -pl log4j-internal-util -P changelog-releaser should work with *-SNAPSHOT versions now.

@vy I didn't suggest that you move the source from log4j-internal-util to the parent project. I suggested that the plugin invocation be in the parent pom. However, that may mean that the utility not be part of the log4j build as it will require that project be built first. That actually makes sense to me since the utility doesn't really need to be publicly released.
I will re-pull the branch and test it again.

I don't understand the latest changes. When running it I see
moving `/Users/rgoers/projects/apache/logging/log4j/release-2.x/src/changelog/.unreleased-2.x.x` to `/Users/rgoers/projects/apache/logging/log4j/release-2.x/src/changelog/20221128-2.19.1-SNAPSHOT`
writing release information to `/Users/rgoers/projects/apache/logging/log4j/release-2.x/src/changelog/20221128-2.19.1-SNAPSHOT/.release.xml`
created intro file at `/Users/rgoers/projects/apache/logging/log4j/release-2.x/src/changelog/20221128-2.19.1-SNAPSHOT/.intro.adoc

Why is it moving stuff from the unreleased directory. Won't that cause it to be lost on a subsequent invocation?
Why does the target have a date if everything is moved? Why wouldn't it just be 2.19.1-SNAPSHOT?
Isn't there is a risk that these SNAPSHOT directories will actually be committed?
I didn't see an index.adoc generated anywhere.

To be honest, I am still not comfortable with this.

Why is it necessary to move files?  I would think renaming the .unreleased directory to the release number would be sufficient. This should happen as part of release:prepare.
Generated files are not normally added to the source but are generated under the target directory. If the tool performs step 1 and then generates a changes.adoc file with changes for all releases similar to what the maven changes plugin does then I would hope the changes.adoc file could be generated to the target directory and included by asciidoc from there.

@vy,
The remark about SAX what just a curiosity. I usually use StaX as "modern" equivalent of SAX with both XML parsing and writing. However IIRC Xalan does not support DOM-to-StaX transformations and the OpenJDK fork of Xalan depends on the JDK, so SAX is probably the safest choice.

Thanks so much for your remarks @rgoers! :pray: Let me respond to them.

I didn't suggest that you move the source from log4j-internal-util to the parent project. I suggested that the plugin invocation be in the parent pom. However, that may mean that the utility not be part of the log4j build as it will require that project be built first. That actually makes sense to me since the utility doesn't really need to be publicly released. In fact, in thinking about this I think you should move log4j-internal-util to the logging-log4j-tools repo as log4j-changes. That is really what that repo is for. I'm not sure what we should do with log4j-server though. It really isn't a tool. Maybe we need a logging-log4j-samples repo.

I see your point. If these changelog utilities would be used by other projects besides Log4j, it would even make more sense to move it to a dedicated repository. Though, as of now, given we haven't even used it for once yet, don't you agree that it is a bit overkill to move these utilities to a separate (rusted?) repository, make a release there, so that we can use it in Log4j... just because they should be invoked from the parent project rather than a module?
I can agree with this plan, but please, let's first use this a couple of times in Log4j, polish it, etc. Then it would be trivial to move this to a separate repository.

I will re-pull the branch and test it again.

:bow:

Why is it moving stuff from the unreleased directory. Won't that cause it to be lost on a subsequent invocation?

You are making a release (e.g., 2.20.0), not a release candidate. The entire .unreleased-2.x.x will be converted to 20??????-2.20.0, just like your 2.20.0-SNAPSHOT artifacts have been converted to 2.2.20 and there is no turning back.

Why does the target have a date if everything is moved? Why wouldn't it just be 2.19.1-SNAPSHOT?

It provides an ordering in src/changelog that is more convenient for developers, IMHO. Nevertheless, date is not necessary for folder names, though it is necessary for populating the .release.xml file.

Isn't there is a risk that these SNAPSHOT directories will actually be committed?

That was the reason I did not allow *-SNAPSHOT versions in ChangelogReleaser earlier, but since you wanted to experiment... Anyway, recently added 86610b36ce10adc8874baa233c7b4fd9e0d8c8d0 disallows SNAPSHOT versions unless log4j.changelog.releaser.snapshotsAllowed Java property is defined, e.g., ./mvnw -Dlog4j.changelog.releaser.snapshotsAllowed -pl log4j-internal-util -P changelog-releaser.

I didn't see an index.adoc generated anywhere.

It works for me:
$ ./mvnw -Dlog4j.changelog.releaser.snapshotsAllowed -pl log4j-internal-util -P changelog-releaser
...
using `20221128` and `2.19.1-SNAPSHOT` for release date and version, respectively
moving `/home/vy/Projects/log4j/2/src/changelog/.unreleased-2.x.x` to `/home/vy/Projects/log4j/2/src/changelog/20221128-2.19.1-SNAPSHOT`
writing release information to `/home/vy/Projects/log4j/2/src/changelog/20221128-2.19.1-SNAPSHOT/.release.xml`
created intro file at `/home/vy/Projects/log4j/2/src/changelog/20221128-2.19.1-SNAPSHOT/.intro.adoc`

$ cat /home/vy/Projects/log4j/2/src/changelog/20221128-2.19.1-SNAPSHOT/.intro.adoc
////
    Licensed to the Apache Software Foundation (ASF) under one or more
    contributor license agreements.  See the NOTICE file distributed with
    this work for additional information regarding copyright ownership.
    The ASF licenses this file to You under the Apache License, Version 2.0
    (the "License"); you may not use this file except in compliance with
    the License.  You may obtain a copy of the License at

         https://www.apache.org/licenses/LICENSE-2.0

    Unless required by applicable law or agreed to in writing, software
    distributed under the License is distributed on an "AS IS" BASIS,
    WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
    See the License for the specific language governing permissions and
    limitations under the License.
////

Why is it necessary to move files?  I would think renaming the .unreleased directory to the release number would be sufficient.

That is exactly what we are doing: mv .unreleased-2.x.x 20221128-2.19.1, even the ChangelogReleaser tells so:
moving `/home/vy/Projects/log4j/2/src/changelog/.unreleased-2.x.x` to `/home/vy/Projects/log4j/2/src/changelog/20221128-2.19.1`

This should happen as part of release:prepare.

The reason I did not want to bind this to any existing release phase is to avoid generating (and hence sealing up!) the changelog for release candidates. I expect the release manager to consciously seal the changelog just like (s)he does for the ultimate release.

Generated files are not normally added to the source but are generated under the target directory. If the tool performs step 1 and then generates a changes.adoc file with changes for all releases similar to what the maven changes plugin does then I would hope the changes.adoc file could be generated to the target directory and included by asciidoc from there.

That is right, ideally generated files should be placed under target/generated-sources/<i-dunno-what-exactly>. Though asciidoctor-maven-plugin's maven-site-plugin integration doesn't allow adding extra source paths.

I see your point. If these changelog utilities would be used by other projects besides Log4j, it would even make more sense to move it to a dedicated repository. Though, as of now, given we haven't even used it for once yet, don't you agree that it is a bit overkill to move these utilities to a separate (rusted?) repository, make a release there, so that we can use it in Log4j... just because they should be invoked from the parent project rather than a module?
No, I don't agree. If we intend to use it from a different repo we need to do that. As I said, the plugin should be referenced in the parent pom. We can't do that if the code is in a sub-module.
You are making a release (e.g., 2.20.0), not a release candidate. The entire .unreleased-2.x.x will be converted to 20??????-2.20.0, just like your 2.20.0-SNAPSHOT artifacts have been converted to 2.2.20 and there is no turning back.
All releases are release candidates. They only become a release when the vote passes and the release tag is created.  It is not uncommon to add a new Jira to a subsequent release candidate and we cannot be precluded from doing it.
| I didn't see an index.adoc generated anywhere.
It works for me:
You are showing it generating .intro.adoc, not index.adoc as the README says. I see no file generated that contains all the changelog entries, which is what I thought the main point of this was.


Implement frictionless pull command downloading a dataset

Overview
From https://app.slack.com/client/T0362UCGH70/C0369HZ2SLT/thread/C0369HZ2SLT-1680012396.569999?cdn_fallback=2

I'd love to have a way to do something like frictionless pull example.com/datapackage.yaml and have that command download the resources into the current folder or inside a resources/data folder

Hi @roll!
Do you want some help on this? I would be happy to submit a PR.

Hi @fjuniorr, sure, it would be great!


libgcc_s.so.1 must be installed for pthread_cancel to work

2022-02-10 23:51:49,793 check.py[line:117] INFO UseProxyCheck - thread_956: <IP_ADDRESS>:30001      fail, count 1 delete
2022-02-10 23:51:49,793 check.py[line:90] INFO UseProxyCheck - thread_982: complete
libgcc_s.so.1 must be installed for pthread_cancel to work
2022-02-10 23:51:49,793 check.py[line:90] INFO UseProxyCheck - thread_956: complete
libgcc_s.so.1 must be installed for pthread_cancel to work
2022-02-10 23:51:49,793 check.py[line:90] INFO UseProxyCheck - thread_703: complete
libgcc_s.so.1 must be installed for pthread_cancel to work
Aborted (core dumped)
root@Proxy-check:~/Proxypool#
报错了 请问要怎么解决丫

系统包问题，自行百度吧


Reverse execution

This could lead to a very efficient usefulness checker.

Closed in favor of the simpler "tagging" solution (PRs coming).


View Album - Nearby photos from Instagram community

As a user, I want nearby photos available for viewing when viewed photo is mappable.
Story Acceptance Criteria:

Definition: Album media is either a photo or video in the Sample album of the Demo gallery
When album media is viewed in lightbox and has geocode then display hyperlink
Clicking on hyperlink will display <50 crowd sourced photos within 1 km proximity of the album media
Format the album media using this jQuery plugin to fully justify
Crowd sourced photos will close (and reset ready to open again) when next or previous album media is viewed using arrows on the keyboard or mouse click

Please assign this to me.

No longer using jQuery (React.js is the campaign), so closing issue


docs: runtime service and account/permission requirements?

What are the base runtime requirements (google config, services) for this agent?

Does it require the default GCP service-account ? When yes, is there any minimal instruction to setup this for this agent ?
Does it need to run other google agents/services ?
Does it required preconfigured files on the filesystem ?

It should be possible to run this agent without any "default" large preconfigured VM image?
I found some issues here: https://github.com/GoogleCloudPlatform/ops-agent/issues/334

Here is my minimal sample to allow show GCP metrics on a system with small cpu/memory resources:
https://github.com/remoe/gcp-fcos-agent

The Ops agent is documented at https://cloud.google.com/stackdriver/docs/solutions/agents/ops-agent/. All of your questions ought to be answered there, including the list of supported OS distributions. If that documentation is unclear or insufficient, please use the "Send feedback" button directly on the documentation pages, so it will be seen by our docs team. Thanks.


Setting margin: '20' doesn't log the crash on Android but does on iOS

Is this a bug report?
Yes
Environment
Environment:
OS:  Linux 4.10
Node:  7.10.1
Yarn:  1.2.1
npm:  4.2.0
Watchman:  Not Found
Steps to Reproduce

CRNA
In any component's style set an attribute with an absolute pixel value in quotes, i.e. "marginLeft: '24'"
Run on an Android device from the Expo app
Watch it crashing

Expected Behavior
A crash log indicating why it crashed like a usual error would do.
(Write what you thought would happen.)
Android (25): System's "App has stopped working" dialog, with no log.
iOS: A crash log indicating why it crashed like a usual error would do.

It looks like you're passing in a string, when it should be a number. marginRight: 20, should be sufficient. No need for quotes.


NioEventLoop#rebuildSelector0 throws ClassCastException

Motivation:
Commit 795f318 simplified some code related to the special case Set for the selected keys and introduced a Selector wrapper to make sure this set was properly reset. However the JDK makes assumptions about the type of Selector and this type is not extensible. This means whenever we call into the JDK we must provide the unwrapped version of the Selector or we get a ClassCastException. We missed a case of unwrapping in NioEventLoop#rebuildSelector0.
Modificaitons:

NioEventLoop#openSelector should return a tuple so we can atomically set the wrapped and unwrapped Selector
NioEventLoop#rebuildSelector0 should use the unwrapped version of the selector

Result:
Fixes https://github.com/netty/netty/issues/6607.

@nhw76 - Can you verify this fixes the issue?

4.1 (c37267d) 4.0 (be94aa0)


Book copies code not displayed due to mdbook bug

https://rustwasm.github.io/book/hello-world.html
Some code on this page is incorrect, and is different from the source code. Presumably it was changed at some point and the site wasn't updated? Here is the offending snippet:
# #![allow(unused_variables)]
#fn main() {
#[no_mangle]
pub extern fn add_one(a: u32) -> u32 {
    a + 1
}
#}

Assuming the code you're displaying is the result of using the "copy snippet" button (seems like it, since it displays fine), this is actually a bug upstream in mdbook.

Actually, I wasn't copying the snippet, that's just how it was displayed. I just realized though that NoScript was active on the page. Once I disabled NoScript it displayed fine and the code was correct. I'm not sure how many people might view the page with javascript disabled, but here's what it looked like:

Ah okay. Once that issue is resolved, this will actually be fixed as well. I haven't looked too much into how it'd be solved, but if you're interested it can be found here.

Since we know the root cause and there's an issue for upstream I've changed the title name and added some labels, but until this gets changed in mdbook there's not much we can do about it. Thanks for bringing it to our attention though! :D


fix: move instance-name to tenant config; move update tenant config flow to CE

Description

Move the Instance Name to Tenant Configuration.
Move the updateTenantConfiguration API to CE

PR fixes following issue(s)
Fixes https://github.com/appsmithorg/appsmith/issues/24286
Type of change

Chore (housekeeping or task changes that don't impact user perception)

Testing

Currently this has been tested manually. Need to add unit test for the same.

Test Plan

Add Testsmith test cases links that relate to this PR

Issues raised during DP testing

Link issues raised during DP testing for better visiblity and tracking (copy link from comments dropped on this PR)

Checklist:
Dev activity

[ ] My code follows the style guidelines of this project
[ ] I have performed a self-review of my own code
[ ] I have commented my code, particularly in hard-to-understand areas
[ ] I have made corresponding changes to the documentation
[ ] My changes generate no new warnings
[ ] I have added tests that prove my fix is effective or that my feature works
[ ] New and existing unit tests pass locally with my changes
[ ] PR is being merged under a feature flag

QA activity:

[ ] Speedbreak features have been covered
[ ] Test plan covers all impacted features and areas of interest
[ ] Test plan has been peer reviewed by project stakeholders and other QA members
[ ] Manually tested functionality on DP
[ ] We had an implementation alignment call with stakeholders post QA Round 2
[ ] Cypress test cases have been added and approved by SDET/manual QA
[ ] Added Test Plan Approved label after Cypress tests were reviewed
[ ] Added Test Plan Approved label after JUnit tests were reviewed

/ok-to-test sha=6afe810

/build-deploy-preview skip-tests=true

/ok-to-test sha=079a0c2

/ok-to-test

/build-deploy-preview skip-tests=true

/ok-to-test

/ok-to-test

/ok-to-test


Add missing className for ButtonPlayProps typing

What:
Added missing className typing for ButtonPlayProps interface
Why:
ButtonPlay has ability to set custom className (and its already documented)
How:
Changes were implemented for TS typings
Checklist:

[ ] Documentation added/updated (N/A)
[x] Typescript definitions updated
[ ] Tests added and passing (N/A)
[x] Ready to be merged

@allcontributors please add @alecdwm for code


forge script allow for try ... catch ...

Component
Forge
Describe the feature you would like
It would be nice to allow for try ... catch ... statements in deploy scripts for simpler integration tests and deploy setups. Currently the script fails even when wrapping calls.
Additional context
No response

I was just able to run a script that had a try catch, so marking this completed. @0xPhaze if you still have this issue we can reopen, just provide steps to reproduce
pragma solidity ^0.8.13;

import "forge-std/Script.sol";
import {Counter} from "src/Counter.sol";

contract CounterScript is Script {
    function setUp() public {}

    function run() public {
        vm.startBroadcast();
        Counter counter = new Counter();
        try counter.increment() {
            // I modified increment to always revert
        } catch {
            console.log("still worked"); // this got logged, script was successful
        }
    }
}


xSQLServerReplication - failing when tries to apply replication to same distributor on 2nd instance

ERROR:
VERBOSE: [SERVERNAME]:                            [[xSQLServerReplication]INSTANCE2] Loaded assembly:
Microsoft.SqlServer.ConnectionInfo, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=89845dcd8080cc91
VERBOSE: [SERVERNAME]:                            [[xSQLServerReplication]INSTANCE2] Creating DistributorPublisher
SERVERNAME\INSTANCE2 on SERVERNAME\DISTRIBUTOR
VERBOSE: [SERVERNAME]:                            [[xSQLServerReplication]INSTANCE2] Loaded assembly:
Microsoft.SqlServer.Rmo, Version=<IP_ADDRESS>, Culture=neutral, PublicKeyToken=89845dcd8080cc91
Exception calling "Create" with "0" argument(s): "An exception occurred while executing a Transact-SQL statement or
batch."
    + CategoryInfo          : NotSpecified: (:) [], CimException
    + FullyQualifiedErrorId : ExecutionFailureException
    + PSComputerName        : SERVERNAME

VERBOSE: [SERVERNAME]:                            [[xSQLServerReplication]INSTANCE2] Calling InstallDistributor with
RemoteDistributor = SERVERNAME\DISTRIBUTOR
VERBOSE: [SERVERNAME]: LCM:  [ End    Set      ]  [[xSQLServerReplication]INSTANCE2]  in 1.9420 seconds.
The PowerShell DSC resource '[xSQLServerReplication]INSTANCE2' with SourceInfo
'C:\git\repos\db\build\dsc\DSC_Configuration.ps1::189::17::xSQLServerReplication' threw one or more
non-terminating errors while running the Set-TargetResource functionality. These errors are logged to the ETW channel
called Microsoft-Windows-DSC/Operational. Refer to this channel for more details.
    + CategoryInfo          : InvalidOperation: (:) [], CimException
    + FullyQualifiedErrorId : NonTerminatingErrorFromProvider
    + PSComputerName        : SERVERNAME

Details of the scenario you tried and the problem that is occurring:
I have one machine with multiple instances. Replication DISTRIBUTOR instance for distributor and INSTANCE1 and INSTANCE2 as subscribers to the distributor. DSC successfully sets the replication to the INSTANCE1, but it returns failure when it tries to set the second one.
I tried to play around and disabled Publishing and Distribution on INSTANCE1, the DSC scripts started to fail on the INSTANCE1 step during DSC run.
Note that Publishing and Distribution is enabled even the failure message is returned.
The DSC configuration that is using the resource (as detailed as possible):
SQLInstances = @(
    @{
        Instance = 'DISTRIBUTOR'
        Features = 'SQLENGINE,REPLICATION,SSMS,ADV_SSMS'
        SourceFolder = 'SqlServer2012'
        Collation = 'Latin1_General_BIN'
        TCPPort = 24211
        DistributorMode = 'Local'
        SQLMaxMemory = 512 #512MB
    },
    @{
        Instance = 'INSTANCE1'
        Features = 'SQLENGINE,REPLICATION,SSMS,ADV_SSMS'
        SecurityMode = 'SQL'
        SourceFolder = 'SQLServer2008R2'
        Collation = 'Latin1_General_CI_AS'
        TCPPort = 24212
        DistributorMode = 'Remote'
        RemoteDistributorInstance = 'DISTRIBUTOR'
        SQLMaxMemory = 1024
    },
    @{
        Instance = 'INSTANCE2'
        Features = 'SQLENGINE,REPLICATION,SSMS,ADV_SSMS'
        SourceFolder = 'SQLServer2008R2'
        Collation = 'Latin1'
        TCPPort = 24213
        DistributorMode = 'Remote'
        RemoteDistributorInstance = 'DISTRIBUTOR'
        SQLMaxMemory = 512
    }...

if($sqlInstance.DistributorMode)
{
  xSQLServerReplication $sqlInstance.Instance
  {
    DependsOn = @(
         "[xSqlServerSetup]$($sqlInstance.Instance)"
         "[xSQLServerConfiguration]$($sqlInstance.Instance)_MaxTextReplSize"
     )
     InstanceName = $sqlInstance.Instance
     DistributorMode = $sqlInstance.DistributorMode
     WorkingDirectory = $Node.SQLReplDataFolder
     AdminLinkCredentials = $Node.ReplicationAdminLinkAccount
     RemoteDistributor = "$($Node.NodeName)\$($sqlInstance.RemoteDistributorInstance)"
     PsDscRunAsCredential = $Node.InstallerAccount
  }
}

Version of the Operating System, SQL Server and PowerShell the DSC Target Node is running:
Windows Server 2012
SQL 2008R2 for subscribers
SQL 2012 for distributor
PowerShell 5.1
What module (SqlServer or SQLPS) and which version of the module the DSC Target Node is running:
xSQLServerReplication
Version of the DSC module you're using, or 'dev' if you're using current dev branch:
<IP_ADDRESS>

CAN BE CLOSED: Config error


Log number of retained files in VFS

and assert the number in the soak test.
Fixes #12276.

@lptr PTAL!


User Creation Mutation

Following on from #173. When a user provides name and password, need to:

Remove invite from DB
Create user in Auth0

 User Management


registry watch connection with auth

When I add a WrapHandler, all my requests need to auth.
The WrapHandler code:
srv.Init(micro.WrapHandler(handler.AuthWrapper))

But when the micro registry watch the connection, it will have error.
Error:
2019/06/05 22:26:23 [ERR] consul.watch: Watch (type: services) errored: Get http://<IP_ADDRESS>:9092/v1/catalog/services: read tcp <IP_ADDRESS>:57288-><IP_ADDRESS>:9092: read: connection reset by peer, retry in 3m0s

How can I solve it?


EHN: Left pushforward data migration

This PR implements the data migration functor ΣF for F: C -> D. ΣF takes a C-Set X and produces a D-Set ΣF(X)

A few notes:

This PR implements a struct Functor. Do we want to make this more general and have accompanying methods?
A potential todo is to refactor the migrate! method to match Σ

Thanks @slibkind!


Remove /redirects.rb

Since this only works for Netlify, not the production site on GitHub pages, I'm removing this file for now.

This change is

@ahmetb @calavera Remind me to put this back in once we go to Netlify for our production site.


Getty SPARQL Query too restrictive

FILTER(CONTAINS(STR(?iiif),'iiif/manifest')) in harvester/getty.py excludes https://media.getty.edu/iiif/pres/... manifest URLs.
It's better, I think, to use the following statement: ?iiif rdfs:label "IIIF Manifest URL" .  (yields ca. 6,5k more results)

Good call. Changed https://github.com/TomDeneire/pictor/commit/a2025185510f7198ad40410ecdd8c693129bbe1e


Change file used to check kubeadm upgrade method

Test for ca.crt instead of admin.conf because admin.conf
is created during normal deployment.

ci check this

have a question,  if kubeadm enabled when admin.conf was create ?
kubeadm init?

@chapsuk admin.conf is created during kubeadm init


Remove interior mutability from MemoryConsumer

Which issue does this PR close?

Closes #.
Rationale for this change

I can't see a need for the interior mutability and it just adds code complexity, and theoretically runtime overheads
What changes are included in this PR?

Are these changes tested?

Are there any user-facing changes?

Following conversation with @crepererum going to take a more holistic look at this interface

Closing in favor of #4522


Delay in dartpad

What happened?
Randomly, at least I couldn't find any pattern, Future.delayed takes more time than it should to complete. If I rerun this, they will differ again,

Steps to reproduce problem
Additional info
Browser
Browser: Google Chrome
Version: 112.0.5615.137
Are you using any extensions/plugins that affect website behavior
(particularly those that affect iframes, such as ad blockers)? Only Kaspersky Protection
Machine
Operating system: Windows 11 Pro
Version: 22H2
Your code
import 'dart:async';
import 'dart:collection';

String hour(DateTime date) {
  return '${'${date.hour}'.padLeft(2, '0')}:${'${date.minute}'.padLeft(2, '0')}:${'${date.second}'.padLeft(2, '0')}';
}

void main() async {
  final processor = MyProcessor();

  print('Start');
  // First function call
  processor.process(() async {
    print('\nStarting first call');
    print(hour(DateTime.now()));
    await Future.delayed(Duration(seconds: 2));
    print(hour(DateTime.now()));
    print('First call completed');
    return 'Result from first call';
  });

  // Second function call
  processor.process(() async {
    print('\nStarting second call');
    print(hour(DateTime.now()));
    await Future.delayed(Duration(seconds: 1));
    print(hour(DateTime.now()));
    print('Second call completed');
    return 'Result from second call';
  });

  // Third function call
  processor.process(() async {
    print('\nStarting third call');
    print(hour(DateTime.now()));
    await Future.delayed(Duration(seconds: 3));
    print(hour(DateTime.now()));
    print('Third call completed');
    return 'Result from third call';
  });
}

class MyProcessor {
  bool _isProcessing = false;
  final Queue<Completer> _completerQueue = Queue();

  Future<void> process(FutureOr<dynamic> Function() func) async {
    final completer = Completer();
    _completerQueue.add(completer);

    while (_completerQueue.first != completer) {
      await _completerQueue.first.future;
    }

    _isProcessing = true;
    final result = await func();
    _isProcessing = false;

    if (_completerQueue.isNotEmpty) {
      final nextCompleter = _completerQueue.removeFirst();
      nextCompleter.complete();
    }

    return result;
  }

  bool get isProcessing => _isProcessing;
}

DartPad's output
Did DartPad print anything to the console pane?  If the Dart runtime is doing something at the time where the timer runs out, the timer event won't be handled until control returns to the event loop.
The DartPad version of this code does seem to have a fairly consistent extra ~1-second delay compared to running the JS code directly on the command line.

Thank you for the explanation! Should this be left as is? I would think it was better if we at least documented this somewhere easily accessible. If you disagree with me, please feel free to close this issue.

I think I'll leave that to the dartpad developers to decide.
There is a delay compared to running the same code on the command line using node. If that has a good explanation, it's probably fine. If it's not supposed to be that way, it might be revealing an underlying problem.
I'll leave that to the experts to decide.

@lrhn Any idea which experts I should chat with? I doubt this is a DartPad specific issue, more likely a Dart2JS issue.
Any ideas @kevmoo?

Might be a Chrome-specific issue.
I'm seeing the same ca. 1 second slowness on all branches from "old" to "master", but none when running in Firefox (Focus, on my phone, will check in more detail when I get to a desktop).
If so, it might be dart2js itself which is slower on Chrome, which wouldn't necessarily show up when I tested the code on the command line with Node or V8 directly. Those use the preamble JS files instead of the real browser features, and if the overhead it's in accessing those browser features, it only happens in the actual browser.
It's still a very visible difference, and something I'd hope some with benchmark should have noticed og it was a general issue.
I'll try investigating a little more, maybe using browser dev-tools. No promises that I'm competent to find the real cause.

Something seems to be seriously slow with timers in DartPad on Chrome.
I changed the example to use StopWatch and a timer to count progress along the way:
https://dartpad.dev/?id=7ac1c2637ac1caca2a261693bfdf0df0
The 100 ms timer only fires once per second. If all timers only get to fire once per second, that explains how a delayed future completes almost one second after its duration runs out - that's when the next timer slot is, since it was scheduled slightly after a previous timer slot.
Firefox does not show that behavior.
But WHY is that? (I'll try closing some Chrome windows and see if it makes a difference. Including this one.)

I'm still testing (missing Ubuntu and Mac to see if this behaviour changes anywhere) but on Windows at least it seems that some Chromium-based browsers have this problem. I've tested on:

Chromium-based (with this delay):

Google Chrome
Microsoft Edge

Chromium-based (no delay):

Opera

Firefox

One possibility is that DartPad compiled code is throttled because the user code is running in a cross-origin non-isolated frame.
That is apparently a thing in Chrome, but one tick per second seems excessive.

As this looks like a specific security concern in the construction of sandbox iframes, I'm going to close this as WAI. Sure it isn't ideal, but DartPad has been engineered for an aggressively antagonistic threat environment known as the web.
This is why we can't have nice things.

Could it be possible to isolate the sandbox better. The idea I got from searching for this issue was that the restriction was greater for non-isolated cross-origin code.
I guess isolating too much would make it harder to see and interact with the results, but if the compiled code frame could somehow be completely isolated from the surrounding editor, etc., and only be able to write to its own output DOM element, with all the contents sent from the same server, ... maybe the timers could get less cripppled?
(Hoping, because I do use DartPad for testing, and if timing is completely out of wack, it's much less useful.)

The issue with constraining the iframe further is that it will further break our Firebase integration.

Hey, just an update. Only posting here JIC anyone finds this issue, they know it has been solved.
I'm not sure what happened, but I just tested the example on Chrome and everything worked just fine.
Tested on two Windows devices and one Android. All working as they should!


Enforce a minimum golang version with a nice error message.

Only works for major versions.

FYI, once we upgrade to go1.21 we don't need this anymore:

To improve forwards compatibility, Go 1.21 now reads the go line in a go.work or go.mod file as a strict minimum requirement: go 1.21.0 means that the workspace or module cannot be used with Go 1.20 or with Go 1.21rc1. This allows projects that depend on fixes made in later versions of Go to ensure that they are not used with earlier versions. It also gives better error reporting for projects that make use of new Go features: when the problem is that a newer Go version is needed, that problem is reported clearly, instead of attempting to build the code and printing errors about unresolved imports or syntax errors.

https://go.dev/doc/go1.21#tools

is there a go 1.21 upgrade PR / path?


"Smiling face" style issue

https://jsfiddle.net/mafkc5sn/1/
For some reason this emoji character is not styled (third row middle).  I haven't checked all of them, I just spotted this one.

On my system, the picker renders OK, but that particular emoji renders wrong in the text field, is that what you're seeing?
The default system font, on some operating systems, do not render all emojis correctly. I'm really not sure why. Anyway, you need to use the system emoji font. This differs per platform of course, but this is what I use in the picker itself and it seems to work well:
font-family: "Segoe UI Emoji", "Segoe UI Symbol", "Segoe UI", "Apple Color Emoji", "Twemoji Mozilla",
    "Noto Color Emoji", "EmojiOne Color", "Android Emoji"

In your jsfiddle, I set this font family property on the input field, and then the emoji renders correctly.
I will add a section to the documentation about this, sorry for the confusion. Hope this fixes your issue!

Thanks you for the quick response. It's clear, however I can't use a different font family for this input field. Every website has a style, which includes font family. The input field won't be using only for emojis but for normal text as well, like a chat input field. Any other way to solve this?

Unfortunately there isn't another way with native emojis.
Keep in mind that the system "emoji font" has regular glyphs as well, so text typed in the field will still be readable.
But unfortunately you can't use an arbitrary font in this case because other fonts do not always have all the necessary emoji glyphs.
This article describes it in more detail.
Keep in mind that emojis are just Unicode code points, and like any other they won't render as expected if no glyph is defined.
Your alternative is to use Twemoji, however that won't work with a native  at all since they are just SVG or PNG images. You'd have to use a contenteditable element for that.

Thanks, it's fine now! For a moment I forgot that I can define multiple font families (mine first, than emoji ones).


Create binary of gauntlt that can be downloaded and run without using gem install

@jeremiahshirk had the brilliant idea to compile gauntlt into a jar file using JRuyb that could be downloaded without having to install anything. We could also create a mac binary using MacRuby (since many of our potential users will be on OS X).
This makes a lot of sense and would speed up the adoption of gauntlt.

@wickett is going to solve this with a Go rewrite here: https://github.com/gauntlt/gauntlt-go


Refactor Number and String tests to use chain.assertOK

Number and String have many fragments like this:
				if tc.isEqual {
					NewNumber(reporter, tc.number).IsEqual(tc.value).
						chain.assertNotFailed(t)

					NewNumber(reporter, tc.number).NotEqual(tc.value).
						chain.assertFailed(t)
				} else {
					NewNumber(reporter, tc.number).NotEqual(tc.value).
						chain.assertNotFailed(t)

					NewNumber(reporter, tc.number).IsEqual(tc.value).
						chain.assertFailed(t)
				}

With recently added chain.assertOK, such fragments can be simplified to:
				NewNumber(reporter, tc.number).IsEqual(tc.value).
					chain.assertOK(t, tc.isEqual)

				NewNumber(reporter, tc.number).NotEqual(tc.value).
					chain.assertOK(t, !tc.isEqual)

This should be done in all appropriate tests in number_test.go and string_test.go.

@gavv
Hi.
I have opend PR #347
Please check this.

Thanks!


"Total number of transcribers who have accepted Transcription Agreement, but have no records" missing from statistics

See my comment re vld files on #1356
Geoff


Define statement_type choices for FilerFilingsCd

mysql> select STMNT_TYPE, count(*) from FILER_FILINGS_CD group by STMNT_TYPE order by STMNT_TYPE;
+------------+----------+
| STMNT_TYPE | count(*) |
+------------+----------+
|          0 |        9 |
|      10001 |  1120241 |
|      10002 |    98231 |
|      10003 |    51983 |
|      10004 |      335 |
|      10005 |   433427 |
|      10006 |    84599 |
|      10007 |     1280 |
+------------+----------+
8 rows in set (3.68 sec)

I do not think that this makes it any clearer.... Hm.

I looked through the official docs quickly and didn't see their definitions, but it wouldn't surprise me if they are deep down there somewhere and I missed it.

Consolidated in #1194


Plain gbd

This PR allows users to define priors on Gamma, Dirichlet and Beta distributions and run inference in VMP mode. Approximations (either for messages or average energies) are heavily based on Stirling's approximation and Monte Carlo summation. Missing analytical rules such as VMP towards rate of Gamma and BP for categorical node with pointmass out, has been implemented as well.

Thanks for this PR @semihakbayrak!