mathworks-ref-arch / matlab-aws-s3

MATLAB interface for AWS S3.
Other
4 stars 1 forks source link

Is JDK 7 really a requirement? #6

Open TheFutonEng opened 1 year ago

TheFutonEng commented 1 year ago

Are more recent versions of JDK acceptable? JDK 7 was released in 2011 and just exited extended support last month (July 2022).

brownemi commented 1 year ago

Hi TheFutonEng,

In short, no. Originally this package was pinned to JDK 7 to enable support of quite old releases of MATLAB, more recent releases use a 1.8 JVM (type ver in MATLAB to check). I agree 7 is pretty old now and the doc should strictly say JDK 7 to JDK X, where X is the last release to support 1.7 as a target or indeed just require JDK 8 as a minimum now. Updating the Software/Java/pom.xml file lines 52 and 53 to 1.8 instead of 1.7 and rebuilding the Jar file (mvn clean package) with a later JDK should work, a very recent JDK may no longer support a 1.8 target but Maven should give a clear message in that case. 8 & 11 are typically used for internal testing of this package. We'll update this in a future release, pending some further testing across the other related AWS packages. If you've any problem with this change contact the support address on the repo home page and we can arrange a call to investigate.

Also be sure to check out if MATLAB's integrated S3 support meets your needs, most of MATLAB's IO functions support an "s3://" style path in recent releases: https://www.mathworks.com/help/matlab/import_export/work-with-remote-data.html

Thanks for the question.

TheFutonEng commented 1 year ago

@brownemi, thanks for the quick reply. Below is the output of ver and the Java version is indeed 1.8.

I'm basically looking to save data from a scenario to an S3 bucket from one machine and then import that same data onto another machine. Will the integrated S3 support permit that? I assume yes, just figured I would ask the question 🙂

>> ver
-----------------------------------------------------------------------------------------------------
MATLAB Version: 9.12.0.2009381 (R2022a) Update 4
MATLAB License Number: DEMO
Operating System: Linux 5.4.0-122-generic #138-Ubuntu SMP Wed Jun 22 15:00:31 UTC 2022 x86_64
Java Version: Java 1.8.0_202-b08 with Oracle Corporation Java HotSpot(TM) 64-Bit Server VM mixed mode
-----------------------------------------------------------------------------------------------------
MATLAB                                                Version 9.12        (R2022a)
Simulink                                              Version 10.5        (R2022a)
Aerospace Blockset                                    Version 5.2         (R2022a)
Aerospace Toolbox                                     Version 4.2         (R2022a)
Antenna Toolbox                                       Version 5.2         (R2022a)
Audio Toolbox                                         Version 3.2         (R2022a)
Bioinformatics Toolbox                                Version 4.16        (R2022a)
Bluetooth Toolbox                                     Version 1.0         (R2022a)
Communications Toolbox                                Version 7.7         (R2022a)
Computer Vision Toolbox                               Version 10.2        (R2022a)
Control System Toolbox                                Version 10.11.1     (R2022a)
Curve Fitting Toolbox                                 Version 3.7         (R2022a)
DSP System Toolbox                                    Version 9.14        (R2022a)
Database Toolbox                                      Version 10.3        (R2022a)
Datafeed Toolbox                                      Version 6.2         (R2022a)
Deep Learning Toolbox                                 Version 14.4        (R2022a)
Econometrics Toolbox                                  Version 6.0         (R2022a)
Financial Instruments Toolbox                         Version 3.4         (R2022a)
Financial Toolbox                                     Version 6.3         (R2022a)
Fixed-Point Designer                                  Version 7.4         (R2022a)
Fuzzy Logic Toolbox                                   Version 2.9         (R2022a)
Global Optimization Toolbox                           Version 4.7         (R2022a)
Image Acquisition Toolbox                             Version 6.6         (R2022a)
Image Processing Toolbox                              Version 11.5        (R2022a)
Industrial Communication Toolbox                      Version 6.0         (R2022a)
Instrument Control Toolbox                            Version 4.6         (R2022a)
Lidar Toolbox                                         Version 2.1         (R2022a)
MATLAB Report Generator                               Version 5.12        (R2022a)
Mapping Toolbox                                       Version 5.3         (R2022a)
Mixed-Signal Blockset                                 Version 2.2         (R2022a)
Model Predictive Control Toolbox                      Version 7.3         (R2022a)
Motor Control Blockset                                Version 1.4         (R2022a)
Navigation Toolbox                                    Version 2.2         (R2022a)
Optimization Toolbox                                  Version 9.3         (R2022a)
Parallel Computing Toolbox                            Version 7.6         (R2022a)
Partial Differential Equation Toolbox                 Version 3.8         (R2022a)
Phased Array System Toolbox                           Version 4.7         (R2022a)
Predictive Maintenance Toolbox                        Version 2.5         (R2022a)
RF Blockset                                           Version 8.3         (R2022a)
RF PCB Toolbox                                        Version 1.1         (R2022a)
RF Toolbox                                            Version 4.3         (R2022a)
ROS Toolbox                                           Version 1.5         (R2022a)
Radar Toolbox                                         Version 1.2         (R2022a)
Reinforcement Learning Toolbox                        Version 2.2         (R2022a)
Requirements Toolbox                                  Version 2.0         (R2022a)
Risk Management Toolbox                               Version 2.0         (R2022a)
Robotics System Toolbox                               Version 4.0         (R2022a)
Robust Control Toolbox                                Version 6.11.1      (R2022a)
Satellite Communications Toolbox                      Version 1.2         (R2022a)
Sensor Fusion and Tracking Toolbox                    Version 2.3         (R2022a)
Signal Integrity Toolbox                              Version 1.1         (R2022a)
Signal Processing Toolbox                             Version 9.0         (R2022a)
SimBiology                                            Version 6.3         (R2022a)
SimEvents                                             Version 5.11        (R2022a)
Simscape                                              Version 5.3         (R2022a)
Simscape Driveline                                    Version 3.5         (R2022a)
Simscape Electrical                                   Version 7.7         (R2022a)
Simscape Fluids                                       Version 3.4         (R2022a)
Simscape Multibody                                    Version 7.5         (R2022a)
Simulink 3D Animation                                 Version 9.4         (R2022a)
Simulink Check                                        Version 6.0         (R2022a)
Simulink Control Design                               Version 6.1         (R2022a)
Simulink Coverage                                     Version 5.4         (R2022a)
Simulink Design Optimization                          Version 3.11        (R2022a)
Simulink Report Generator                             Version 5.12        (R2022a)
Simulink Test                                         Version 3.6         (R2022a)
SoC Blockset                                          Version 1.6         (R2022a)
Stateflow                                             Version 10.6        (R2022a)
Statistics and Machine Learning Toolbox               Version 12.3        (R2022a)
Symbolic Math Toolbox                                 Version 9.1         (R2022a)
System Composer                                       Version 2.2         (R2022a)
System Identification Toolbox                         Version 9.16        (R2022a)
Text Analytics Toolbox                                Version 1.8.1       (R2022a)
UAV Toolbox                                           Version 1.3         (R2022a)
Vehicle Network Toolbox                               Version 5.2         (R2022a)
Wavelet Toolbox                                       Version 6.1         (R2022a)
Wireless Testbench                                    Version 1.0         (R2022a)
>> 
TheFutonEng commented 1 year ago

To clarify the above comment, I'm looking to save data off into an on prem object store provided by MinIO. Does that change the equation here at all? This thread, though old, suggests that integration with MinIO is not possible.

brownemi commented 1 year ago

Built in support is currently limited to Amazon S3 however this package can be used connect to MinIO. To do so set the endpoint URI before initializing the client as follows, aside from that for basic operations its behavior is very similar regardless of the backend:

s3 = aws.s3.Client();
s3.endpointURI = 'https//myminio:9000';
s3.initialize();
TheFutonEng commented 1 year ago

@brownemi, thanks for the info. We tried to leverage this package and honestly it was too difficult to get going. We decided to leverage the built S3 support and we've pivoted to S3 for the short term. I think Matlab would benefit from built in on prem S3 support. Having to mess around with out of support Java version to get that feature I don't think most folks would be ok with.