amazon-kinesis-producer icon indicating copy to clipboard operation
amazon-kinesis-producer copied to clipboard

amazon-kinesis-producer-0.14.0/amazon-kinesis-producer-native-binaries does not contain windows binaries

Open artembilan opened this issue 5 years ago • 19 comments

See what we have in Maven Central: https://repo1.maven.org/maven2/com/amazonaws/amazon-kinesis-producer/0.14.0/

At the same time the previous version 0.13.1 is OK.

Thanks

artembilan avatar Nov 21 '19 02:11 artembilan

Unfortunatey, the release notes for 0.14.0 state "Note: Windows platform will be unsupported going forward for this library."

As someone who's current task at work is to develop an application that must put to kinesis, for which this library sounds perfect, but is developing on a windows machine, this is disappointing news. It is also not what I would expect from Amazon.

ScottDennison avatar Nov 21 '19 10:11 ScottDennison

Thanks @ScottDennison , for the pointer !

Well, that's really unfortunate for this library to lose a whole bunch of users... We can live with that in the future when we get used already for the fact, but for now we just fail with NPE instead of reasonable error message:

Caused by: java.lang.RuntimeException: Could not copy native binaries to temp directory C:\Users\ARTEMB~1\AppData\Local\Temp\amazon-kinesis-producer-native-binaries
	at com.amazonaws.services.kinesis.producer.KinesisProducer.extractBinaries(KinesisProducer.java:908)
	at com.amazonaws.services.kinesis.producer.KinesisProducer.<init>(KinesisProducer.java:245)
	at org.springframework.integration.aws.kinesis.KplKclIntegrationTests$TestConfiguration.kplMessageHandler(KplKclIntegrationTests.java:167)
	at org.springframework.integration.aws.kinesis.KplKclIntegrationTests$TestConfiguration$$EnhancerBySpringCGLIB$$e1d24458.CGLIB$kplMessageHandler$3(<generated>)
	at org.springframework.integration.aws.kinesis.KplKclIntegrationTests$TestConfiguration$$EnhancerBySpringCGLIB$$e1d24458$$FastClassBySpringCGLIB$$8e067b04.invoke(<generated>)
	at org.springframework.cglib.proxy.MethodProxy.invokeSuper(MethodProxy.java:244)
	at org.springframework.context.annotation.ConfigurationClassEnhancer$BeanMethodInterceptor.intercept(ConfigurationClassEnhancer.java:363)
	at org.springframework.integration.aws.kinesis.KplKclIntegrationTests$TestConfiguration$$EnhancerBySpringCGLIB$$e1d24458.kplMessageHandler(<generated>)
	at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
	at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
	at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
	at java.lang.reflect.Method.invoke(Method.java:498)
	at org.springframework.beans.factory.support.SimpleInstantiationStrategy.instantiate(SimpleInstantiationStrategy.java:154)
	... 82 more
Caused by: java.lang.NullPointerException
	at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:2314)
	at org.apache.commons.io.IOUtils.copy(IOUtils.java:2270)
	at org.apache.commons.io.IOUtils.copyLarge(IOUtils.java:2291)
	at org.apache.commons.io.IOUtils.copy(IOUtils.java:2246)
	at com.amazonaws.services.kinesis.producer.HashedFileCopier.copyFileFrom(HashedFileCopier.java:52)
	at com.amazonaws.services.kinesis.producer.KinesisProducer.extractBinaries(KinesisProducer.java:894)

artembilan avatar Nov 21 '19 14:11 artembilan

this is a break of semver

jburnitz avatar Dec 16 '19 21:12 jburnitz

Thank you for opening this issue to help track customers impacted by version 0.14.0 not shipping with windows binaries. Please +1 this issue to help us prioritize adding this binary back into the released libraries.

Cory-Bradshaw avatar Feb 25 '20 16:02 Cory-Bradshaw

@Cory-Bradshaw Is there any justification for this decision (not ship Windows native bins from 0.14.x onwards)? I was just developing an application and bumped into this... there does not seem to be any reason on the README other than the note. I'm curious about the underlying rationale:

  1. CI/CD for windows target breaking at some point and not being fixed?
  2. Some OS-level issue on newer windows such as security restrictions, certificates, etc...?
  3. Simply lack of AWS engineer time or interest to fix it?
  4. Arbitrary internal managerial decision?
  5. https://github.com/awslabs/amazon-kinesis-producer/issues/113#issuecomment-345028662 ?

Perhaps the community can step forward, take it from there and fix it at some point in the future if the main reason(s) behind are just a few technical issues to overcome?

brainstorm avatar Apr 16 '20 01:04 brainstorm

@brainstorm ,

The underlying reason was due to the technical problems with supporting a windows build environment in the KPL, which required having separate branches to have a window's buildable KPL, and lack of resources to setup and configure the windows build environment. This is something we would like to support again, but we are currently focused on higher impact feature deliveries for our customers.

If you or another customer can provide a PR that includes a travis setup for windows to build this component from the master branch, it will definitely be something we can add back into the project.

Cory-Bradshaw avatar Apr 16 '20 16:04 Cory-Bradshaw

Hi @Cory-Bradshaw , do you guys have any plans to support Windows again in a near future? (8-6 months-) Just to decide if I go to Linux / WSL or if I can wait for some time :)

Menighin avatar Sep 28 '20 17:09 Menighin

Sorry, I don't support this project. I also need Windows for my target solutions based on this project. Not sure why you ask me to do something... That's exactly my request to AWS to bring Windows support back.

Thanks for understanding!

artembilan avatar Sep 28 '20 17:09 artembilan

Any update on this?

mikeUtah avatar Jun 23 '21 13:06 mikeUtah

I actually don't care that it doesn't support windows per se as the server runs linux BUT,

This error makes it impossible for windows users to even run unit tests that happen to new up the KinesisProducer. Devs should be able to at least WORK with the library in systems, even if they are not going to hook up to Kinesis.

I would tend to say that a constructor should NOT copy things around on disk, and it if DOES it should throw a IOException, not a unspecific RuntimeException. If this action was moved to where the binaries were actually needed rather than on construction it would help.

ryber avatar Jul 28 '22 21:07 ryber

Also, if there are no windows binaries then the error should say that, rather than a NPE.

ryber avatar Jul 28 '22 21:07 ryber

I commented almost 3 years ago on this. Still not fixed. Sad.

On Thu, Jul 28, 2022, 4:59 PM Ryan Bergman @.***> wrote:

Also, if there are no windows binaries then the error should say that, rather than a NPE.

— Reply to this email directly, view it on GitHub https://github.com/awslabs/amazon-kinesis-producer/issues/284#issuecomment-1198673012, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABLF2TWUMUSJBRDXXXZNQNLVWL7FLANCNFSM4JP4FJWA . You are receiving this because you commented.Message ID: @.***>

jburnitz avatar Jul 28 '22 22:07 jburnitz

Sad to see that this still is an issue

gabrielfmagalhaes avatar Apr 02 '23 03:04 gabrielfmagalhaes

OOh wow, biggest "Screw you windows" I've ever seen

ahmed-anas avatar May 08 '23 15:05 ahmed-anas

this issue still persists with 0.15.8 version

Akansha0398 avatar Nov 21 '23 10:11 Akansha0398

this documentation that claims windows binaries are included should probably updated eh? https://docs.aws.amazon.com/streams/latest/dev/kinesis-kpl-dl-install.html

madorb avatar Dec 12 '23 19:12 madorb

Hey there. Any updates for this? The latest version is 0.15.10 and still nothing. It's really a shame.

SquallxLeonhart avatar Mar 15 '24 13:03 SquallxLeonhart

any ideas where can we take the binaries from?

carek88 avatar May 22 '24 15:05 carek88

The fact that the Windows binaries are not supported anymore is such a bummer and a huge surprise coming from Amazon which did not brought them back even now after years of complaints. This problem eliminates completely the option to develop an app on Windows systems using KPL ... it is such a disappointment.

apirvane avatar Sep 21 '24 08:09 apirvane