Missing ForaignKey on 1 <-> 0..1

Unchanged

Created DbContext Code:
v<IP_ADDRESS>
modelBuilder.Entity<Upload>()
		 .HasOne<Commit>(p => p.Commit)
		 .WithOne(p => p.Upload)
		 .HasForeignKey("Commit", "UploadId")
		 .OnDelete(DeleteBehavior.Cascade);

v<IP_ADDRESS>
modelBuilder.Entity<Upload>()
			 .HasOne<Commit>(p => p.Commit)
			 .WithOne(p => p.Upload);

Error v<IP_ADDRESS>
System.InvalidOperationException: The dependent side could not be determined for the one-to-one relationship between 'Commit.Upload' and 'Upload.Commit'.
To identify the dependent side of the relationship, configure the foreign key property. If these navigations should not be part of the same relationship, configure them independently via separate method chains in 'OnModelCreating'. See http://go.microsoft.com/fwlink/?LinkId=724062 for more details.

When i ad the missing two lines back it works like before.
Working but still strange

v<IP_ADDRESS>
modelBuilder.Entity<Program>()
		 .HasMany<Upload>(p => p.Uploads)
		 .WithOne(p => p.Program)
		 .HasForeignKey("ProgramId")
		 .OnDelete(DeleteBehavior.NoAction)
		 .IsRequired();

v<IP_ADDRESS>
modelBuilder.Entity<Program>()
		 .HasMany<Upload>(p => p.Uploads)
		 .WithOne(p => p.Program);

Is this behavior expected?

Using the latest version (4.2.0) I made the following model:

It generated the code
         modelBuilder.Entity<global::EFVisualEditorTest.Child>()
                     .ToTable("Child")
                     .HasKey(t => t.ID);
         modelBuilder.Entity<global::EFVisualEditorTest.Child>()
                     .Property(t => t.ID)
                     .ValueGeneratedOnAdd()
                     .IsRequired();
         modelBuilder.Entity<global::EFVisualEditorTest.Child>()
                     .Property(t => t.PID)
                     .IsRequired();
         modelBuilder.Entity<global::EFVisualEditorTest.Child>().HasIndex(t => t.PID);

         modelBuilder.Entity<global::EFVisualEditorTest.Parent>()
                     .ToTable("Parent")
                     .HasKey(t => t.ID);
         modelBuilder.Entity<global::EFVisualEditorTest.Parent>()
                     .Property(t => t.ID)
                     .ValueGeneratedOnAdd()
                     .IsRequired();
         modelBuilder.Entity<global::EFVisualEditorTest.Parent>()
                     .HasOne<global::EFVisualEditorTest.Child>(p => p.Child)
                     .WithOne(p => p.Parent)
                     .HasForeignKey<global::EFVisualEditorTest.Child>(k => k.PID);

which migrated fine and created the database.
Possibly the issue slipped by in a prior version but is fixed now. Can you give it another try?

The Entities above are fine now.
But i found another "inconsistency"
Bidirectinal Associations generate different code depending on the Start and End point even when you set the Multiplicity the same.
Although it looks identical in the Model Diagram.
Left: Bidirectional from Upload -> Release
Right: Bidirectional from Release -> Upload with switched Multiplicity
It looks nearly the same in the Model Diagram, shouldn't this create identical modelBuilder Code?

That's a side effect of how the T4 iterates through the classes. The resulting code is functionally identical, ignoring the change resulting from the removal in the model of the UploadId foreign key property. There isn't a need to change what it does since it produces the same model in Entity Framework Core.
Of course, since this processing happens in the T4, you're free to change it if it's bothersome. But it doesn't worry me from a product functionality standpoint.
Thanks for pointing it out. Since the original issue is resolved, I'll close this ticket.


Relational DB Schema

Create the first Iteration of Relational DB Schema and discuss with team

Looks Good to me!


using env variables in xml file

Hi,
Is it possible to define filename path dynamically, with an environment variable etc.
What I want to do is something like this:
<rollingfile type="date" filename="os.GetEnv(logpath)/roll.log" datepattern="02.01.2006"/>

Hi!
Currently, no, but as long as config is just a string, you can use any golang template packages to create it dynamically in runtime before loading the logger.

Will do, thanks!


update hello world example link in docs

The actual code is also a bit different. Should that be copied over too?

Thanks!

The actual code is also a bit different. Should that be copied over too?

Nope, the code is different on purpose, to not clutter the readme


Update ExecCredential to work for v1beta1

awsrun kubectl get pods -A --region us-east-1 | grep -v Running leads to the below error:
Unable to connect to the server: getting credentials: decoding stdout: no kind "ExecCredential" is registered for version "client.authentication.k8s.io/v1alpha1" in scheme "pkg/client/auth/exec/exec.go:62"

See this commit: https://github.com/fidelity/awsrun/commit/55f3a58c25a64b856b8e97b3aa535a6299fc586c

Thank you @pkazmier,
I tried reinstalling awsrun latest, I still seemed to hit the same error with below versions:
awsrun --version
awsrun 3.0.0
kubectl version --short
Client Version: v1.26.1
aws --version
aws-cli/1.21.0 Python/3.10.10 Linux/5.4.0-148-generic botocore/1.24.46
turns out awscli older version was to be upgraded, once I upgraded to aws-cli/2.9.22, worked like a charm.
thank you!


WIP - Update login page copy and validation

This should address the following trello card, about asking for help.
https://trello.com/c/voI0Bskm/9-update-contact-info-log-in-page
This introduces:

updated email copy
update front page copy
tests for the component

I'm having a hard time with the validation library, which is causing an error in the tests. I see the functionality working in manual testing, but this test is failing and I'm wary of it taking up loads of time:
test('the submit button should no longer be disabled with valid data', async () => {

          // arrange - allowing the form to render after
          await wrapper.vm.$nextTick()

         // set the value
<EMAIL_ADDRESS>
          // for reasons which aren't obvious we need to set the data too. I think this is related to vee-validate
         // wrapper.setData({email<EMAIL_ADDRESS>
        // Because validation occurs on blur we need to trigger the blur, then wait for the next 'tick'
          wrapper.find("input[name='email']").trigger('blur')

          await wrapper.vm.$nextTick()

          // assert that the button is on now
          expect(wrapper.find('button').element.disabled).toBe(false)
        })

    })

Ah, maybe this is the issue. I assumed the call to next tick would resolve all promises but this might not be the case, based on this info in the docs for Vee Validate

After triggering an event like an input event, make sure to call flushPromises before checking the UI for changes:

I've done some research for the the validation issue, and it looks like it's quite a rabbit hole to go down.
As such, I've summarised the issue, so we can at least merge in the copy changes.
https://github.com/Greening-Digital/constellate/issues/72

@rmparr can I get a quick review of this mate?


Fixes issues #5, #6 and #7

I've modified importNmModTheta and importNmModOmega to better parse THETA, OMEGA and SIGMA records when one or more value is fixed (fixes #6 and #7 ). Parsed output is now data frame (THETA) and list (OMEGA, SIGMA). Parsed output includes information for FIX, SAME (in the case of OMEGA, SIGMA) and captures comments. Should facilitate writing these elements back to file and retaining information from the original. Also added @export to importNmMod.R to fix issue #5

Thanks @MikeKSmith , looking for reviewer now and will report back.


Issue with k8s.io/docs/reference/kubectl/conventions/

This is a typo Report

Problem:
In this sentence:

To check the final resource that was created, use the --dry-run flag, which provides the object to be submitted to the cluster.

The word

provides

should be

prevents

Proposed Solution:
Page to Update:
https://kubernetes.io/docs/reference/kubectl/conventions/

IMO, I think the sentence needs to be rephrased.  --dry-run flag provides the detailed definition of the object that would be created when the command is run, but at the same time it does not create an actual object.
/language en
/good-first-issue

/priority backlog

Hi, I want to work on this

/assign

Its good to be closed

/close


Build

:+1:
It is not necessary but it would be nice if code coverage reports were automatically opened after the build.

Not sure I understand what you mean by "automatically opened", but there is a section of the build output that shows what the coverage is.  As soon as I get some time I'll also fix the test coverage reports.  For some reason they aren't being generated. ( I probably just messed up the phpunit config)

Side note: it also shows WHO committed the phpcs violations during the build process.  Let the finger pointing commence! :-)


[IPCT1-342] remove unused storage

This PR fixes [IPCT1-342] at https://impactmarket.atlassian.net/browse/IPCT1-342
Changes
Removes unused deprecated code.

@obernardovieira there is a conflict before the merge. But I already approved the changes.


Add newline conversion for postBuild scripts

Fixes #263
Python normalises line endings to always be "platform appropriate". So by reading in a file that potentially uses \r\n (because it was checked out from git on Windows) and writing it out again on a linux platform (inside a docker container) we make sure files only use \n.

What do people in general think about this?
If it has support I would add some tests with explicit \r\n in them to make sure this works.

I'm +1, I think it's a fair concern that it slightly change the thing that is run on the repo2docker side vs. whatever is on the computer. However, since this is limited to line endings I think it's OK. Otherwise any user that makes things on windows will have to 1. learn about the concept of line endings, and 2. remember to change this, every time the wanna use postBuild.
tl;dr, I can't really think of a situation where we'd think "damn, I wish we had not forced *nix line endings", so I'm +1

Does anyone have an idea why suddenly the memlimit tests fail? Doesn't seem like something that would be flaky but also not really related to changes here I'd say.

Can we add something that asserts that the original postBuild in the test contains CRLFs? So that we find out if that ever stops being the case which would make the test useless.

Where/how would we get that snippet executed as part of the test? verify is run inside the container where we will see the converted version :-/

Does someone have an idea why the test_memlimit_nondockerfile_fail test fails?

What shall we do with this one, @betatim? Do you think there have been enough complaints about this in the last two years for us to push this through?

I'm triaging some PRs - @betatim do you have a recommendation on what to do with this?

I think it would be useful and doesn't add too much complexity/magic. However it seems like there isn't a lot of interest/need. If someone is interested to pick up this stalled PR that would be great.

I'll go for a close at this point since we are not actively working this PR and since it would introduce a possible issue for binary postBuild executables.


Execute shell commands

Hi, thanks for your work!
Is there a good way to execute command lines in a shell and capture both the stdout/stderr and exit status code?
This would be great for unit tests and expanding functionality beyond what JavaScript code could do.

I was able to get this working:
description: Proof of concept with Java Runtime.getRuntime().exec()
actors:
  - actor: ACTOR1
    segments:
      - segment: 1
        actions:
          - description: Echo uptime command output
            script: |
              var Process = Java.type("java.lang.Process");
              var Runtime = Java.type("java.lang.Runtime");
              var BufferedReader = Java.type("java.io.BufferedReader");
              var InputStreamReader = Java.type("java.io.InputStreamReader");
              var JavaString = Java.type("java.lang.String");
              var p = Runtime.getRuntime().exec("uptime");
              var stdInput = new BufferedReader(new InputStreamReader(p.getInputStream()));
              var s = new JavaString();
              while ((s = stdInput.readLine()) != null) {
                $log(s);
              }
              $log("Done");

But there must be a cleaner way?

For anyone googling, here it is as a macro:
description: $macroArgs.description
actions:
  - script: |
      var Process = Java.type("java.lang.Process");
      var Runtime = Java.type("java.lang.Runtime");
      var BufferedReader = Java.type("java.io.BufferedReader");
      var InputStreamReader = Java.type("java.io.InputStreamReader");
      var JavaString = Java.type("java.lang.String");
      var p = Runtime.getRuntime().exec($macroArgs.cmdline);
      var p_stdout = new BufferedReader(new InputStreamReader(p.getInputStream()));
      var p_stderr = new BufferedReader(new InputStreamReader(p.getErrorStream()));
      var s = new JavaString();
      while ((s = p_stdout.readLine()) != null) {
        $log("STDOUT: " + s);
      }
      while ((s = p_stderr.readLine()) != null) {
        $log("STDERR: " + s);
      }
      p.waitFor();
      var exitcode = p.exitValue();
      $log("EXITCODE: " + exitcode);
      $macroOutput.exitcode = exitcode;

Thanks, David, for making your solution available. This is the best solution to this problem. The only other way to do it is by creating a custom keyword, but the downside with that option is that for someone to use the custom keyword they would have to first copy the JAR file in the user-jars directory of their test actor, whereas with your solution they don't need to do anything special to set up their test actor.
The only other thing to note (which you are probably aware of already) is that, when you run things at the command line, your test is not cross-platform anymore, so you'll have to be aware what OS your test actors are running on when creating your test sessions.

Gotcha, makes sense. Thanks Adrian, I'll close this issue


Delete in Filebrowser top-bar

All seems well - might as well merge?

Yeah, although I do have plans for some more Filebrowser updates, primarily the dynamic context-menu for right click actions once I can get it to work appropriately.

Works great!

now managespots page produces:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the remote resource at http://<IP_ADDRESS>:8080/squid_servlet-1.0.0/spotspull. (Reason: header ‘access-control-allow-origin’ is not allowed according to header ‘Access-Control-Allow-Headers’ from CORS preflight response).

And thats within a CORS browser correct? I might just try to tackle the
root cause of the CORS issues so we don't have to worry about the browsers
and everything for the rest of development.
On Wed, Aug 25, 2021 at 9:46 AM Jim Bowring @.***>
wrote:

now managespots page produces:
Cross-Origin Request Blocked: The Same Origin Policy disallows reading the
remote resource at http://<IP_ADDRESS>:8080/squid_servlet-1.0.0/spotspull.
(Reason: header ‘access-control-allow-origin’ is not allowed according to
header ‘Access-Control-Allow-Headers’ from CORS preflight response).
—
You are receiving this because you authored the thread.
Reply to this email directly, view it on GitHub
https://github.com/CIRDLES/Squidink-Filebrowser/pull/3#issuecomment-905516234,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/AN75YEPFQCFDYG6VLSJRBWTT6TX5FANCNFSM5APO4FGA
.
Triage notifications on the go with GitHub Mobile for iOS
https://apps.apple.com/app/apple-store/id1477376905?ct=notification-email&mt=8&pt=524675
or Android
https://play.google.com/store/apps/details?id=com.github.android&utm_campaign=notification-email
.

additionally - the floating menu item does not always appear for opening files

Just pushed up a change to temporarily disable the context menu. I wasn't ever really happy with its implementation and it seems it hasn't quite grown as the rest of the Filebrowser has. I'll add it to my list and look into a better solution.
In reference to the .zip and .xml files, they seem to be running for me locally. I'd go ahead and pull down the context menu change as an opportunity to rebuild the program. They were also accompanied by a change for SquidinkWebServices so maybe rebuild that one as well.


Only support tls version 1.1

Erlang/OTP can only handle certain hashing functions and apple has
changed there. The current fix is to only support tlsv1.1.
http://erlang.org/pipermail/erlang-questions/2015-June/084935.html
This fixed it locally. Unable to execute the test though :-/

Annd I don't know how to view elvis errors.


the eventmachine 1.0.3 version is not able to be built on ruby 2.2

I wish to build em-twitter in my computer, but I got the same problem as this
After trying to upgrade the gem version to 1.0.4, em-twitter works fine (At least in my project)

+1 for updating eventmachine! :)

I think the way the dependency is defined currently should allow you to update eventmachine to 1.0.x without requiring a new release of em-twitter. Have you tried bundle update eventmachine?


feature idea - current task

Hey, I've been using the app for over a year now, really is the best TODO list for me!
A feature I was thinking about adding was giving the ability to click on a specific task and label it as "current" (denoted by an icon). This current task would then display in Menu bar (top right of the screen) at all times.
I can make the feature optional via a toggle in preferences so the app would behave as it currently does until enabled.
Let me know what you think.

If this is implemented, it could work like https://monofocus.app/ which reminds you what the task you're supposed to work on is.


Tweaks

This PR does two minor, distinct tweaks:

when instantiating components, recycle the vdom.state rather than overwrite it, by turning copy(data) into assign(target, source).
merge two if blocks into one in hyperscript.js (best viewed with ?w=1 tacked to the url)

:smiley:  to the docs change to be accurate
:neutral_face: to the change to recycle vdom.state
:unamused:  to using for in for iterating Arrays & Objects (see my line comment for simple perf tests)
I will re-run those tests with smaller iterations to see if it makes any difference.

Nope, using smaller Arrays/Objects makes for in fall even farther behind for Arrays, and it still gets beat handily for objects as well.
https://jsbin.com/jorodun/4/edit?js,console
https://jsbin.com/hucimo/3/edit?js,console,output

According to the docs, vnode.state is supposed to be an Object (non-optional)... Vnode() provides one, and if you create the nodes manually, it's up to you to follow the docs, so the Array branch is read code.
Also, a for-in loop visit the prototype chain, which enables one to use the instance of an ES6 class as a components. The current implementation uses for-in and I remember code samples where people were doing just that with the rewrite.

@pygy Problem is this won't work as intuitively if you do. You'll have to use vnode.tag.property, not this.property, if you set components to ES6 classes.

I'm not following... If classes as components land, the instance would replace the default state object anyway.
The change proposed in the first commit does two things:

use the existing state object when possible rather than replace it for components
drop the Array branch of copy which is, now that I think of it, only visited when the component is an Array with a view property tacked on... That seems somewhat hacky... @lhorie was it intentional?

@pygy I meant "class instances", not "classes". My bad.

Although I feel that state should be added right before oninit is called. I don't see the need of it until then.

It enables stateful, non-component vnodes... One might argue that in that case, the state can be set manually in oninit, but then you can't use this in that hook.

Re. ES6 class instances, I thought the methods were enumerable... They're not (native ones, at least).
That leaves Crockford-style ES5 "classes" as a scenario where for in would be useful, but then you can probably use _.extend as an alternative to create fat objects.
I'll update this to use Object.keys().

I just tried it and bublé uses Crockford-like code under the hood so there the inherited methods are enumerable... I'm not sure we would want to support a non-standard use case though.

@pygy another aspect the popular transpilers chose not to implement (performance reasons) is this-binding at declaration time. A shorthand method declared as the property of an object literal will always have that object as this; a shorthand method declared as a class method can only be referenced in the context of that a class instance, and will have its this locked to that instance. Allowing author-land (spec-compliant) class components would require writing Mithril's components implementation as classes.

@barneycarroll I haven't read the spec, but both Firefox and Node allow one to rebind this on methods.
The behavior is different for objects and classes, though. With objects, primitives end up boxed as in ES3.
( new class foo{bar(){return this}} ).bar.call(5) // => 5
( {bar(){return this}}              ).bar.call(5) // => Number {5}  ==> WTF?

@pygy oh thanks! Sorry for the misleading info.

@barneycarroll IIRC you got bitten by the fact that these functions/methods are not (natively) constructible, and can't thus be used as controllers in v0.2 because they are constructed rather than .call()ed.

@pygy that's right. I went back to Kangax's super table and pulled out the Chrome console — it looks like you've got the current state of play covered.

Oh sorry, I meant to merge this earlier but it fell off my radar


[FEATURE] Integration of dart_apitool

What kind of feature are you missing?
To reduce false labels of commits, an integration of dart_apitool would be nice.
It can detect source compatibility and could function as a safety net.
The following actions could be taken:

Error should reject a commit, because it has the wrong label.
Info should tell the user that dart_apitool could not detect any incompatibilities, and the user should double-check that it is correct. This can be the case if the commit produces a behavior change, which is considered breaking.
Additional context
No response

How does this differ to using semantic commit conventions?

It does not differ, but it assists. The labeling process of commits is manual and therefore errors could be introduced. dart_apitool can catch some of these issues (source, but not behavioral compatibility).
For example, you change the method double calculate() to int calculate() and you forget the breaking change label of your commit, and it looks something like feat: change return type. dart_apitool can detect that this is a breaking change, and it could be implemented that it checks if the commit has been marked as such.

I see, I would say that integrating with this tool is beyond what this plugin is designed to offer, which is to publish a Dart/Flutter package onto the package registry. And it belongs to a different step within the semantic release execution cycle, so I think it should be built as a separate plugin.
The other way I see how this tool is more suitable might be integrating into the PR merge checks. Having this tool to run in PRs to ensure that the correct semantic commit is used can ensure that the right release type is determined when run with semantic release.


Canvas globalCompositeOperation = source-in not working with gradients on Android

Hi, always here testing this super awesome library (for me a game changer in NS like RootLayout) now I have this issue when using gradients and trying to mask for create an icon that crops and has the color of the gradient. What I'm trying to do is to create a Font Awesome icon with a gradient pattern so I tried as follows:
const canvasContext = canvas.getContext('2d') as unknown as CanvasRenderingContext2D

const { width, height } = getViewConstraints(canvas as any)

const itemsWidth = width / this.items.length

canvasContext.clearRect(0, 0, width, height)
canvasContext.setTransform(1, 0, 0, 1, 0, 0)

canvasContext.save()

this.items.forEach((item, index) => {
  const leftOffset = itemsWidth * index

  const gradient = canvasContext.createLinearGradient(leftOffset, 0, leftOffset + itemsWidth, height)
  gradient.addColorStop(0, 'red')
  gradient.addColorStop(1, 'yellow')
  gradient.addColorStop(2, 'green')

  const font = Font.default.withFontFamily('fa-regular-400')
  const imageSource = ImageSource.fromResourceSync('splash_image')
  const iconImageSource = ImageSource.fromFontIconCodeSync(String.fromCharCode(0xf0c0), font, new Color('white'))

  canvasContext.fillStyle = 'black'
  canvasContext.drawImage(iconImageSource as any, 50,0, 150, 150)
  // canvasContext.fillRect(50, 0, 150, 150)

  canvasContext.globalCompositeOperation = 'source-in'

  canvasContext.fillStyle = gradient
  canvasContext.fillRect(leftOffset, 0, itemsWidth, height)
  // canvasContext.drawImage(imageSource as any, 0,0, itemsWidth, height)

})

canvasContext.restore()

The icon remains white and no gradient is shown, also I tried using a simple rectangle instead of the icon and the gradient is not shown at all, I sometimes gets a solid color into my rectangle. The solution for now is to use an image as gradient instead of a gradient.
My environment:
@nativescript/canvas: 1.0.0-alpha.2
@nativescript/core: 8.1.0-alpha.7
@nativescript/android: 8.0.0
cli: 8.0.2

Thanks again for testing 🙂 , I'll check it out

Fixed in v2


Updated gitline to use plumbing

@mattcantstop

@wadewilliams, thanks for submitting this. I am not going to have time to review this for the next couple of weeks. Too many other things going on. @PatrickBM or @nathos may be willing/able.

@PatrickBM @nathos LMK your thoughts here, I'm happy to keep working on this, but I'm a little curious about what you all think about routing these scripts through plumbing with the github_get and github_post methods.

@wadewilliams Sorry, didn't meant to leave you languishing! Been talking with a few people here about what examples make the most sense to start with, and how to present and document these (cf. the very detailed, well-organized, and well-documented Ruby examples). I sorta put the cart before the horse...

@PatrickBM No worries. I was wondering what the appropriate path forward with the docs would be. Let me know how I can help.


Propose discussion of Authorization plugin

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "patch-1" git@github.com:lizrice/containerd.git somewhere
$ cd somewhere
$ git commit --amend -s --no-edit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

Please sign your commits following these rules:
https://github.com/docker/docker/blob/master/CONTRIBUTING.md#sign-your-work
The easiest way to do this is to amend the last commit:
$ git clone -b "patch-1" git@github.com:lizrice/containerd.git somewhere
$ cd somewhere
$ git rebase -i HEAD~842354277120
editor opens
change each 'pick' to 'edit'
save the file and quit
$ git commit --amend -s --no-edit
$ git rebase --continue # and repeat the amend for each commit
$ git push -f

Amending updates the existing PR. You DO NOT need to open a new one.

LGTM
Thanks


undefined method 'key'?

I'm having some issues with fluent 0.14.6, it was running okay for a while but a few days ago started giving me the following error on startup
2016-11-15_22:32:30.03238 2016-11-15 14:32:30 -0800 [debug]: plugin/output.rb:787:try_flush: trying flush for a chunk chunk="54135448d0359bdcbd2bad60a78b2525"
2016-11-15_22:32:30.03263 2016-11-15 14:32:30 -0800 [warn]: plugin/out_kafka_buffered.rb:239:rescue in write: Send exception occurred: undefined method `key' for #<Fluent::Plugin::Buffer::FileChunk:0x007fb1fafc4988>

This is on a centos OS.  I've found references for that issue in older versions, not sure why I am getting it.  Is there anything I can send you guys that might explain what is happening?

Here is the backtrace
2016-11-15_23:57:37.99929 2016-11-15 15:57:37 -0800 [warn]: plugin/out_kafka_buffered.rb:266:rescue in write: Exception Backtrace : /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluent-plugin-kafka-0.4.0/lib/fluent/plugin/out_kafka_buffered.rb:207:in `write'
2016-11-15_23:57:37.99929 /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/compat/output.rb:129:in `write'
2016-11-15_23:57:37.99929 /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/plugin/output.rb:995:in `try_flush'
2016-11-15_23:57:37.99930 /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/plugin/output.rb:1188:in `flush_thread_run'
2016-11-15_23:57:37.99930 /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/plugin/output.rb:393:in `block (2 levels) in start'
2016-11-15_23:57:37.99930 /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/plugin_helper/thread.rb:66:in `block in thread_create'

You said v0.14.6 but your backtrace says you use v0.14.8.
It means you hit this error on both v0.14.6 and v014.8, right?

Yeah, I recently updated to try and fix the error, but no luck.

Could you paste entire log?

016-11-15_23:57:33.07173 2016-11-15 15:57:33 -0800 [info]: fluent/supervisor.rb:504:supervise: starting fluentd-0.14.8
2016-11-15_23:57:33.07182 2016-11-15 15:57:33 -0800 [info]: fluent/supervisor.rb:525:supervise: spawn command to main: /opt/rbenv/versions/2.1.9/bin/ruby -Eascii-8bit:ascii-8bit /opt/rbenv/versions/2.1.9/bin/fluentd -c /etc/fluentd.conf -v --under-supervisor
2016-11-15_23:57:33.34451 2016-11-15 15:57:33 -0800 [info]: fluent/supervisor.rb:656:read_config: reading config file path="/etc/fluentd.conf"
2016-11-15_23:57:33.34647 2016-11-15 15:57:33 -0800 [info]: fluent/supervisor.rb:447:run_worker: starting fluentd-0.14.8 without supervision
2016-11-15_23:57:33.34702 2016-11-15 15:57:33 -0800 [info]: fluent/engine.rb:116:block in configure: gem 'fluent-plugin-kafka' version '0.4.0'
2016-11-15_23:57:33.34702 2016-11-15 15:57:33 -0800 [info]: fluent/engine.rb:116:block in configure: gem 'fluent-plugin-kafka' version '0.3.1'
2016-11-15_23:57:33.34703 2016-11-15 15:57:33 -0800 [info]: fluent/engine.rb:116:block in configure: gem 'fluent-plugin-kafka' version '0.1.3'
2016-11-15_23:57:33.34704 2016-11-15 15:57:33 -0800 [info]: fluent/engine.rb:116:block in configure: gem 'fluentd' version '0.14.8'
2016-11-15_23:57:33.34704 2016-11-15 15:57:33 -0800 [info]: fluent/engine.rb:116:block in configure: gem 'fluentd' version '0.14.6'
2016-11-15_23:57:33.34704 2016-11-15 15:57:33 -0800 [info]: fluent/engine.rb:116:block in configure: gem 'fluentd' version '0.12.25'
2016-11-15_23:57:33.34705 2016-11-15 15:57:33 -0800 [warn]: config/element.rb:115:[]: 'type' is deprecated parameter name. use '@type' instead.
2016-11-15_23:57:33.34707 2016-11-15 15:57:33 -0800 [info]: fluent/agent.rb:123:add_match: adding match pattern="events" type="kafka_buffered"
2016-11-15_23:57:33.40041 2016-11-15 15:57:33 -0800 [info]: plugin/out_kafka_buffered.rb:119:configure: brokers has been set directly: ["analytics-kafka01:9092", "analytics-kafka02:9092", "analytics-kafka03:9092"]
2016-11-15_23:57:33.40056 2016-11-15 15:57:33 -0800 [warn]: config/element.rb:115:[]: 'type' is deprecated parameter name. use '@type' instead.
2016-11-15_23:57:33.40062 2016-11-15 15:57:33 -0800 [info]: fluent/agent.rb:123:add_match: adding match pattern="events.filtered" type="kafka_buffered"
2016-11-15_23:57:33.40203 2016-11-15 15:57:33 -0800 [info]: plugin/out_kafka_buffered.rb:119:configure: brokers has been set directly: ["analytics-kafka01:9092", "analytics-kafka02:9092", "analytics-kafka03:9092"]
2016-11-15_23:57:33.40216 2016-11-15 15:57:33 -0800 [warn]: config/element.rb:115:[]: 'type' is deprecated parameter name. use '@type' instead.
2016-11-15_23:57:33.40220 2016-11-15 15:57:33 -0800 [info]: fluent/root_agent.rb:230:add_source: adding source type="forward"
2016-11-15_23:57:33.40716 2016-11-15 15:57:33 -0800 [warn]: config/element.rb:115:[]: 'type' is deprecated parameter name. use '@type' instead.
2016-11-15_23:57:33.40720 2016-11-15 15:57:33 -0800 [info]: fluent/root_agent.rb:230:add_source: adding source type="http"
2016-11-15_23:57:33.41050 2016-11-15 15:57:33 -0800 [warn]: config/element.rb:115:[]: 'type' is deprecated parameter name. use '@type' instead.
2016-11-15_23:57:33.41056 2016-11-15 15:57:33 -0800 [info]: fluent/root_agent.rb:230:add_source: adding source type="monitor_agent"
2016-11-15_23:57:33.41766 2016-11-15 15:57:33 -0800 [warn]: config/element.rb:115:[]: 'type' is deprecated parameter name. use '@type' instead.
2016-11-15_23:57:33.41776 2016-11-15 15:57:33 -0800 [info]: fluent/root_agent.rb:230:add_source: adding source type="debug_agent"
2016-11-15_23:57:33.43489 2016-11-15 15:57:33 -0800 [info]: fluent/engine.rb:123:configure: using configuration file: <ROOT>
2016-11-15_23:57:33.43491   <source>
2016-11-15_23:57:33.43491     type forward
2016-11-15_23:57:33.43491     port 24224
2016-11-15_23:57:33.43491   </source>
2016-11-15_23:57:33.43491   <source>
2016-11-15_23:57:33.43492     type http
2016-11-15_23:57:33.43492     port 8888
2016-11-15_23:57:33.43492   </source>
2016-11-15_23:57:33.43492   <source>
2016-11-15_23:57:33.43493     type monitor_agent
2016-11-15_23:57:33.43493     port 24220
2016-11-15_23:57:33.43493   </source>
2016-11-15_23:57:33.43493   <source>
2016-11-15_23:57:33.43493     type debug_agent
2016-11-15_23:57:33.43494     bind "<IP_ADDRESS>"
2016-11-15_23:57:33.43494     port 24230
2016-11-15_23:57:33.43494   </source>
2016-11-15_23:57:33.43494   <match events>
2016-11-15_23:57:33.43494     type kafka_buffered
2016-11-15_23:57:33.43495     brokers "analytics-kafka01:9092,analytics-kafka02:9092,analytics-kafka03:9092"
2016-11-15_23:57:33.43495     default_topic "events"
2016-11-15_23:57:33.43495     buffer_type "file"
2016-11-15_23:57:33.43495     buffer_path /var/log/evente/fluentd/buffer/
2016-11-15_23:57:33.43496     required_acks 1
2016-11-15_23:57:33.43496     flush_interval 1
2016-11-15_23:57:33.43496     buffer_chunk_limit 64m
2016-11-15_23:57:33.43496     buffer_queue_limit 2048
2016-11-15_23:57:33.43496     <buffer>
2016-11-15_23:57:33.43497       flush_mode interval
2016-11-15_23:57:33.43497       retry_type exponential_backoff
2016-11-15_23:57:33.43497       @type file
2016-11-15_23:57:33.43499       path /var/log/evente/fluentd/buffer/
2016-11-15_23:57:33.43499       flush_interval 1
2016-11-15_23:57:33.43499       chunk_limit_size 64m
2016-11-15_23:57:33.43499       queue_length_limit 2048
2016-11-15_23:57:33.43499     </buffer>
2016-11-15_23:57:33.43500   </match>
2016-11-15_23:57:33.43500   <match events.filtered>
2016-11-15_23:57:33.43500     type kafka_buffered
2016-11-15_23:57:33.43500     brokers "analytics-kafka01:9092,analytics-kafka02:9092,analytics-kafka03:9092"
2016-11-15_23:57:33.43501     default_topic "events_filtered"
2016-11-15_23:57:33.43501     buffer_type "file"
2016-11-15_23:57:33.43502     buffer_path /var/log/evente/fluentd/buffer_filtered/
2016-11-15_23:57:33.43502     required_acks 1
2016-11-15_23:57:33.43502     <buffer>
2016-11-15_23:57:33.43502       flush_mode interval
2016-11-15_23:57:33.43503       retry_type exponential_backoff
2016-11-15_23:57:33.43503       @type file
2016-11-15_23:57:33.43503       path /var/log/evente/fluentd/buffer_filtered/
2016-11-15_23:57:33.43503     </buffer>
2016-11-15_23:57:33.43504   </match>
2016-11-15_23:57:33.43504 </ROOT>
2016-11-15_23:57:33.43597 2016-11-15 15:57:33 -0800 [debug]: plugin/buffer.rb:114:start: buffer started instance=69980472945500 stage_size=0 queue_size=0
2016-11-15_23:57:33.43815 2016-11-15 15:57:33 -0800 [info]: plugin/out_kafka_buffered.rb:99:refresh_client: initialized kafka producer: kafka
2016-11-15_23:57:37.57343 2016-11-15 15:57:37 -0800 [debug]: plugin/buffer.rb:114:start: buffer started instance=69980473147160 stage_size=63364 queue_size=3880621267
2016-11-15_23:57:37.64995 2016-11-15 15:57:37 -0800 [info]: plugin/out_kafka_buffered.rb:99:refresh_client: initialized kafka producer: kafka
2016-11-15_23:57:37.65034 2016-11-15 15:57:37 -0800 [info]: plugin/in_debug_agent.rb:53:start: listening dRuby uri="druby://<IP_ADDRESS>:24230" object="Fluent::Engine"
2016-11-15_23:57:37.65759 2016-11-15 15:57:37 -0800 [debug]: plugin/in_monitor_agent.rb:213:start: listening monitoring http server on http://<IP_ADDRESS>:24220/api/plugins
2016-11-15_23:57:37.65814 2016-11-15 15:57:37 -0800 [debug]: plugin/in_http.rb:103:start: listening http on <IP_ADDRESS>:8888
2016-11-15_23:57:37.66664 2016-11-15 15:57:37 -0800 [info]: plugin/in_forward.rb:172:listen: listening fluent socket on <IP_ADDRESS>:24224
2016-11-15_23:57:37.99851 2016-11-15 15:57:37 -0800 [debug]: plugin/output.rb:1179:flush_thread_run: flush_thread actually running
2016-11-15_23:57:37.99868 2016-11-15 15:57:37 -0800 [debug]: plugin/buffer.rb:368:dequeue_chunk: dequeueing a chunk instance=69980473147160
2016-11-15_23:57:37.99888 2016-11-15 15:57:37 -0800 [debug]: plugin/buffer.rb:377:block in dequeue_chunk: chunk dequeued instance=69980473147160 metadata=#<struct Fluent::Plugin::Buffer::Metadata timekey=nil, tag=nil, variables=nil>
2016-11-15_23:57:37.99902 2016-11-15 15:57:37 -0800 [debug]: plugin/output.rb:967:try_flush: trying flush for a chunk chunk="54135448d0359bdcbd2bad60a78b2525"
2016-11-15_23:57:37.99927 2016-11-15 15:57:37 -0800 [warn]: plugin/out_kafka_buffered.rb:265:rescue in write: Send exception occurred: undefined method `key' for #<Fluent::Plugin::Buffer::FileChunk:0x007f4b3509bb18>
2016-11-15_23:57:37.99929 2016-11-15 15:57:37 -0800 [warn]: plugin/out_kafka_buffered.rb:266:rescue in write: Exception Backtrace : /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluent-plugin-kafka-0.4.0/lib/fluent/plugin/out_kafka_buffered.rb:207:in `write'
2016-11-15_23:57:37.99929 /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/compat/output.rb:129:in `write'
2016-11-15_23:57:37.99929 /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/plugin/output.rb:995:in `try_flush'
2016-11-15_23:57:37.99930 /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/plugin/output.rb:1188:in `flush_thread_run'
2016-11-15_23:57:37.99930 /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/plugin/output.rb:393:in `block (2 levels) in start'
2016-11-15_23:57:37.99930 /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/plugin_helper/thread.rb:66:in `block in thread_create'
2016-11-15_23:57:37.99946 2016-11-15 15:57:37 -0800 [info]: plugin/out_kafka_buffered.rb:99:refresh_client: initialized kafka producer: kafka
2016-11-15_23:57:37.99960 2016-11-15 15:57:37 -0800 [debug]: plugin/output.rb:1001:rescue in try_flush: taking back chunk for errors. plugin_id="object:3fa5992467b4" chunk="54135448d0359bdcbd2bad60a78b2525"

Thanks!

2016-11-15_23:57:37.99888 2016-11-15 15:57:37 -0800 [debug]: plugin/buffer.rb:377:block in dequeue_chunk: chunk dequeued instance=69980473147160 metadata=#

This line is weird. metadata is created with nil values. I will check it why this happens.

2016-11-15_23:57:37.99929 2016-11-15 15:57:37 -0800 [warn]: plugin/out_kafka_buffered.rb:266:rescue in write: Exception Backtrace : /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluent-plugin-kafka-0.4.0/lib/fluent/plugin/out_kafka_buffered.rb:207:in write' 2016-11-15_23:57:37.99929 /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/compat/output.rb:129:in write'

This error happens immediately after restart.
Do previous buffer files exist?

There's a large number of buffers when I restart, basically it is blocking the upload of all the buffers so we a ton of buffers stuck there.

The odd thing is that everything was generated with version 14.6, we don't have any buffers left over from a previous or older version.

Is there a way to tell from the error which buffer file is causing the issue?

54135448d0359bdcbd2bad60a78b2525

This is chunk id and you can search which chunk has this problem.
BTW, do you update fluent-plugin-kafka together with fluentd?

I can reproduce this problem:

use older fluent-plugin-kafka which don't use tag for chunk key
update fluent-plugin-kafka to latest verison. latest version uses tag for chunk key
restart fluentd with old buffers.

In this case, same error happens.

Is it a bug (or documentation issue) of fluent-plugin-kafka, right?

We can't judge it because if dtboctor uses recent fluent-plugin-kafka version before,
the cause seems the bug of buffer / output.

When I encountered this problem I was using 0.14.6 of fluentd and fluentd-plugin-kafka version 0.3.1.   This was working together correctly for a while and is currently what is running on most of our servers without an issue.   This problem began while running with that setup?   I tried upgrading to 0.14.8 of fluentd and 0.4.0 of the fluent plugin together and this problem was still occurring.
I also tried just removing this file and the next file came up with the same error?

I also tried just removing this file and the next file came up with the same error?

I'm not sure. It depends on your buffer content.
if net buffer also doesn't have a key metadata, same error happens.

Okay, I'm going to look into whether or not there was an issue where the plugins were not quite aligned with each other in terms of version.  Is there a way to look at the buffer file and parse it to see what format or version it is using?

I tried backing down to version 0.1.3 of the plugin, which I knew we were using at one time...I get
2016-11-18_21:35:50.91856 2016-11-18 13:35:50 -0800 [warn]: plugin/output.rb:1031:block in try_flush: failed to flush the buffer. plugin_id="object:3f9f08897790" retry_time=0 next_retry=2016-11-18 13:35:51 -0800 chunk="54135448d0359bdcbd2bad60a78b25
25" error_class=NoMethodError error="undefined method `[]' for nil:NilClass"
2016-11-18_21:35:50.91861   2016-11-18 13:35:50 -0800 [warn]: plugin/output.rb:980:try_flush: /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluent-plugin-kafka-0.1.3/lib/fluent/plugin/out_kafka_buffered.rb:151:in `block in write'
2016-11-18_21:35:50.91862   2016-11-18 13:35:50 -0800 [warn]: plugin/output.rb:980:try_flush: /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/event.rb:323:in `each'
2016-11-18_21:35:50.91863   2016-11-18 13:35:50 -0800 [warn]: plugin/output.rb:980:try_flush: /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/event.rb:323:in `block in each'
2016-11-18_21:35:50.91863   2016-11-18 13:35:50 -0800 [warn]: plugin/output.rb:980:try_flush: /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/plugin/buffer/file_chunk.rb:143:in `open'
2016-11-18_21:35:50.91864   2016-11-18 13:35:50 -0800 [warn]: plugin/output.rb:980:try_flush: /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/event.rb:322:in `each'
2016-11-18_21:35:50.91864   2016-11-18 13:35:50 -0800 [warn]: plugin/output.rb:980:try_flush: /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluent-plugin-kafka-0.1.3/lib/fluent/plugin/out_kafka_buffered.rb:148:in `write'
2016-11-18_21:35:50.91864   2016-11-18 13:35:50 -0800 [warn]: plugin/output.rb:980:try_flush: /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/compat/output.rb:129:in `write'
2016-11-18_21:35:50.91865   2016-11-18 13:35:50 -0800 [warn]: plugin/output.rb:980:try_flush: /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/plugin/output.rb:995:in `try_flush'
2016-11-18_21:35:50.91865   2016-11-18 13:35:50 -0800 [warn]: plugin/output.rb:980:try_flush: /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/plugin/output.rb:1188:in `flush_thread_run'
2016-11-18_21:35:50.91866   2016-11-18 13:35:50 -0800 [warn]: plugin/output.rb:980:try_flush: /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/plugin/output.rb:393:in `block (2 levels) in start'
2016-11-18_21:35:50.91866   2016-11-18 13:35:50 -0800 [warn]: plugin/output.rb:980:try_flush: /opt/rbenv/versions/2.1.9/lib/ruby/gems/2.1.0/gems/fluentd-0.14.8/lib/fluent/plugin_helper/thread.rb:66:in `block in thread_create'

Is there anything additional I can send over that would help in understanding what happened here?

You can check your buffer file status with following script:

unpack_buffer.rb

require 'msgpack'
require 'fluent/msgpack_factory'

unpacker = Fluent::MessagePackFactory.unpacker

log_path = ARGV.first
meta_path = "#{log_path}.meta"
log_file = File.basename(log_path)
puts "buffer file: #{log_path}"
unpacker.feed(File.read(meta_path)).each { |data|
  puts "meta keys: #{data["variables"]}"
}
unpacker.feed(File.read(log_path)).each { |data|
  puts "one event length: #{data.size}"
  break
}

Old buffer structure (kafka plugin v0.1.3 can flush this buffer)

meta keys is empty and one evnet consists of 3 elements.
% ruby unpack_buffer.rb old_buffer/buffer.b54177241e14b3fe471422a83b070bd24.log
buffer file: old_buffer/buffer.b54177241e14b3fe471422a83b070bd24.log
meta keys:
one event length: 3

New buffer structure (latest kafka plugin can flush this buffer)

meta keys has key field and one event consists of 2 element.
% ruby unpack_buffer.rb buffer/buffer.b541ac65e35ffd95ff373c322636fe387.log
buffer file: buffer/buffer.b541ac65e35ffd95ff373c322636fe387.log
meta keys: {"key"=>"kafka.test"}
one event length: 2

Latest kafka plugin can't flush old buffers. Check your buffer file structure.

One other question,  we had a very large event code through our system that broke a lot of other parts,  is there any case where a large message could break fluentd?   Like if it were very large in relation to the chunk size for the buffer?

is there any case where a large message could break fluentd?

What does "break" mean? fluentd can handle any size of record.
For example, one user sends 1+MB record to fluentd.

I tried to run the code you posted, I have an interesting problem
{code}
[/var/log/evente/fluentd] == PRODUCTION<EMAIL_ADDRESS>==
Mon Nov 21 12:11:02 [13:0]$ ls buffer_problem/
buffer.b54135448d0359bdcbd2bad60a78b2525.log.meta  buffer.q54135448d0359bdcbd2bad60a78b2525.log
[/var/log/evente/fluentd] == PRODUCTION<EMAIL_ADDRESS>==
Mon Nov 21 12:11:08 [14:0]$ ruby unpack_buffer.rb buffer_problem/buffer.q54135448d0359bdcbd2bad60a78b2525.log
buffer file: buffer_problem/buffer.q54135448d0359bdcbd2bad60a78b2525.log
unpack_buffer.rb:10:in read': No such file or directory @ rb_sysopen - buffer_problem/buffer.q54135448d0359bdcbd2bad60a78b2525.log.meta (Errno::ENOENT) 	from unpack_buffer.rb:10:in '
{code}
seems like my files are named differently than what is expected?

I renamed my file to make the script work:
Mon Nov 21 13:45:56 [16:0]$ ruby unpack_buffer.rb buffer_problem/buffer.q54135448d0359bdcbd2bad60a78b2525.log
buffer file: buffer_problem/buffer.q54135448d0359bdcbd2bad60a78b2525.log
meta keys: {"key"=>"events"}
one event length: 2

seems like most of our events are all buffer.q*, but a few are buffer.b*, and a good number of the meta files are...., why would that happen?

That's weird...
"b" and "q" should be updated at the same time.
Hmm... v0.14 buffer may have a race condition between buffer pop and queueing.
We will check.

seems like most of our events are all buffer.q*, but a few are buffer.b*, and a good number of the meta files are....,

Yes

And it seems that I have other mismatches in there,  definitely more than one

So we had some errors before this occurred related to Kafka rejecting our messages due to the size, we eventually corrected that but could there be a case where an error causes it to be half set?  Not sure, but this seems to have happened a lot on this machine, though we have many other machines running this exact setup that have had no issues like this whatsoever.

Is there anything I can do to help diagnose what happened?  Also, would just renaming these files all to q fix the issue in the interim?

I identified that "undefined method 'key'" for nil occurs in #write when compat plugins are configured to use Zulu time format (to be formatted with "Z" timezone) via investigation of #1319.
It'll be fixed at that pull-request.
Chunk state mismatch is another problem now...

Zulu time format?  Any idea why this would be the case or a way for me to see if I match that descriptions?  Not sure why we would be using that?

Sorry for late reply, and, I'm sorry too that I misunderstood the problem in this issue. #1319 is another thing, and not related with this issue.

Hey guys, I found the root cause of this error, so I thought I'd share
Basically this happens if you send a message through fluentd that is bigger than the configured chunk size.  It basically permanently breaks with this error until you clear out the problematic files.  Seems like it is something that should be handled, in the case that the file comes through, basically fluentd stops sending to kafka and the buffer grows indefinitely.

Basically this happens if you send a message through fluentd that is bigger than the configured chunk size.

It means you can reproduce this problem? If so, could you share your configuration and reproducible step?

yeah, I just set my buffer chunk limit to something pretty small, like 10k on our production server, and a >10k event came through, basically it started giving me this error.  I'll see if I can get a more specific configuration to you.

<match events.production>
  type kafka_buffered
  brokers <%= node[:fluentd][:kafka][:brokers] %>

  default_topic 'events'
  buffer_type file
  buffer_path '/var/log/evente/fluentd/events_production/'

  required_acks 1
  flush_interval 1

  buffer_chunk_limit 16k
  buffer_queue_limit 2048
</match>

an event came through fluentd that was over a megabyte (perhaps close to 2 megabytes) and it crashed with the above error.

Thanks for the configuration.
We will check it!

Hi, any update on this issue? I also have this problem.
I use
fluentd (1.1.3)
fluent-plugin-kafka (0.7.3)
ruby-kafka (0.6.6)

stack:
 Send exception occurred: undefined method `key' for #<Fluent::Plugin::Buffer::FileChunk:0x007fb01a4a2870>
2018-06-11 09:25:00 +0000 [warn]: #0 Exception Backtrace : /var/lib/gems/2.3.0/gems/fluent-plugin-kafka-0.7.3/lib/fluent/plugin/out_kafka_buffered.rb:286:in `write'
/var/lib/gems/2.3.0/gems/fluentd-1.1.3/lib/fluent/compat/output.rb:131:in `write'
/var/lib/gems/2.3.0/gems/fluentd-1.1.3/lib/fluent/plugin/output.rb:1096:in `try_flush'
/var/lib/gems/2.3.0/gems/fluentd-1.1.3/lib/fluent/plugin/output.rb:1329:in `flush_thread_run'
/var/lib/gems/2.3.0/gems/fluentd-1.1.3/lib/fluent/plugin/output.rb:439:in `block (2 levels) in start'
/var/lib/gems/2.3.0/gems/fluentd-1.1.3/lib/fluent/plugin_helper/thread.rb:78:in `block in thread_create'
2018-06-11 09:25:00 +0000 [info]: #0 initialized kafka producer: kafka
2018-06-11 09:25:00 +0000 [warn]: #0 failed to flush the buffer. retry_time=3 next_retry_seconds=2018-06-11 09:25:00 +0000 chunk="56e5a522d7b525c95dda43712c992bfb" error_class=NoMethodError error="undefined method `key' for #<Fluent::Plugin::Buffer::FileChunk:0x007fb01a4a2870>"
  2018-06-11 09:25:00 +0000 [warn]: #0 suppressed same stacktrace

config:
<match  mylog.**>

    @type elasticsearch
    include_tag_key  true

    hosts https://elastic:PleaseChangeMe@xxxxx:9200
    logstash_prefix "mytest"
    logstash_format true
    logstash_dateformat  %Y-%m-%d
    type_name  "container_log"
    ssl_verify true
    ca_file /fluentd/etc/ssl/ca.pem
    client_cert /fluentd/etc/ssl/client-cert.pem
    client_key /fluentd/etc/ssl/client-key.pem
    client_key_pass pass
    <buffer>
      @type file
      path /fluentd/etc/buffer/project.buffer
      flush_interval 3s
      </buffer>

    disable_retry_limit
    num_threads 8
    slow_flush_log_threshold 40.0
</match>

@aiwantaozi Does this problem happens with out_kafka2?
In v1, out_kafka2 is better.

So for fluentd 1.x, I should use kafka2 not kafka_buffered? Let me try.

There are really two distinct problems here.

Problem1: Undefined method 'key' (original problem)
Problem2: Undefined method '[]' (https://github.com/fluent/fluentd/issues/1315#issuecomment-261648293)

The second problem occurs because of the v0.12 compatibility layer.
Simply put, v0.12-era plugins can't handle a record larger than chunk_limit_size,
and this issue is also being investigated in #2084.
As to the first problem, the exact cause is unknown yet. I have tried
several times, but never succeeded to reproduce the error.


rf"..." and fr"..." not recognized as being f-strings

In fr"{foo}" or rf"{foo}", foo is not highlighted as in f"{foo}".

Thanks!


fix: update k8s-manifests and wfe-test-runner-action versions to use workflow-engine-base 4.0.0

Test run: https://github.com/splunk/splunk-add-on-for-mysql/pull/491

:tada: This PR is included in version 4.16.6 :tada:
The release is available on GitHub release
Your semantic-release bot :package::rocket:


Suggestion: macro encode-object-slots

I use the following macro in my projects to implement ENCODE-SLOTS. If you deem it useful in general, I would write a patch with documentation.
(defmacro encode-object-slots (object slots)
  `(with-slots ,slots ,object
     (yason:encode-object-elements
      ,@(loop :for slot :in slots
           :append `(',slot ,slot)))))

As written it has to be a macro, since with-slots is a macro, and needs to know the slot names at compile time. However it could be written as a function like this:
(defun encode-object-slots (object slots)
  (encode-object-elements
    (loop for slot in slots
        collect slot
        collect (slot-value object slot))))

The function does indeed look useful to me, do you want to submit a PR?
2015-05-17 6:45 GMT+02:00 Thayne McCombs<EMAIL_ADDRESS>
As written it has to be a macro, since with-slots is a macro, and needs to
know the slot names at compile time. However it could be written as a
function like this:
(defun encode-object-slots (object slots)
(encode-object-elements
(loop for slot in slots
collect slot
collect (slot-value object slot))))
--
Reply to this email directly or view it on GitHub
https://github.com/hanshuebner/yason/issues/28#issuecomment-102745789.


Allow plucking of multiple items at once

This is the same as #143 for v1

Coverage increased (+0.005%) to 95.904% when pulling 11b86c9eccc2dfb7d767b7cc4986d4f2d4ff548e on mbonneau:multipluck-v1 into 140e21a61c2bcd6e2572d3b6d51d3309934b29d1 on ReactiveX:master.

Coverage increased (+0.005%) to 95.904% when pulling 11b86c9eccc2dfb7d767b7cc4986d4f2d4ff548e on mbonneau:multipluck-v1 into 140e21a61c2bcd6e2572d3b6d51d3309934b29d1 on ReactiveX:master.

Fixes #146


feat: delegate signers of batches

it would be useful for owners of a batch to be able to delegate signing of stamps to other key pairs.
in this way, someone could create a batch, and then allow someone else to be responsible for filling the storage slots, without divulging their own private key.

This would mean that we have an array of keys that own the stamp or are we aiming for some other mechanism?


further translation

translated almost all missing strings. some might need technical revision

thanks although you didn't need to translate commented lines (starting with #), they are not used.

sorry about that... i was way too tired at the end there, but was so eager to wrap it up!


Active item isn't being tracked on the File Explorer

Issue Type: Bug
When switching files through open tabs, File Explorer neglects to select the current active item (even though it's part of the current workspace).

Does it happens for any editor tab or only only for diff/custom editors?

What is your value for explorer.autoReveal setting?

Does it happens for any editor tab or only only for diff/custom editors?
Any tab. I'll upload a quick video.

Further info:
I'm can't be precisely sure when this issue arose, but I'm sure it was on one of the recent (let's say 3 or 4) versions. Tracking the active item is something I usually miss when navigating code (the first thing I configure in fresh VS Community installations since it's off by default 😊).

Heck, it stopped happening. Not sure what I did (I don't think I restarted the environment since posting).
I'll try to reproduce and come back here.

Okay, it is happening again. I did not restarted VS - it began just as it stopped, without any cause that I can track down. I would guess it has something to do with the VS window losing and regaining focus, because I'm alt-tabbing the whole time between the VS and the browser.
https://user-images.githubusercontent.com/1890900/125493374-b21d2957-a374-448c-af0a-425b99cc999a.mp4

I unfortunately can not reproduce this.
Since you seem to be able to repro, can you please F1 > developer tools > put a breakpoint here and try to figure out why the activeFile is not being revealed


dory$ git submodule update --init --recursive

uie24011@ozd1161u:~/Desktop/SDK/pulp-sdk/dory$ git submodule update --init --recursive
Cloning into '/home/uie24011/Desktop/SDK/pulp-sdk/dory/pulp-nn-1d'...
Username for 'https://github.com': nagatejapallapu
Password for<EMAIL_ADDRESS>remote: Support for password authentication was removed on August 13, 2021. Please use a personal access token instead.
remote: Please see https://github.blog/2020-12-15-token-authentication-requirements-for-git-operations/ for more information.
fatal: Authentication failed for 'https://github.com/pulp-platform/pulp-nn-1d/'
fatal: clone of 'https://github.com/pulp-platform/pulp-nn-1d' into submodule path '/home/uie24011/Desktop/SDK/pulp-sdk/dory/pulp-nn-1d' failed
Failed to clone 'pulp-nn-1d'. Retry scheduled

I created a personal access token to solve this problem but then discovered that the links to the pulp-nn-1d repository and the pulp-nn-mixed repository don't work! I got the error message as follows:
remote: Repository not found. fatal: repository 'https://github.com/pulp-platform/pulp-nn-1d/' not found fatal: clone of 'https://github.com/pulp-platform/pulp-nn-1d' into submodule path '/home/quentin/dory/pulp-nn-1d' failed Failed to clone 'pulp-nn-1d'. Retry scheduled
If you click on the links in the dory repository it also leads nowhere.

why did you close this, i still have the issue?


Feature Request: Allow injecting a custom component for NavLink to render to enhance support for HOCs

Background: I'm using Radium to style my React components.
Radium works by wrapping the target component's render function, searching for style props on DOM-node children and replacing them according to the current UI state (hovering/focusing/...). However, Radium does not do this for non-DOM-node children, since it does not know what the component is actually doing with the style prop. This is the case for React Router's Link and NavLink components
Usually, this is solved by wrapping the React component using Radium's HOC, as you can do with Link like in this snippet, which renders a Link with a red background, switching to green once you hover over it:
import React from "react";
import { render } from "react-dom";
import { BrowserRouter, Link} from "react-router-dom";
import Radium from "radium";

const RadiatingLink = Radium(Link);

const App = () =>
  <BrowserRouter>
    <RadiatingLink
      to="/test3"
      style={{ background: "red", ":hover": { background: "green" } }}
    >
      LinkTest
    </RadiatingLink>
  </BrowserRouter>

render(<App />, document.getElementById("root"));

But, if we were to replace Link with NavLink in this example it wouldn't work, because NavLink internally renders a Link not wrapped by the Radium HOC.
To solve this problem, I propose to add a new "renderComponent" prop to NavLink, which defaults to Link and gets rendered instead of a hardcoded Link component. This allows users to wrap the Link component rendered by NavLink (Or even render something completely different).
If this were implemented, it would allow injecting a custom render component like this:
import React from "react";
import { render } from "react-dom";
import { BrowserRouter, Link, NavLink} from "react-router-dom";
import Radium from "radium";

const RadiatingLink = Radium(Link);

const App = () =>
  <BrowserRouter>
    <NavLink
      to="/test3"
      renderComponent={RadiatingLink}
      style={{ background: "red", ":hover": { background: "green" } }}
    >
      LinkTest
    </NavLink>
  </BrowserRouter>

render(<App />, document.getElementById("root"));

This would also fix https://github.com/FormidableLabs/radium/issues/907

Hey @Nimelrian ! how did u work around this as they didn't merge the PR?

Closing per #5497

@irvingv8 I basically rewrote NavLink to use a wrapped Link (If I had more than one use case, I would have kept the renderComponent prop, but there is no need in my project as of now), simple copy, paste, replace,

@Nimelrian Ok, TY! It'd be nice if they consider an alternative where instead of passing "what to render" into NavLink they allow you to pass some HOC to enhance Link. This way the initial purpose of NavLink remains the same but allows us to enhance the Link when needed.

I also don't like that NavLink can't be wrapped in HOC.
For temporary solution I nested all NavLinks inside divs and styled background of those divs on hover with Radium. Maybe it helps somebody.
import React from 'react'
import Radium from 'radium'
import {NavLink} from 'react-router-dom'

const navigation = () => {
    const navStyle = {
        display: "grid",
        gridTemplateColumns: "repeat(4, 1fr)",
        lineHeight: "64px",
        textAlign: "center",
        borderBottom: "1px solid #ddd"
    }
    const makeHoverable = {
        display: "grid",
        ":hover": {
            backgroundColor: "#f7f7f7"
        }
    }
    const aStyle = {
        textDecoration: "none",
        fontWeight: "bold",
        color: "#666"
    }
    const aActiveStyle = {
        color: "#444",
        borderBottom: "3px solid orange"
    }
    return (

<NavLink style={aStyle} exact activeStyle={aActiveStyle} to="/">Home</NavLink>

<NavLink style={aStyle} exact activeStyle={aActiveStyle} to="/client">Client</NavLink>

<NavLink style={aStyle} exact activeStyle={aActiveStyle} to="/server">Server</NavLink>

<NavLink style={aStyle} exact activeStyle={aActiveStyle} to="/contact">Contact</NavLink>

    )
}

export default Radium(navigation)

You can walk around this with a Route. It's even documented in the React Router Training.
You can pass what to render as a render prop (below) or you can write it directly within the BetterNavLink as in the linked example. (above)
const BetterNavLink = ({ children, ...linkProps }) => (
  <Route
    path={linkProps.to}
    exact={linkProps.exact}
    children={ ({ match }) => children({active: !!match, linkProps}) }
  />
)

Then in the render of your NavBar
<BetterNavLink exact to="/pdp">
  {
    ({active, linkProps}) => (
      <div className={`list-group-item list-group-item-dark ${active ? 'active' : ''}`}>
        <Link {...linkProps}>
          PDP
        </Link>

    )
  }
</BetterNavLink>

result is

    PDP


feat(context-menu): add bottom slot

To Reviewers

[ ] Skipping review is not a problem (style, chore ONLY)
[x] Not that difficult

Type of Change

[ ] New feature
[ ] Bug fixes
[ ] Feature improvement

[ ] These changes require a usage change

[x] Others (performance improvement, refactoring, CI/CD, etc.)

Checklist

[x] Updated Storybook documents
[x] Tested with console(if usages are changed)

Description

Things to Talk About

:tada: This PR is included in version 1.1.0-beta.480 :tada:
The release is available on:

npm package (@beta dist-tag)
GitHub release

Your semantic-release bot :package::rocket:


Anonymous broken

I cant seem to get anonymous "NoLogin" requests to work anymore, even if I wait one hour, or even one day. Are you able to get these working anymore?

Actually the package is not broken. It's the access of your IP/account is over the rate limit of Instagram. Instagram used to allow access almost without restriction. Now they change the policy and it is very easy to over the limit.


docs: update Astro integration

don't merge until we publish Astro integration

included in the new docs


Register JuliaBinaryWrappers/Pango_jll.jl v1.42.4+6

Autogenerated registration for JuliaBinaryWrappers/Pango_jll.jl v1.42.4+6

Does not include the libraries it should; I hit register too quickly.  :P


copy to overwrite (file and folder) from Personal to Shares Jail behaves differently

Description
When we copy a file over the top of an existing folder from Personal to Shares Jail we get 500 status code. Also when we copy folder over the top of an existing file (given user has an editor role to the shared resources) then the status code is 403.
Steps to reproduce

user einstein creates a file t1.txt and a folder FOLDER
user moss creates a folder MOSSS-Folder
user moss creates a folder MOSSS-Folder/sample-folder
user moss shares the folder MOSSS-Folder to einstein
user einstein copy t1.txt over the folder MOSSS-Folder

curl command to copy:
curl -ks -ueinstein:relativity -X COPY -H "DESTINATION:https://host.docker.internal:9200/dav/spaces/a0ca6a90-a365-4782-871e-d44447bbc668\$a0ca6a90-a365-4782-871e-d44447bbc668/MOSSS-Folder/" https://host.docker.internal:9200/dav/spaces/1284d238-aa92-42ce-bdc4-0b0000009157\$4c510ada-c86b-4815-8820-42cdf82c3d51/t1.txt -v | xmllint --format -

Response:
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: O=Acme Corp; CN=OCIS
*  start date: Aug 15 08:06:05 2022 GMT
*  expire date: Aug 15 08:06:05 2023 GMT
*  issuer: O=Acme Corp; CN=OCIS
*  SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
* Server auth using Basic with user 'einstein'
} [5 bytes data]
> COPY /dav/spaces/1284d238-aa92-42ce-bdc4-0b0000009157$4c510ada-c86b-4815-8820-42cdf82c3d51/t1.txt HTTP/1.1
> Host: host.docker.internal:9200
> Authorization: Basic ZWluc3RlaW46cmVsYXRpdml0eQ==
> User-Agent: curl/7.68.0
> Accept: */*
> DESTINATION:https://host.docker.internal:9200/dav/spaces/a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668/MOSSS-Folder/
>
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [130 bytes data]
* Mark bundle as not supporting multiuse
< HTTP/1.1 500 Internal Server Error
< Access-Control-Allow-Origin: *
< Content-Length: 0
< Content-Security-Policy: default-src 'none';
< Date: Mon, 15 Aug 2022 08:40:19 GMT
< X-Content-Type-Options: nosniff
< X-Download-Options: noopen
< X-Frame-Options: SAMEORIGIN
< X-Permitted-Cross-Domain-Policies: none
< X-Robots-Tag: none
< X-Xss-Protection: 1; mode=block

Also copying a folder into a file
curl command
curl -ks -ueinstein:relativity -X COPY -H "DESTINATION:https://host.docker.internal:9200/dav/spaces/a0ca6a90-a365-4782-871e-d44447bbc668\$a0ca6a90-a365-4782-871e-d44447bbc668/moss.txt/" https://host.docker.internal:9200/dav/spaces/1284d238-aa92-42ce-bdc4-0b0000009157\$4c510ada-c86b-4815-8820-42cdf82c3d51/FOLDER/ -v | xmllint --format -```

#### Response

```console
* SSL connection using TLSv1.3 / TLS_AES_128_GCM_SHA256
* ALPN, server did not agree to a protocol
* Server certificate:
*  subject: O=Acme Corp; CN=OCIS
*  start date: Aug 15 08:06:05 2022 GMT
*  expire date: Aug 15 08:06:05 2023 GMT
*  issuer: O=Acme Corp; CN=OCIS
*  SSL certificate verify result: unable to get local issuer certificate (20), continuing anyway.
* Server auth using Basic with user 'einstein'
} [5 bytes data]
> COPY /dav/spaces/1284d238-aa92-42ce-bdc4-0b0000009157$4c510ada-c86b-4815-8820-42cdf82c3d51/FOLDER/ HTTP/1.1
> Host: host.docker.internal:9200
> Authorization: Basic ZWluc3RlaW46cmVsYXRpdml0eQ==
> User-Agent: curl/7.68.0
> Accept: */*
> DESTINATION:https://host.docker.internal:9200/dav/spaces/a0ca6a90-a365-4782-871e-d44447bbc668$a0ca6a90-a365-4782-871e-d44447bbc668/moss.txt/
>
{ [5 bytes data]
* TLSv1.3 (IN), TLS handshake, Newsession Ticket (4):
{ [130 bytes data]
* Mark bundle as not supporting multiuse
< HTTP/1.1 403 Forbidden
< Access-Control-Allow-Origin: *
< Content-Length: 0
< Content-Security-Policy: default-src 'none';
< Date: Mon, 15 Aug 2022 09:08:27 GMT
< X-Content-Type-Options: nosniff
< X-Download-Options: noopen
< X-Frame-Options: SAMEORIGIN
< X-Permitted-Cross-Domain-Policies: none
< X-Robots-Tag: none
< X-Xss-Protection: 1; mode=block
<
* Connection #0 to host host.docker.internal left intact
-:1: parser error : Document is empty

Note: Needs some information regarding it what is expected and what is actual as OC10 gives a status of 204. or its forbidden in ocis for spaces?

Also see core PR https://github.com/owncloud/core/pull/40308 - that demonstrates what happens currently in oC10 core. Maybe we want to forbid some of these "strange" COPY overwrite share requests? And define the expected/required behavior, and make both oC10 and oCIS match that.

@phil-davis  shall we wait for this https://github.com/owncloud/core/pull/40308#issuecomment-1222150520 ? On OCIS for new and old webdav we have this issue https://github.com/owncloud/ocis/issues/3874. it gives 404 while overwritting and for spaces its giving 500 and 403 when copying. I am confused what exactly the expected behavior is for spaces webdav

I pinged again in https://github.com/owncloud/core/pull/40308 - it will be useful to get confirmation about the expected/required behavior. Then we can write "correct" tests for the core-personal-spaces cases. And then we can make similar-style test cases for move and copy in and out of project spaces.

I'm a little confused. Is this a real case?
Copy the file as a folder (as Destination is /BRIAN-Folder instead of /BRIAN-Folder/textfile1.txt) - it's like ordering a null beer.
I don't know that will it ever be fixed. Maybe should we should change this tests or delete?

I am looking at some test scenarios like this (using personal spaces, not project spaces) in PR #6323 - the expected behavior was defined in core recently (I will have to search for the links to that)
Copying a source file "over the top of" another existing file is an "easy" scenario - the file content of the target is updated. There is a question about what to do with version history - do we copy the version history from the source file, or is the new content of the target file just a new version of the target file.
Copying a folder "over the top of" another folder (not inside) - that could be implemented by doing some merge of the contents of the two folders. But the easy thing is to not allow that, and give some status like 409.
Copying a file "over the top of" a folder (not inside) is a strange thing to do - so we should return a status like 409 and do nothing.
Copying a folder "over the top of" a file is a strange thing to do - so we should return a status like 409 and do nothing.
The server should never return HTTP status 500 - there should be no way for a user to be playing around sending curl commands to the server and get a 500 response.

Copying a source file "over the top of" another existing file is an "easy" scenario - the file content of the target is updated. There is a question about what to do with version history - do we copy the version history from the source file, or is the new content of the target file just a new version of the target file.

Semantically this is very clear: COPY means only content, no versions, no shares. In that case, it adds content and creates a new version, but should not copy older versions of the source file.

MOVE has different semantics:
The source file with all its versions and shares will be moved to the new location and an existing file will be completely replaced. That should always result in the overwritten target file being moved to the trashbin.

The server should never return HTTP status 500 - there should be no way for a user to be playing around sending curl commands to the server and get a 500 response.

Yes, I agree.

Copying a folder "over the top of" another folder (not inside) - that could be implemented by doing some merge of the contents of the two folders. But the easy thing is to not allow that, and give some status like 409.
Copying a file "over the top of" a folder (not inside) is a strange thing to do - so we should return a status like 409 and do nothing.
Copying a folder "over the top of" a file is a strange thing to do - so we should return a status like 409 and do nothing.

409 is fine. I asked because tests expect 204. and I could not believe that this behavior was correct

@butonic Had mentioned a case where copying a folder over a file is valid.

I think the actual endpoint is different to copy share inside the SHARE space i.e
curl -XCOPY -ubrian:sss -vk https://localhost:9200/remote.php/dav/spaces/{personal-spaceid}/index.php -H 'Destination:  https://localhost:9200/remote.php/dav/spaces/{share-mountpoint-id}'

above endpoint return 412 Pre condition failed status code.
If 412 status code is correct then this issue can be close
related issue : https://github.com/owncloud/ocis/issues/6999
cc: @ScharfViktor @micbar

Closed on the behalf that api endpoint is revised and the new API endpoint is
curl -XCOPY -ubrian:sss -vk https://localhost:9200/remote.php/dav/spaces/{personal-spaceid}/index.txt -H 'Destination:  https://localhost:9200/remote.php/dav/spaces/{share-mountpoint-id}/game/index.txt
https://github.com/owncloud/ocis/issues/4393#issuecomment-1671063070
QA-TEAM To-do

[ ] Remove this issue from expected-failure file and use correct API endpoint

### [copy to overwrite (file and folder) from Personal to Shares Jail behaves differently](https://github.com/owncloud/ocis/issues/4393)

- [apiSpacesShares/copySpaces.feature:529](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/copySpaces.feature#L529)
- [apiSpacesShares/copySpaces.feature:543](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/copySpaces.feature#L543)

Closed on the behalf that api endpoint is revised and the new API endpoint is curl -XCOPY -ubrian:sss -vk https://localhost:9200/remote.php/dav/spaces/{personal-spaceid}/index.txt -H 'Destination: https://localhost:9200/remote.php/dav/spaces/{share-mountpoint-id}/game/index.txt #4393 (comment)
QA-TEAM To-do

[ ]  Remove this issue from expected-failure file and use correct API endpoint

### [copy to overwrite (file and folder) from Personal to Shares Jail behaves differently](https://github.com/owncloud/ocis/issues/4393)

- [apiSpacesShares/copySpaces.feature:529](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/copySpaces.feature#L529)
- [apiSpacesShares/copySpaces.feature:543](https://github.com/owncloud/ocis/blob/master/tests/acceptance/features/apiSpacesShares/copySpaces.feature#L543)

Related issue

copy personal space file to shared folder root result share in decline state #6999

The shares folders of a user can also be accessed by the users virtual-share-id. So We do not need to explicitly use the mount point id. I will create another issue to show to actual behaviour and link all this to it.


mina has deprecated environment task

More details here.

@d4be4st Would you please merge this pull request~ Thanks

Please mege this pr, thanks


ERROR:  column "grant_type_device_code" does not exist at character

The latest "main" from tonight is not allowing authentication with OIDC.
MAS Errors:
root-mas-1                | 2024-02-03T06:42:01.084858Z ERROR http.server.request{otel.kind="server" otel.name="POST /oauth2/introspect" network.protocol.name="http" network.protocol.version="1.1" http.method="POST" url.path="/oauth2/introspect" url.scheme="http" http.route="/oauth2/introspect" user_agent.original="Synapse/1.100.0"}:handlers.oauth2.introspection.post{client.id="XXXXXXXXXXXXXXXXX"}:db.oauth2_client.lookup{oauth2_client.id=XXXXXXXXXXXXXXXXX db.statement="\n SELECT oauth2_client_id\n                     , encrypted_client_secret\n                     , application_type\n                     , redirect_uris\n                     , grant_type_authorization_code\n                     , grant_type_refresh_token\n                     , grant_type_client_credentials\n                     , grant_type_device_code\n                     , contacts\n   , client_name\n                     , logo_uri\n                     , client_uri\n     , policy_uri\n                     , tos_uri\n                     , jwks_uri\n   , jwks\n                     , id_token_signed_response_alg\n                     , userinfo_signed_response_alg\n                     , token_endpoint_auth_method\n                     , token_endpoint_auth_signing_alg\n                     , initiate_login_uri\n                FROM oauth2_clients c\n\n                WHERE oauth2_client_id = $1\n            "}: mas_storage_pg::oauth2::client: error=error returned from database: column "grant_type_device_code" does not exist root-mas-1                | thread 'tokio-runtime-worker' panicked at /app/crates/handlers/src/oauth2/introspection.rs:188:10: root-mas-1                | called Result::unwrap()on anErr value: RepositoryError { source: Driver { source: Database(PgDatabaseError { severity: Error, code: "42703", message: "column \"grant_type_device_code\" does not exist", detail: None, hint: None, position: Some(Original(343)), where: None, schema: None, table: None, column: None, data_type: None, constraint: None, file: Some("parse_relation.c"), line: Some(3713), routine: Some("errorMissingColumn") }) } } root-mas-1                | 2024-02-03T06:42:01.085242Z ERROR mas_listener::server: Join error: task 2175 panicked root-mas-1                | 2024-02-03T06:42:04.926925Z ERROR mas_listener::server: Error while serving connection: error shutting down connection: Socket not connected (os error 107) root-mas-1                | 2024-02-03T06:42:04.927023Z ERROR mas_listener::server: Error while serving connection: error shutting down connection: Socket not connected (os error 107)
MAS-DB Errors:
root-mas-db-1             | 2024-02-03 06:37:20.129 UTC [36] ERROR:  column "grant_type_device_code" does not exist at character 343 root-mas-db-1             | 2024-02-03 06:37:20.129 UTC [36] STATEMENT: root-mas-db-1             |                     SELECT oauth2_client_id root-mas-db-1             |                          , encrypted_client_secret root-mas-db-1             |                          , application_type root-mas-db-1             |                          , redirect_uris root-mas-db-1             |                          , grant_type_authorization_code root-mas-db-1             |                          , grant_type_refresh_token root-mas-db-1             |                          , grant_type_client_credentials root-mas-db-1             |                          , grant_type_device_code root-mas-db-1             |                          , contacts root-mas-db-1             |                          , client_name root-mas-db-1             |                          , logo_uri root-mas-db-1             |                          , client_uri root-mas-db-1             |                          , policy_uri root-mas-db-1             |                          , tos_uri root-mas-db-1             |                          , jwks_uri root-mas-db-1             |                          , jwks root-mas-db-1             |                          , id_token_signed_response_alg root-mas-db-1             |                          , userinfo_signed_response_alg root-mas-db-1             |                          , token_endpoint_auth_method root-mas-db-1             |                          , token_endpoint_auth_signing_alg root-mas-db-1             |                          , initiate_login_uri root-mas-db-1             |                     FROM oauth2_clients c root-mas-db-1             | root-mas-db-1             |                     WHERE oauth2_client_id = $1

Migrations do not run automatically, and you should apply them every time you upgrade versions.
To do so, you'd run mas-cli database migrate, or start the server with mas-cli server --migrate which will automatically applies the migrations and start the server

Thanks a lot for your help, again :-) This seems to help. Shouldn't the migration run automatically to provide automatic docker container updates?

There is already a way to do that, which is the --migrate option on the mas-cli server command. I guess this could be the default? I'm not yet sure how I feel about automatically applying migrations

It is certainly always difficult to weigh up problems with upgrades or vulnerabilities due to unpatched software.
Doesn't most software do automatic database migrations during upgrades?

Migrations now run automatically on startup, which means this kind of issues shouldn't happen anymore


Render Expressways in their own style

This PR fixes #22. Highways with expressway=yes are rendered with a heavy casing and a light fill to contrast with non-expressway (solid) roads. The fill width has also been narrowed slightly to allow the casing stroke to be perceived as heavier and more significant compared to the normal think black casing of non-expressway roads.
Here are some screen-shots of this rendering on trunk, primary, and secondary highways. tertiary is also supported, but I couldn't find an example to test with.
At low zooms, the casing and fill widths of trunks were chosen to put their visual weight halfway between non-expressway trunks and motorways:

At medium zooms, expressways are clearly delineated from non-expressways:

At high zooms, the extra casing width (and light fill on trunks) distinguishes expressways:

What is the bridge/tunnel situation, and can we live with it?

Bridges and tunnels definitely need work, but that work needs to be done for all roads, not just expressways.  Makes sense to look at holistically as mentioned in #84.
On the topic of tunnels, I remember them having a dashed casing but I'm not seeing that now.  Was this an intentional change, accidental, or am I maybe misremembering?

Also, is there anything preventing this from being merged into master?

expressway isn't available from MapTiler until they finish rebuilding the planet with v3.13, right?

expressway isn't available from MapTiler until they finish rebuilding the planet with v3.13, right?

Yes, but it doesn't break anything to push these changes into main.  It would just render expressways like non-expressways until the new version shows up.  Whereas, putting the interstate zoom and highway shield code into main would break the existing zoom and shields.

I see.  Yeah maybe this should have been merged right into main.  I was thinking it might cause problems since regular, non-expressway road layers are filtering out the expressway key as well.  I didn't test it though.
https://github.com/ZeLonewolf/openstreetmap-americana/blob/acef2f183be42938fedfdce4e341d11df52e1178/style/layer/road.js#L283

It worked fine against main when I last tested, but there are currently merge conflicts when rebasing. If openmaptilers-new-features-test will be merged after the new data is available then just waiting for that merge is probably fine. If there is a further delay likely, then I can sort out merge conflicts to main if that is desired.

It was supposed to be out last week, so 🤷♂.  Timeline unclear.


nix-prefetch-git: use fetchgit's naming heuristic

This commit fixes #6651.
Before this change the nix-prefetch-git script would use a different store
name than nix's fetchgit function. Because of that it was not possible to
use nix-prefetch-git as a way to pre-populate the store (for example when
the user it using private git dependencies that needs access to the ssh agent)

Do we need the second commit?

@jagajaga it belongs to a second PR, I'll remove it

Now part of #12603

@jagajaga @copumpkin merge ?

Looks good, thanks

To be honest, I'd like to revert this, see https://github.com/NixOS/nix/issues/904#issuecomment-219256309 for reasoning

I'm not sure about the reasoning, do you mean that we are now getting different derivations between fetchgit and nix-prefetch-git because of this change ?
Would it be possible to implement nix-prefetch-git using nix-repl + fetchgit and get rid of the difference once and for all ?

They use the same script (minus some wrappers). I'd like to get the same hash as for builtins.fetchgit and builtins.fetchTarball

I wouldn't be upset if you reverted the commit since the goal was to achieve exactly that :)


Change error message

Change error message for https://github.com/ga4gh/dockstore/issues/2095
Push cancelled like usual

Coverage increased (+0.05%) to 76.359% when pulling e2cc27b34f35578ae8ea1b004bd910f45a1349d8 on feature/updateWDL1.0Error into f8fe5964e994872d5d8d1ef6af93668349f69865 on develop.


ImageField in models.py, referencing class model as a field

https://github.com/thunderlink/ThunderFish/blob/6f46c1066c2268b5db0e5faa9587c3bf312729d3/backend/server/models.py#L5
This line causes the following error:
server.User.photo: (fields.E210) Cannot use ImageField because Pillow is not installed.
HINT: Get Pillow at https://pypi.org/project/Pillow/ or run command "pip install Pillow".
Should we install this? Or should we use a different field?
https://github.com/thunderlink/ThunderFish/blob/6f46c1066c2268b5db0e5faa9587c3bf312729d3/backend/server/models.py#L41
This line causes error:
NameError: name 'Comment' is not defined
I am not sure if there is a way to reference the class itself as a field.

docs on django
Searched with keyword "image", it said we should use Pillow library. Let's try with Pillow library.

I still couldn't find a way to link a reply comment to its parent comment.

Second issue will be moved to issue #13


Allow Case-sensitive Matchwords

For the the German FOIA, the abbr. is 'IFG'. Testing for it has to be done case-sensitive otherwise I would get too many false positives. My suggestions: add a new file e.g. 'matchwords-case-sensitive'.

Oh that's a good idea, I'll do that.

Should be fixed with 057f8bba2ee8af1d44362c76abc961664cc31a21, which I've pushed to pip as <IP_ADDRESS>. Try updating from there and then running trackthenews --config one more time?


Upgrade dockerfiles to ubi9

The latest tag for ubi9 is 9.0.0.

adduser warning: postgres's uid 70 outside of the UID_MIN 1000 and UID_MAX 60000 range.


Build fails using angular-oauth2-oidc v14.0.0 with angular v14.2.11

After executing the command ng serve the following error is thrown:
Error: node_modules/angular-oauth2-oidc/provider.d.ts:1:10 - error TS2305: Module '"@angular/core"' has no exported member 'EnvironmentProviders'.

1 import { EnvironmentProviders } from '@angular/core';

Steps to reproduce the behavior:

Install angular v14
Install angular-oauth2-oidc v14
Run ng serve
See error

Expected behavior
The build should run flawlessly

Thanks. I'm on it.

Fixed it. Can you please retry with version 14.0.1?

It works perfectlly now @manfredsteyer. Awesome! Thanks for a lot the help!

install package in angular v.14 but get v.15 for this package.
have to specify version


Local deployment on production server

Q
A

Issue Type
Question

Deployer Version
N/A

Local Machine OS
N/A

Remote Machine OS
N/A

Description
Is there any reason Deployer shouldn't be hosted on the production server?
For example, if I have one server which hosts the production site under example.com and a staging site under staging.example.com, is there anything wrong with having a webhook start the deploy script automatically? So having Travis call:

example.com/deploy?stage=production&token=supersecretdeploymentkey

on a successful build to begin the deployment. I have seen that there is a recipe for local deployment, but all the documentation seems to suggest this is for building the app locally and copying it to the production server when using shared hosting or for testing on a development machine.

Yes, this is fully possible. Deploy strategy depends on your needs, it can be local build, build server, or build on production server. Last one is most common and most simple for a lot of projects, so this is default behavior. But it's really easy to customize it and do your own strategy: there is a common tasks, hooks, and a lot of configurations.


Optimize binary search

The code for the binary search could refined for better efficiency, like this:
if first > last:
    return False
mid = (first + last) // 2
if ip in networks[mid]:
    return True
if ip < min(networks[mid].hosts()):
    return ip_in_network(ip, networks, first, mid - 1)
return ip_in_network(ip, networks, mid + 1, last)

The implementation of the optimized binary search algorithm was not exactly as written in the issue. Upon reading the python documentation more closely, it's appropriate to treat IP Network objects like addressable lists (using [] notation). Doing so significantly improved the algorithm's performance.


Use entrypoint instead of ENV variables

The use of entrypoint instead of ENV variables allows the container to be run like an executable. This way everything remains uniform, in my opinion.
I would also suggest this repository to be auto build on the docker hub: https://docs.docker.com/docker-hub/builds/

+1

I don't have a bunch of state on docker, otherwise I'd be able to evaluate this better.  Could you show me how you would run it with our current dockerfile vs yours (i.e. the command you would enter in the terminal)

Sure thing!
Previous:
docker run <DockerName> -e AUTH_SERVICE=google -e<EMAIL_ADDRESS>-e PASSWORD=somepassword -e LOCATION=33.8118,-117.9189 -e CP=50 -e WALK=2
Current:
docker run <DockerName> -a google -u<EMAIL_ADDRESS>-p somepassword -l 33.8118,-117.9189 -c 50 -w 2
The new approach I'm proposing is that basically the arguments just get passed into the docker, we wouldn't need to add a ENV variable for every argument we come up with.

Yup - makes total sense.  lgtm - merging...


Investigate allowing async training for DLRM

This is a longer term issue to explore. Large models, such as a large recommender like DLRM, can benefit from async parts of the pipeline. These are optimizations commonly used to make large models performant in production; "the math changes on paper but not in practice". Some practitioners think this is an important optimization for certain models. It isn't clear how this fits into the rules for MLPerf, specifically closed division. It could make sense to allow this in closed because it is a relatively "vanilla" optimization, but it isn't how rules would be structured for this.

Postponed until next round.


Default MJML styles in head cause Gmail to strip all style blocks

By default MJML puts the following style block into <head>:
  <style type="text/css">
    @media only screen and (max-width:480px) {
      @-ms-viewport {
        width: 320px;
      }
      @viewport {
        width: 320px;
      }
    }
  </style>

Gmail has recently added partial support for style blocks in head, however it appears nested @s will cause all style blocks in head to be removed (see no. 5 in https://www.emailonacid.com/blog/article/email-development/12_things_you_must_know_when_developing_for_gmail_and_gmail_mobile_apps)
More of an FYI, but was also curious to know if there's any possible work around for this other than removing the above style block.

Hi @joeforshaw,
Thanks for opening this issue. We're actually putting this style in an isolated style at the end of the head of the email, so Gmail is not stripping the other styles needed for responsive.
As explained in the article:

One way to deal with this is to use multiple style blocks and put the styles that are Gmail safe in the top block.

You can see that a MJML template (here Racoon) renders well on Gmail: https://litmus.com/checklist/emails/public/bf208cb#chromegmailnew
I think my answer solves the issue you raised so I'm closing but feel free to answer if you disagree!

Hi ngarnier,
I have the same problems as joeforshaw.
That's why I tested the racoon template you suggested.

Has anything changed on Gmail or is it on my client (Thunderbird 52.5.0) and sent via GMX.
Win 7
MJML App v2.7.0
MJML v3.3.3

Hi
sent via GMX.
You should send it through an esp or something like putsmail. Sending it through a webmail will alter the html

Hi iRyusa,
many thanks for your fast feedback.
Then I should finally create a Mailjet account.
Thank you for your help
Hans

Hi,
I encountered the same problem.
When I send through mailchimp (my business use this service)
or thumderbird, gmail strips the <style> tags in <head>, makes the layout broken in Gmail Desktop.
While it's fine when I send it through putsmail or litmus.
I can't persuade my company switch the mail service, what can I do?

gmail strips the

@iRyusa Thanks for your fast response.
I will reach out to mailchimp to see if they can do this.


Should I use 64-bit version or 32-bit version

How do I know if I should use the 64-bit (x64) or 32-bit (x86) version of the binary? Or does it matter as long as my OS is 64-bit?

How do I know if I should use the 64-bit (x64) or 32-bit (x86) version of the binary?

See https://ss64.com/nt/syntax-64bit.html for "Detecting 64 bit vs 32 bit".
C:\>echo %PROCESSOR_ARCHITECTURE%
AMD64

C:\>powershell [environment]::is64bitoperatingsystem
True

C:\>powershell [environment]::is64bitprocess
True

Or does it matter as long as my OS is 64-bit?

No, it doesn't really matter. Chances are, if you don't have a 10 y/o machine, your CPU is gonna be 64-bit, and you should probably download and run the 64-bit binary. But you can also run 32-bit programs on a 64-bit CPU and OS.


Create a runnable that polls the api and creates crds using a mock api for now

What
Mock out calls to our API and wire up the polling loop to call it and update CRDs
How

We want to poll the ngrok API for endpoints that have been bound and then create CRDs from their config.
The apis are still being worked on so this mocks out the response of the URL field
This creates a runnable interface that can be added to the manager
it's all mock fake data, but its behind the bindings feature flag.

Breaking Changes
Are there any breaking changes in this PR?

Merge activity

Oct 15, 10:22 AM EDT: A user started a stack merge that includes this pull request via Graphite.


ModuleNotFoundError: No module named 'compressorwidget_tweaks'

I have
from oscar import get_core_apps INSTALLED_APPS = [     'django.contrib.admin',     'django.contrib.auth',     'django.contrib.contenttypes',     'django.contrib.sessions',     'django.contrib.messages',     'django.contrib.staticfiles',     'django.contrib.sites',     'django.contrib.flatpages',     'compressor'     'widget_tweaks' ]+get_core_apps()
but when I run python manage.py migrate I get this error ModuleNotFoundError: No module named 'compressorwidget_tweaks' . I am using python3 with django 2.1 and Oscar 1.6

Hi, you have missed a comma between
'compressor' 'widget_tweaks' ->  'compressor', 'widget_tweaks'

Hi there. We use Github only for managing bugs and feature requests, and not for support. We recommend that you ask for help on Stack Overflow using the django-oscar tag, or joining our slack workspace and asking a question there. Thanks.


Add description about AppServicePlatformLogs for Windows

[Enter feedback here]

Please update TBA section.
AutoHeal events will be recorded to AppServicePlatformLogs.
https://azure.github.io/AppService/2022/04/05/Announcing-Azure-Monitor-Integration-with-Crash-Monitoring-copy.html

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

ID: bfc316af-0d30-b449-a04f-3019b7a16bc1
Version Independent ID: 01c4c435-fda9-374a-70b3-f1d7f13c7651
Content: Enable diagnostics logging - Azure App Service
Content Source: articles/app-service/troubleshoot-diagnostic-logs.md
Service: app-service
GitHub Login: @cephalin
Microsoft Alias: msangapu

@georgeOsdDev Thanks for the feedback! We are currently investigating and will update you shortly.

@georgeOsdDev Thanks for sharing feedback! The PR has been created, once reviewed by author of the doc will visible in doc. We will now proceed to close this thread. If there are further questions regarding this matter, please let us know.


Matches in grid get rearranged by mouseover

every time there is a mouse over in the feedback part of the match at the bottom the size of the box changes sligthly which can move all the matches


when adding dropdownOptions showFlags and showDialCodeInSelection, auto search does not work

When I enable showFlag and showDialCodeInSelection, the country list does not auto scroll according to letters pressed on keyboard.
When i remove the dropdownOptions object, it works as expected. but i need the showDialCodeInSelection to be true.
<vue-tel-input
    v-model="phoneNumber"
    :class="{ '--invalid': isInvalid }"
    :enabled-country-code="true"
    @validate="validatePhone"
    @country-changed="countryChanged"
    :dropdownOptions="{
      showFlags: true,
      showDialCodeInSelection: true,
    }"
  />

Confirmed this is the same issue I ran into as well.

Yes, even a single config option such as placeholder would break the auto search feature for country, and I don't see any solution to this issue. I'm trying to implement the search box with auto-focus for searching countries now as a fall back mechanism.