আমি একটি উইন্ডোজ সার্ভার 2012 সার্ভার চালাচ্ছি।
PostgreSQL 9.3.5, 64-বিট
পোস্টগিজ 2.1.3
কিউজিআইএস সার্ভার 2.6.1-2
কিউজিআইএস ডেস্কটপ 2.8.3 এবং 2.12
পোস্টগ্র্যাস্কেল ডাটাবেসে সঞ্চিত কিছু স্তর সম্পাদনা করতে আমি QGIS ডেস্কটপ ২.১২ ব্যবহার করে একটি মাইক্রোসফ্ট সারফেস প্রো 4 ট্যাবলেট ব্যবহার করছি। ট্যাবলেটের স্তরগুলি হ'ল কিউজিআইএস সার্ভার দ্বারা পরিবেশন করা ডাব্লুএফএস স্তরগুলি।
যখন আমি সার্ভারে ডেটা প্রেরণ ও সঞ্চয় করতে স্তরে কিছু তথ্য সন্নিবেশ করার পরে সম্পাদনা টোগল করি তখন কখনও কখনও ডেটাবেসে আপডেট হয় না।
আমি দেখতে পাচ্ছি যে পোস্ট পোস্টের অনুরোধটি সার্ভারে ঠিক আছে, তবে কখনও কখনও আমি ডেটাবেজে কোনও প্রতিশ্রুতি (আপডেট) দেখতে পাই না এবং কিছু সময় এটি ঠিক কাজ করে এবং প্রতিশ্রুতি দেয়।
কিউজিআইএস সার্ভারের লগগুলিতে আমি দেখতে পাই (কিউজিআইএস ডেস্কটপে আমি 3 টি বৈশিষ্ট্যগুলির ডেটা আপডেট করেছি):
//QGIS SERVER RECEIVED HTTP POST FROM QGIS DESKTOP
[4852][11:11:19] ********************new request*************** [4852][11:11:19] remote ip: 192.168.144.20 [4852][11:11:19] CONTENT_TYPE: text/xml [4852][11:11:19] HTTP_USER_AGENT: Mozilla/5.0 QGIS/2.8.2-Wien [4852][11:11:19] MAP:D:\OSGeo4W\apps\qgis\bin\alumbrado\alumbrado.qgs
[4852][11:11:19] REQUEST:Transaction
[4852][11:11:19] REQUEST_BODY:<Transaction xmlns="http://www.opengis.net/wfs"
xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance" version="1.0.0"
service="WFS" xsi:schemaLocation="http://www.qgis.org/gml
http://eudala2.getxo.net/qgis/qgis_mapserv.fcgi.exe?map=D:\OSGeo4W\apps\qgis\bin\alumbrado\alumbrado.qgs&SERVICE=WFS&VERSION=1.0.0&REQUEST=DescribeFeatureType&TYPENAME=getxo_alumbrado_arquetas_registros_cajas&SRSNAME=EPSG:23030"
xmlns:gml="http://www.opengis.net/gml"><Update
xmlns="http://www.opengis.net/wfs"
typeName="getxo_alumbrado_arquetas_registros_cajas"><Property
xmlns="http://www.opengis.net/wfs"><Name
xmlns="http://www.opengis.net/wfs">id_modelo</Name><Value
xmlns="http://www.opengis.net/wfs">0</Value></Property><Property
xmlns="http://www.opengis.net/wfs"><Name
xmlns="http://www.opengis.net/wfs">alumbrado</Name><Value
xmlns="http://www.opengis.net/wfs">t</Value></Property><Filter
xmlns="http://www.opengis.net/ogc"><FeatureId
xmlns="http://www.opengis.net/ogc"
fid="getxo_alumbrado_arquetas_registros_cajas.3"/></Filter></Update><Update
xmlns="http://www.opengis.net/wfs"
typeName="getxo_alumbrado_arquetas_registros_cajas"><Property
xmlns="http://www.opengis.net/wfs"><Name
xmlns="http://www.opengis.net/wfs">id_modelo</Name><Value
xmlns="http://www.opengis.net/wfs">0</Value></Property><Property
xmlns="http://www.opengis.net/wfs"><Name
xmlns="http://www.opengis.net/wfs">alumbrado</Name><Value
xmlns="http://www.opengis.net/wfs">t</Value></Property><Filter
xmlns="http://www.opengis.net/ogc"><FeatureId
xmlns="http://www.opengis.net/ogc"
fid="getxo_alumbrado_arquetas_registros_cajas.4"/></Filter></Update><Update
xmlns="http://www.opengis.net/wfs"
typeName="getxo_alumbrado_arquetas_registros_cajas"><Property
xmlns="http://www.opengis.net/wfs"><Name
xmlns="http://www.opengis.net/wfs">tipo</Name><Value
xmlns="http://www.opengis.net/wfs">A</Value></Property><Property
xmlns="http://www.opengis.net/wfs"><Name
xmlns="http://www.opengis.net/wfs">tipo_tapa</Name><Value
xmlns="http://www.opengis.net/wfs">B</Value></Property><Property
xmlns="http://www.opengis.net/wfs"><Name
xmlns="http://www.opengis.net/wfs">estado</Name><Value
xmlns="http://www.opengis.net/wfs">D</Value></Property><Property
xmlns="http://www.opengis.net/wfs"><Name
xmlns="http://www.opengis.net/wfs">p_tierra_tipo_electrodo_tierra</Name><Value
xmlns="http://www.opengis.net/wfs">O</Value></Property><Property
xmlns="http://www.opengis.net/wfs"><Name
xmlns="http://www.opengis.net/wfs">p_tierra_tipo_union_electrodo_tierra</Name><Value
xmlns="http://www.opengis.net/wfs">N</Value></Property><Property
xmlns="http://www.opengis.net/wfs"><Name
xmlns="http://www.opengis.net/wfs">p_tierra_estado_union_tierra</Name><Value
xmlns="http://www.opengis.net/wfs">D</Value></Property><Property
xmlns="http://www.opengis.net/wfs"><Name
xmlns="http://www.opengis.net/wfs">tipo_intervencion</Name><Value
xmlns="http://www.opengis.net/wfs">OTR</Value></Property><Property
xmlns="http://www.opengis.net/wfs"><Name
xmlns="http://www.opengis.net/wfs">m_codcalle</Name><Value
xmlns="http://www.opengis.net/wfs">20</Value></Property><Property
xmlns="http://www.opengis.net/wfs"><Name
xmlns="http://www.opengis.net/wfs">id_modelo</Name><Value
xmlns="http://www.opengis.net/wfs">0</Value></Property><Property
xmlns="http://www.opengis.net/wfs"><Name
xmlns="http://www.opengis.net/wfs">alumbrado</Name><Value
xmlns="http://www.opengis.net/wfs">t</Value></Property><Filter
xmlns="http://www.opengis.net/ogc"><FeatureId
xmlns="http://www.opengis.net/ogc"
fid="getxo_alumbrado_arquetas_registros_cajas.5"/></Filter></Update></Transaction>
[4852][11:11:19] SERVICE:WFS
[4852][11:11:19] SRSNAME:EPSG:23030
[4852][11:11:19] VERSION:1.0.0
[4852][11:11:22] Request finished in 2977 ms
ঠিক আছে, যখন আমি পোস্টগ্রিজএসকিউএল লগগুলিতে সন্ধান করি তখন দেখতে পাচ্ছি যে আপডেটটির একটি সম্পূর্ণ নুল ক্লজ রয়েছে, যা কিছুই আপডেট করে না ..
//POSTGRESQL UPDATE QUERIES
2016-01-29 11:11:22 CET LOG: 00000: sentencia: UPDATE "public"."getxo_alumbrado_arquetas_registros_cajas" SET "id_modelo"=0,"alumbrado"='t' WHERE NULL
2016-01-29 11:11:22 CET UBICACIÓN: exec_simple_query, src\backend\tcop\postgres.c:890
2016-01-29 11:11:22 CET LOG: 00000: sentencia: UPDATE "public"."getxo_alumbrado_arquetas_registros_cajas" SET "id_modelo"=0,"alumbrado"='t' WHERE NULL
2016-01-29 11:11:22 CET UBICACIÓN: exec_simple_query, src\backend\tcop\postgres.c:890
2016-01-29 11:11:22 CET LOG: 00000: sentencia: UPDATE "public"."getxo_alumbrado_arquetas_registros_cajas" SET "tipo"='A',"tipo_tapa"='B',"estado"='D',"p_tierra_tipo_electrodo_tierra"='O',"p_tierra_tipo_union_electrodo_tierra"='N',"p_tierra_estado_union_tierra"='D',"tipo_intervencion"='OTR',"m_codcalle"='20',"id_modelo"=0,"alumbrado"='t'
WHERE NULL
আমি পোস্টের ডেটাতে দেখতে পাচ্ছি যে কিউজিসআইএস সার্ভার জানে যে কোনও অভ্যন্তরীণ "ফিড" নম্বর ব্যবহার করে কোন বৈশিষ্ট্যটি আপডেট করা দরকার। অন্যদিকে আমার স্তরটিতে প্রাথমিক কী হিসাবে "আইডি" ক্ষেত্র রয়েছে। কোথাও কোথাও যখন এটি আমার লেয়ারের আইডিতে কিউজিআইএস অভ্যন্তরীণ ফিড থেকে ম্যাপিংটি হয়ে যায় এটি হারিয়ে যাচ্ছে এবং যেখানে আইডি = 1510 যুক্ত করার পরিবর্তে ক্যোয়ারীতে WHERE নাল যুক্ত করে।
মজার বিষয় হ'ল তারা 40 দিন ধরে কাজ করে যাচ্ছিল আরে কেবল এই সমস্যাটি একবারই পেয়েছিল তবে গত সপ্তাহ থেকে তারা প্রতিদিন এই সমস্যাটি নিয়েছিল ... তখন থেকে কখনও কখনও কাজ করে এবং কখনও কখনও তা হয় না। আমি ক্লায়েন্ট ইয়াসিং ফিডলস প্রক্সির পোস্ট পোস্টের অনুরোধটি পুনরায় পাঠান এবং একই HTTP পোস্টটি কখনও কখনও কাজ করে এবং অন্য সময় হয় না।
আমি এটি কিউআইজিআইএস ডেস্কটপ ২.৮, ২.১০ এবং ২.১২ এ পরীক্ষা করেছি এবং সেগুলির মধ্যেও ঘটে (কিউজিআইএস সার্ভারটি আমার মনে হয় ২. 2..১)। আমি একই ফলাফলের সাথে এটি বিভিন্ন স্তর দিয়েও পরীক্ষা করেছি।
আমি জানি না যে কোনও বাগ আছে বা স্তরটিতে কোনও ধরণের কনফিগার রয়েছে যা আমি সার্ভারে সঠিকভাবে করছি না ...
আপডেট 03/03/2016
আমি কিউজিআইএস সার্ভার এবং কিউজিআইএস ডেস্কটপগুলিতে 2.12.3 উভয় আপডেট করেছি এবং সমস্যাটি অব্যাহত রয়েছে।
অনেক দিন পরীক্ষার পরে অবশেষে খুঁজে পেলাম যখন সমস্যাটি দেখা দেয়। আমি যখন ঘটে তখন কিউজিআইএস-এর স্তরের সম্পাদনাগুলি সংরক্ষণ করি (ডাব্লুএফএস-টি এর মাধ্যমে) এবং একই সময়ে একটি লিজম্যাপ মানচিত্র অন্য ব্যবহারকারী দ্বারা লোড করা হচ্ছে। লিজম্যাপে কিউগিস-সার্ভারও ব্যবহার করা হয়।
দেখে মনে হচ্ছে কোনও মানচিত্র লোড করার সময়, লিজম্যাপ সার্ভারকে ব্যস্ত করে তোলে এবং যখন ডাব্লুএফএস-টি আপডেটের অনুরোধটি পুনরুদ্ধার করা হয়, তখন কিউজিআইএস সার্ভার সঠিকভাবে আপডেটের এসকিউএল কোয়েরি তৈরি করতে সক্ষম নয়। উদাহরণ:
ডাব্লুএফএস-টি পোস্ট পাওয়ার সময় যদি লিজম্যাপ লোডিং হয় তবে কিউগিস-সার্ভারে পোস্টগ্রাইএসকিউএল কোয়েরিটি হ'ল:
2016-03-03 11:47:30 CET LOG: 00000: sentencia: UPDATE "public"."getxo_alumbrado_tendido_canalizacion" SET "diametro"='22' WHERE NULL
অন্যদিকে, ডাব্লুএফএস-টি আসার পরে যদি কিগিস-সার্ভার কোনও লোডিং লিজম্যাপে ডেটা সরবরাহ না করে, পোস্টগ্রিএসকিউএল কোয়েরি উত্পন্ন হয়:
2016-03-03 11:46:21 CET LOG: 00000: sentencia: UPDATE "public"."getxo_alumbrado_tendido_canalizacion" SET "diametro"='111' WHERE "id"::text='1'
যেখানে অনুচ্ছেদে ডিফেরেন্সটি নোট করুন। প্রথমটি এটি কিছুই করে না। দ্বিতীয়টি ঠিক আছে।
আমি জানি না যে আমি এই সমস্যাটি সমাধানের জন্য কিগিস-সার্ভারের জন্য অ্যাপাচি বা কোনও কনফিগার ফাইল টিউন করতে পারি কিনা।
আমি সার্ভারের (4 টি কোর এবং 16 গিগাবাইট র্যাম) আরও কিছু হার্ডওয়্যার দেওয়ার চেষ্টা করেছি, যার কোনও ছাড় নেই।
আমি OSGEO4W ব্যবহার করে সমস্ত সফ্টওয়্যার আপডেট করছি। আইএ কোথাও পড়েছিল যে কয়েক বছর ধরে অ্যাপাচি এবং পিএইচপি প্যাকেজ আপডেট করা হয়নি। আমি সেগুলি ম্যানুয়ালি আপডেট করার চেষ্টা করব এবং যাচাই করে নেব যে অ্যাপাচি বা পিএইচপি সংস্করণ সমস্যার কারণ নয়।
আপডেট 16/03/2016
আমি অ্যাপাচি এবং পিএইচপি প্যাকেজ আপডেট করেছি এবং সমস্যাটি অব্যাহত রয়েছে। বেশ কয়েকটি পরীক্ষার পরে আমি দেখতে পেলাম যে আমি লিজম্যাপ মানচিত্রটি লোড করার সময় সংস্করণ পরিবর্তনগুলি (ডাব্লুএফএসের মাধ্যমে) সংরক্ষণ করি তবে সঞ্চয়টি ব্যর্থ হয়, তবে লিজম্যাপ লোডিং (নিম্ন ভলিউমে) না থাকলেও কিছু সময় ব্যর্থ হয়। এটি কিউজিআইএস সার্ভারে একটি সমস্যা (qgis_mapserv.fcgi.exe)।