[ 
https://issues.apache.org/jira/browse/YARN-9477?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=16871192#comment-16871192
 ] 

Peter Bacsko commented on YARN-9477:
------------------------------------

[~tangzhankun] [~snemeth] please verify the latest patch.

Main changes:
1) "stat" command is called differently: added "-L" switch to follow symlinks 
and {{%F}} formatter to determine device type (note that {{/dev/veslot0}} is a 
symlink that needs to be dereferenced)
2)  {{getDeviceState()}} - we just read a single byte instead of an integer. 
Otherwise we get an {{EOFException}}.
3) {{LibUdev.init()}}: we need "==" in the "if" condition and not "!="

Note that a patch v5 will likely be necessary - current code doesn't log too 
much and should be more informative when detecting devices.

> Implement VE discovery using libudev
> ------------------------------------
>
>                 Key: YARN-9477
>                 URL: https://issues.apache.org/jira/browse/YARN-9477
>             Project: Hadoop YARN
>          Issue Type: Sub-task
>            Reporter: Peter Bacsko
>            Assignee: Peter Bacsko
>            Priority: Major
>         Attachments: YARN-9477-001.patch, YARN-9477-002.patch, 
> YARN-9477-003.patch, YARN-9477-004.patch, YARN-9477-POC.patch, 
> YARN-9477-POC2.patch, YARN-9477-POC3.patch
>
>
> Right now we have a Python script which is able to discover VE cards using 
> pyudev: https://pyudev.readthedocs.io/en/latest/
> Java does not officially support libudev. There are some projects on Github 
> (example: https://github.com/Zubnix/udev-java-bindings) but they're not 
> available as Maven artifacts.
> However it's not that difficult to create a minimal layer around libudev 
> using JNA. We don't have to wrap every function, we need to call 4-5 methods.



--
This message was sent by Atlassian JIRA
(v7.6.3#76005)

---------------------------------------------------------------------
To unsubscribe, e-mail: [email protected]
For additional commands, e-mail: [email protected]

Reply via email to