Pokazywanie postów oznaczonych etykietą Sun. Pokaż wszystkie posty
Pokazywanie postów oznaczonych etykietą Sun. Pokaż wszystkie posty

piątek, kwietnia 13, 2018

Well designed filesystem with poorly designed cmdline util

This is a story about btrfs and docker build server. Decomissioned hardware with AMD Phenom X4 was brought to life again after Intel Spectre/Meltdown bugs, however problem of not tightly installed RAM modules went unnoticed. Electrical connection between pins was not reliable and from time to time headless server was crashing due to corrupted memory. After cold restart it was working again. Until it was loaded with building docker images. Once ssh failed with I/O error from filesystem and after warm reboot server was dead. After attaching display it was visible that boot process crashed early on btrfs open_ctree_failed.

OK, there is initrd with btrfsck. Let's try btrfsck --repair. According to output there is a disaster.

Let's check what else we have with this tool: -b use the first valid backup root copy. Command line tool did something, but after --repair rerun still nothing. Assessment of situation: brtfs seriously damaged, no backup since it was simple server for building docker images. Nothing important was on disks, everything important was pushed to the cloud. Reinstall Linux, now with ZFS? OK, booting USB installer. Next, next, hmm - installer sees btrfs volumes. How is it possible? Running dmesg. Kernel sees partition, tries to reply transactions but fails with checksums.

OK, now: btrfsck --repair -b --init-csum-tree. Waiting....

Mounting. Now kernel fails with extents. How about: btrfsck --repair -b --init-csum-tree --init-extent-tree?

After many minutes fsck finishes and I'm able to mount fs read write. Listing content and there is /root and /home. Reboot and server is fully operational!

Filesystem is probably rock solid, but fsck is written this way that it totally doesn't help people to recover filesystem.








sobota, października 15, 2011

The American Dream

Firma, która z sukcesem stworzyła Uniksa na Big Iron. Marzeniem młodych inżynierów było pracować w Sun-ie. Zone-y, ZFS, DTrace były innowacyjnymi pomysłami. OpenSolaris i OpenJDK były wydarzeniami, które odbiły się szerokim echem w branży IT. Sun w dużym stopniu wspierał środowisko Gnome (poprzez Java Desktop System). Ludzie z tej firmy jako pierwsi z branży zaczęli prowadzić blogi. Sun był otwarty. Dali społeczności darmowy serwer aplikacyjny i darmowe ESB. Od czego zaczęła się rewolucja 3D (Compiz) na linuksowym desktopie? Od projektu Sun Looking Glass.



Oracle drastycznie zmienił kierunek, z czym wielu pracowników fioletowej korporacji nie mogło się pogodzić. Odeszło wielu wartościowych ludzi, którzy stworzyli potęgę techniczną Sun Microsystems. Jak bez nich będzie rozwijał się komercyjny i zamknięty Solaris? Architekt infrastruktury, podejmując w tym momencie strategiczne i długoterminowe decyzje, widząc duże przyśpieszenie RedHata (patrz Cluster Suite, High Availability Add-On), ma poważne wątpliwości którą opcję wybrać.
Obecnie dewelopmentem Javy kieruje Henrik Stahl (BEA JRockit). Co do koncepcji, to dobrze, ale co do jakości wydań to Java 7.0 ze słynnym już Segmentation Fault ma jakość niektórych wersji JRockita...

poniedziałek, lutego 07, 2011

JMS Performance

Test scenario is a producer sending 16k+128k messages and concurrent consumers implemented as Tibco BW processes with JMS Queue Receiver. The load is heavy.


EMS is the fastest JMS server. The fastest free JMS Server is Sun MQ 4.4! It is available in GlassFish but was used in standalone mode. Sun MQ performance is comparable with Sonic MQ 8.0. Sun's patent is ObjectStore which is local replacement for JNDI server. ActiveMQ is very dissapointing, it was the only server which lost messages due to expiration, and the score was pretty low. I tried activemq-throughput configuration, but it was stopping consumers rendering server unusable. HornetQ was tested without AIO (available only on Linux).



I tried to squeeze everything from SonicMQ using JRockit, however its optimizing compiler sometimes generates high performance assembler which brings down the whole JVM.


czwartek, grudnia 09, 2010

Najlepsze serwery tylko od Sun-a

SPARC T3 - 16 rdzeni w jednym układzie, każdy rdzeń jest taktowany z częstotliwością 1.65GHz i może wykonywać 8 wątków na raz. Procesor ma sprzętowe wsparcie kryptografii: DES, 3DES, AES, RC4, SHA1, SHA256, MD5, RSA 2048, CRC32. Oprócz tego T3 ma zintegrowane interfejsy sieciowe ze sprzętowym tcp offload. Czy architektura x86 ma bardziej zaawansowany procesor? Raczej nie. Owszem, wydajność pojedynczego wątku na Intelu będzie lepsza dzięki taktowaniu 3.3GHz, ale te Nehalemy się grzeją...
Sun OpenBoot PROM wciąż potrafi więcej niż Intel AMT.

środa, lutego 10, 2010

Do akcji wkracza RedHat

Where will you be when the Sun burns out? Dobrze zadane pytanie. A odpowiedź raczej wiadoma...

sobota, lutego 06, 2010

Oracle Solaris

Nie podoba mi się, co Oracle zrobił z Sun-em. Jonathanowi Schwartzowi też się nie spodobało. Wycięli wszystkie projekty, na których nie da się zarobić dużej kasy. Nie skasowali OpenESB chyba tylko dlatego, że Oracle Fusion też używa JBI-a. Zamiast sympatycznych niebieskich stron jest teraz czarny z czerwonym. Kulturą korporacyjną Sun bardziej pasował do IBM-a (DeveloperWorks, AlphaWorks).

Forkować czy nie forkować Database-BC? Obecnie używam poprawionej w paru miejscach wersji w ServiceMix-ie. Sun nie dostał poprawionego kodu, bo zastopowali mnie na etapie Sun Contributors Agreement. Gdybym przekazał swoje poprawki, to OpenESB działałoby bez problemu z bazą Oracle na standardowym sterowniku Oracle. Nie jest to cel strategiczny Oracle Corporation. OpenESB działa ze sterownikiem DataDirect dostępnym w komercyjnym JCAPS-ie albo w wersji standalone za około 20 000 Euro z licencją na cztery rdzenie (z rocznym supportem).

Update 10.02: Oracle zwolnił ekspertów od usuability pracujących dla projektu Gnome. Największy wkład w rozwój Gnome-a mieli pracownicy Sun Microsystems (kto nie wierzy niech spojrzy w statystyki commitów).

sobota, stycznia 23, 2010

Database-bc z OpenESB w ServiceMix-ie

Z zainstalowanego OpenESB potrzebujemy następujące pliki, które umieścimy w katalogu smx3.3/lib/optional: commons-logging-1.1.jar, grizzly-1.0.17.jar, httpbc-ext.jar, javaee.jar, javaws-rt-2.1.2, saaj-impl-1.3.jar, sjsxp-1.0.jar, stax-ex-1.0.jar, streambuffer-0.4.jar.

Do hotdeploy wrzucimy databasebc.jar i httpbc.jar. Demo usługi jest tutaj.

W servicemix.xml dodajemy wpis import resource z classpath o nazwie ds.xml, a tam już definicję DataSource-a:

<bean id="oraEAIDataSource" class="oracle.jdbc.xdriver.OracleDataSource" destroy-method="close">  
<property name="driverType" value="thin"/>
<property name="networkProtocol" value="tcp"/>
<property name="serverName" value="localhost"/>
<property name="portNumber" value="1521"/>
<property name="serviceName" value="EAI"/>
<property name="user" value="soatest"/>
<property name="password" value="soatest"/>
<property name="connectionCachingEnabled" value="true"/>
</bean>

Trzeba pamiętać o dodaniu wpisu JNDI w jndi.xml.

Dlaczego DataSource pochodzi z Oracle XDrivera? Bo Sun w OpenESB nie wspiera oryginalnego sterownika oracle-owego i nie zamierza wspierać. Database-bc i komponenty design-time NetBeansa (dawny SOA Pack) napisane są tak celowo, żeby OpenESB nie nadawało się do zastosować profesjonalnych i nie próbowało konkurować z produktem Oracle Fusion. OpenESB ma niby otwarty kod, ale Sun nie chce poprawek przystosowujących darmowe ESB do działania z bazą Oracle.

Dokumentacja DBBC jest tutaj.

środa, grudnia 23, 2009

GlassFish na produkcji

Po zainstalowaniu GlassFish działa na ustawieniach odpowiednich do dewelopmentu. Przed wypuszczeniem go na produkcję, gdzie oczekuje się od niego pewnej wydajności, trzeba pozmieniać parę rzeczy.









niedziela, listopada 22, 2009

DSEE 7.0 na NT 6.1

Po rozpakowaniu windowsowej wersji DSEE w katalogu var mamy plik dsee7.war, który należy zadeployować sobie na GlassFishu. Najpierw jednak inicjalizujemy Directory Server i podnosimy cacao.

Cacao używa samodzielnie podpisanego certyfikatu SSL, który nie przejdzie w DCC 7. Dlatego wyeskportujemy certyfikat i zaimportujemy go do keystore'a, którego używa GlassFish.





sobota, października 17, 2009

Master Data Management

Mamy kilka systemów dziedzinowych, wszystkie zawierają dane tego samego typu biznesowego (np. dotyczące klientów) i chcielibyśmy te dane zsynchronizować. Bierzemy pod uwagę, że obecna firma to efekt paru przejęć, połączeń i innych tego typu zaniechanych okazji do połączenia systemów IT. Bierzemy też pod uwagę, że klientki zmieniają nazwiska, adresy zamieszkania, telefony itd. Robimy jedną bazę, w której będą spójne i aktualne dane i wszystkie nowe aplikacje powinny z niej korzystać.



Sun ma kompleksowe rozwiązanie integrujące się z OpenESB/JCAPS-em. Definiujemy sobie model danych i instalujemy na serwerze aplikacyjnym aplikację MasterIndex1. Wykonujemy na Oracle'u skrypty z katalogu 'Database Scripts'.



Tworzymy na Glassfish-u źródło danych dostępne po JNDI-u jako jdbc/MasterIndex1DataSource.



Dodajemy operatora zarządzania danymi.



Z MDM możemy rozmawiać za pomocą WebService-u.



Zasymulujmy import użytkownika z systemu dziedzinowego A. Dla odmiany używając Eclipse-a a nie NetBeans-a.



Teraz dodajmy w zasadzie tego samego klienta z systemu B. Jeśli pozmieniamy mu trochę dane to dostanie inny Enterprise UID (czyli zostanie potraktowany jako nowy unikalny rekord).



Error Codes

środa, sierpnia 19, 2009

Metro Sun-a nie działa z Sharepointem MS

Na końcu metody getElementPropertyAccessor w klasie JAXBContextImpl z pakietu com.sun.xml.bind.v2.runtime nie należy rzucać wyjątku tylko zwrócić dodatkowy Accessor, który bierze pod uwagę, że klasy MS mogą mieć nazwy zaczynające się od Get i Set...
public GetSetAccessor(Class wrapperBean, String localName)
throws JAXBException
{
try {
String javaFieldName = Character.toLowerCase(
localName.charAt(0)) + localName.substring(1);
wrapperBean.getDeclaredField(javaFieldName);
}
catch (Exception e) {
throw new JAXBException("No access to field "+
localName + " of " + wrapperBean+": "+e.toString());
}
String fieldInMethod = Character.toUpperCase(
localName.charAt(0)) + localName.substring(1);

String setterName = "set"+fieldInMethod;
String getterName = "get"+fieldInMethod;

for (Method m : wrapperBean.getMethods()) {
if (m.getName().equals(setterName) &&
m.getParameterTypes().length==1) {
setter = m;
}
else if (m.getName().equals(getterName) &&
m.getParameterTypes().length==0) {
getter = m;
}
}
}
No i gdzie to interoperability out of box?...

niedziela, czerwca 14, 2009

OpenESB nightly build

Sun schował je tutaj:
http://download.java.net/jbi/binaries/open-esb-full-install/v2.1/nightly/latest/
http://download.java.net/jbi/binaries/glassfishesb/v2.1/nightly/latest/

[2009-10-11] http://download.java.net/jbi/binaries/installers/single-component/v2.1/nightly/

wtorek, kwietnia 21, 2009

Sun Fuji Milestone 5

Lekkie ESB techniczne (czyli w zasadzie sama warstwa routingu), w którym przepływy można wyklikać w przeglądarce. Do dyspozycji są adaptery: bazodanowy, http, jms, rss, ftp, email. Proste transformacje komunikatu mogą być dokonowywane przez węzły serwisowe JRuby.



Kiedy kontrolka JDBC będzie obsługiwać Oracle'a, będzie można zacząć myśleć o praktycznych zastosowaniach.

poniedziałek, kwietnia 20, 2009

Oracle buys Sun

No to teraz będą mieć trzy różne serwery aplikacyjne, dwie różne maszyny wirtualne i 2.5 ESB. Najważniejszym aspektem całego newsa jest to, że będą mieć system operacyjny i hardware, na którym najlepiej działa baza danych. Ultimate end user solution: SPARC + Solaris + Oracle 11g.

sobota, marca 21, 2009

Cloud Computing wg Sun-a

Sun ma fajny pomysł na chmurę. W kontenerach solarisowych stworzonych z szablonu dostępny może być Apache, MySQL, GlassFish, Ruby. Instancji kontenerów może być kilka i mogą być połączone wewnętrzną siecią. Dostęp do serwisów w kontenerach realizowany jest poprzez NAT (jeden publiczny adres IP + firewall). Wersjonowanie projektów zapewnia Mercurial. Backup jest na ZFS-ie. Na razie Kenai hostuje tylko sunowe projekty.

środa, marca 18, 2009

IBM chce kupić Sun-a

Takie przejęcia bynajmniej są możliwe, vide: Oracle i BEA. Co IBM by zrobił z Solarisem i JCAPSem?

wtorek, lipca 22, 2008

VisualVM od Sun-a













Dostępny w JDK 1.6.07 albo oddzielnie.

poniedziałek, czerwca 23, 2008

Ciekawostka

BEA AquaLogic Service Bus wykorzystuje komponenty z Sun Java Application Server.

niedziela, czerwca 22, 2008

Solaris 11 is coming

W pewnym momencie wszystkie buildy 8x Nevady (Solaris Express) przestały domyślnie instalować się na ZFS-ie, dodatkowo straciły instalator, który jest
w OpenSolarisie. W najnowszym snapshocie nv91 można wybrać na czym chcemy mieć rootfs.





Można wysnuć z tego wnioski, że Solaris 11 się stabilizuje i za jakiś czas będziemy mieli wersję produkcyjną.
Tymczasem narzędzia do zarządzania pakietami są chyba w wersji z OpenSolarisa - nie daje
się zainstalować Blastwave'a.

wtorek, marca 18, 2008

Solaris działa na AMD AHCI!

Hello,

This is Ying from Sun, and I'm working on the ahci driver.

As to the bug you filed on AMD SB600 ahci chipset, I think it's not
supposed to happen again on 82+ build since I removed the PxTFD.STS.BSY
check after COMINIT was received during port reset when JMicron ahci
chipset support was introduced in build 82.

Therefore, could you please have a try 82+ build and check whether the
bug is fix?

PS. I have a ASUS M2A-VM mother board, and build 85 works well on its
SB600 ahci chipset.

Thanks in advance!
- ying -