7

के बीच अक्का संस्करण टक्कर हमारे प्रोजेक्ट में हमारे पास एक फ्लैंक (1.1.3) स्ट्रीमिंग जॉब है जो एक कफका कतार से पढ़ती है, एक नक्शा फ़ंक्शन ट्रांसफ़ॉर्मेशन करती है और एक और कतार में लिखती है।फ्लिंक और प्ले 2.5

यह तब तक अच्छा काम कर रहा था जब तक कि हम प्रवाह के हिस्से के रूप में आउटगोइंग आरईएसटी अनुरोध पेश नहीं करते। ऐसा करने के लिए हम PlayFramework WSClient इस्तेमाल किया (के रूप में यह हमारे ढेर के अन्य स्थानों में प्रयोग किया जाता है), और इस तरह से कोड में यह बनाया:

val config = new AhcWSClientConfig(wsClientConfig = WSClientConfig()) 
    val builder = new AhcConfigBuilder(config) 
    val ahcConfig = builder.configure().build() 
    new AhcWSClient(ahcConfig)(ActorMaterializer()(ActorSystem())) 

यह स्थानीय स्तर पर अच्छी तरह से काम, लेकिन जब यह और चल रहा है की तैनाती एक क्लस्टर पर, मैं इस अपवाद है:

java.lang.NoSuchMethodError: akka.util.Helpers$.toRootLowerCase(Ljava/lang/String;)Ljava/lang/String; 
    at akka.stream.StreamSubscriptionTimeoutSettings$.apply(ActorMaterializer.scala:491) 
    at akka.stream.ActorMaterializerSettings$.apply(ActorMaterializer.scala:243) 
    at akka.stream.ActorMaterializerSettings$.apply(ActorMaterializer.scala:232) 
    at akka.stream.ActorMaterializer$$anonfun$1.apply(ActorMaterializer.scala:41) 
    at akka.stream.ActorMaterializer$$anonfun$1.apply(ActorMaterializer.scala:41) 
    at scala.Option.getOrElse(Option.scala:121) 
    at akka.stream.ActorMaterializer$.apply(ActorMaterializer.scala:41) 
    at com.ourstuff.etl.core.utils.web.GlobalWSClient$.generateClient(WSClientFactory.scala:32) 

इसे में जांच करते हुए, मैं मान लिया है इस अक्का 2.3.x (Flink 1.1.X द्वारा लाया) और अक्का 2.4.x (PlayFramework द्वारा लाया) के बीच टक्कर है।

हमने फ्लिंक क्लस्टर को 1.3.1 (साथ ही साथ हमारे कोड की निर्भरता पर फ्लिप पर निर्भरता) को अपग्रेड किया, यह मानते हुए कि इससे समस्या हल हो जाएगी। लेकिन एक ही मुद्दा जारी है।

क्या कोई विचार अभी भी इसका कारण बन सकता है?

+0

फ्लिंक 1.3.1 अभी भी अक्का 2.3 का उपयोग करता है (अच्छी तरह तकनीकी रूप से एक कस्टम 2.3 बिल्ड जिसे फ्लैका कहा जाता है)। –

+0

@ चेसनेस्चप्लर फ्लिंक पर विचार करते हुए 1.3.1 अपने स्वयं के कस्टम संस्करण का उपयोग करता है (फ्लाका) क्लैथपैथ में अक्का की तलाश में प्ले के साथ टकराव क्यों होगा? – JoefGoldstein

+0

बस इसके शीर्ष पर अपडेट करने के लिए। मैं एसबीटी 'whatDependsOn "com.typesafe.akka" "अक्का-अभिनेता_2.11" "2.3.7" ' पर चला गया है और इससे कोई परिणाम नहीं मिला है। – JoefGoldstein

उत्तर

1

इस निर्भरता संघर्ष को हल करने का एकमात्र तरीका relocating the conflicting classes into a different namespace है।

+0

विरोधाभासी वर्गों को ध्यान में रखते हुए अक्का-अभिनेता के भीतर हैं, जो कि खेल की निर्भरता है, मुझे नाटक के ढांचे को भी छायांकन करने की आवश्यकता होगी, और हमारे सभी "सामान्य" पुस्तकालयों पर निर्भर करता है। इसका एक बहुत ही गंभीर कैस्केडिंग प्रभाव होगा। क्या यह एकमात्र विकल्प है? – JoefGoldstein

+0

जैसा कि मैंने अपने मूल प्रश्न पर एक टिप्पणी में उल्लेख किया है, फ्लिंक 1.3.1 तकनीकी रूप से छाया "(" flakka "के बजाय) का उपयोग करके, ताकि स्वयं को इस मुद्दे को हल करना चाहिए, हालांकि यह नहीं है। – JoefGoldstein

+0

इस मुद्दे पर कोई अपडेट? – victtim

संबंधित मुद्दे