@@ -1421,12 +1421,17 @@ data NodeJVMInfo = NodeJVMInfo {
14211421 , nodeJVMVMVersion :: VMVersion
14221422 -- ^ JVM doesn't seme to follow normal version conventions
14231423 , nodeJVMVMName :: Text
1424− , nodeJVMVersion :: VersionNumber
1424+ , nodeJVMVersion :: JVMVersion
14251425 , nodeJVMPID :: PID
14261426 } deriving (Eq, Show)
14271427
1428−-- | Handles quirks in the way JVM versions are rendered (1.7.0_101 -> 1.7.0.101)
1429−newtype JVMVersion = JVMVersion { unJVMVersion :: VersionNumber }
1428+-- | We cannot parse JVM version numbers and we're not going to try.
1429+newtype JVMVersion =
1430+ JVMVersion { unJVMVersion :: Text }
1431+ deriving (Eq, Show)
1432+
1433+instance FromJSON JVMVersion where
1434+ parseJSON = withText "JVMVersion" (pure . JVMVersion)
14301435
14311436data JVMMemoryInfo = JVMMemoryInfo {
14321437 jvmMemoryInfoDirectMax :: Bytes
@@ -2240,14 +2245,9 @@ instance FromJSON NodeJVMInfo where
22402245 <*> o .: "vm_vendor"
22412246 <*> o .: "vm_version"
22422247 <*> o .: "vm_name"
2243− <*> (unJVMVersion <$> o .: "version")
2248+ <*> o .: "version"
22442249 <*> o .: "pid"
22452250
2246−instance FromJSON JVMVersion where
2247− parseJSON (String t) =
2248− JVMVersion <$> parseJSON (String (T.replace "_" "." t))
2249− parseJSON v = JVMVersion <$> parseJSON v
2250−
22512251instance FromJSON JVMMemoryInfo where
22522252 parseJSON = withObject "JVMMemoryInfo" parse
22532253 where